[*] Binary protection state of io2d

  
  	Full RELRO     Canary found      NX enabled   PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function printf tear down of io2d

mov r0, r4
add r7, pc
blx 0x4fbc
ldr r0, [r4, 8]
cbz r0, 0xf990
blx 0x50b8
ldr r6, [0x0000fa18]
blx 0x47d4
movs r1, 0
add r6, pc
str r0, [r6, 8]
mov r0, r5
blx 0x4a88
mov r4, r0
cbnz r0, 0xf9b8
mov r8, sp
ldr r0, [r6, 8]
mov r3, r8
mov r1, r5
movs r2, 1
blx sym.imp.__fprintf_chk
ldr r3, [sp]
cbnz r3, 0xf9de
--
mov r4, r0
ldr.w r3, [0x00010814]
add r2, pc
ldr r3, [r2, r3]
ldr r3, [r3]
str r3, [sp, 0x4c]
mov.w r3, 0
str r5, [sp, 0x3c]
blx sym.imp.g_datalist_clear
ldr.w r3, [0x00010818]
add r3, pc
str r3, [sp, 0x2c]
cmp r0, 0
beq.w 0x1063e
add.w r8, sp, 0x3c
blx 0x47d4
mov r1, r4
movs r2, 1
mov r3, r8
mov fp, r0
blx sym.imp.__fprintf_chk
mov r4, r0
cmp r0, 0
--
beq.w 0x10568
bl 0x8af8
str r0, [sp, 0x10]
cmp r0, 0
beq.w 0x106ba
ldr.w r1, [0x0001082c]
ldr r0, [r5, -0x4]
add r1, pc
blx 0x47b8
cmp r0, 0
bne.w 0x1053a
mov r0, r4
blx sym.imp.g_main_context_ref_thread_default
ldrb r3, [r4]
mov r1, r0
cmp r3, 0x22
itet eq
subeq r1, r0, 2
movne r0, r4
addeq r0, r4, 1
blx sym.imp.g_printf
mov sb, r0
mov r1, r0
--
adds r3, 8
cmp r2, r3
beq.w 0x10732
bl 0x8af8
ldr r1, [0x00010838]
mov sb, r0
ldr r0, [r5, -0x4]
add r1, pc
blx 0x47b8
cmp r0, 0
bne.w 0x1059e
mov r0, r4
blx sym.imp.g_main_context_ref_thread_default
ldrb r3, [r4]
mov r1, r0
cmp r3, 0x22
itet eq
subeq r1, r0, 2
movne r0, r4
addeq r0, r4, 1
blx sym.imp.g_printf
mov r1, r0
str r0, [sp, 0x10]
--
mov r7, r2
ldr r2, [0x00010a48]
sub sp, 0x34
mov r6, r1
mov r4, r0
ldr r3, [0x00010a4c]
add r2, pc
str r1, [sp, 0x18]
ldr r3, [r2, r3]
ldr r3, [r3]
str r3, [sp, 0x2c]
mov.w r3, 0
blx 0x47d4
mov r8, r0
blx 0x47d4
mov r3, r7
mov sb, r0
movs r2, 1
mov r1, r4
mov r0, r8
blx sym.imp.__fprintf_chk
cmp r0, 0
beq 0x109ec
mov r3, r7
movs r2, 1
mov r1, r6
mov r0, sb
blx sym.imp.__fprintf_chk
mov r5, r0
cmp r0, 0
--
str r0, [r4, 0x30]
pop {r4, r5, r6, pc}
blx 0x4e04
movs r3, 0
str r3, [r4, 0x30]
pop {r4, r5, r6, pc}
mov r0, r5
bl 0x7848
ldrd r3, r2, [r4, 0x28]
cmp r0, 0
it eq
moveq r3, r2
ldr r0, [r3, 0xc]
blx 0x4894
blx 0x46f0
ldr r3, [0x00012e6c]
movs r1, 8
str r0, [r4]
ldr r2, [r6, r3]
mov r3, r5
blx sym.imp.g_snprintf
str r0, [r4, 4]
ldr r4, [r5, 8]
--
blx 0x4e04
ldr r0, [r6]
str r4, [r6, 8]
blx 0x5010
str r4, [r6]
pop {r3, r4, r5, r6, r7, pc}
mov r5, r0
bl 0x7848
ldrd r3, r2, [r6, 0x4c]
cmp r0, 0
it eq
moveq r3, r2
ldr r0, [r3, 0xc]
blx 0x4894
blx 0x46f0
ldr r2, [0x00013adc]
mov r3, r5
str r0, [r6]
movs r1, 8
ldr r2, [r7, r2]
blx sym.imp.g_snprintf
str r0, [r6, 8]
pop {r3, r4, r5, r6, r7, pc}
--
cmp r3, 0
beq 0x13aea
mov r4, r1
ldr r0, [r6, 0xc]
blx 0x4e04
ldr r0, [r6, 4]
str r4, [r6, 0xc]
blx 0x5010
str r4, [r6, 4]
pop {r4, r5, r6, pc}
movs r3, 4
mov r5, r0
str r3, [r6, 0x60]
ldr r0, [r6, 0x28]
blx 0x46f0
ldr r2, [0x00013b24]
mov r3, r5
movs r1, 1
str r0, [r6, 4]
add r2, pc
blx sym.imp.g_snprintf
str r0, [r6, 0xc]
pop {r4, r5, r6, pc}
--
add r0, pc
adds r0, 8
blx sym.imp.strtoul
mov r0, r4
pop.w {r3, r4, r5, r6, r7, lr}
b.w 0x15de0
mov r0, r4
bl 0x7848
ldrd r3, r2, [r5, 0x7c]
cmp r0, 0
it eq
moveq r3, r2
ldr r0, [r3, 0xc]
blx 0x4894
blx 0x46f0
ldr r3, [0x00016bac]
movs r1, 8
str r0, [r5]
ldr r2, [r6, r3]
mov r3, r4
blx sym.imp.g_snprintf
str r0, [r5, 8]
b 0x16ad4
--
mov r1, r7
ldr r0, [r6]
blx 0x47b8
cmp r0, 0
bne 0x16b64
ldr r3, [r6, 0x10]
ldr r2, [r6, 8]
adds r3, 1
str r3, [r6, 0x10]
cbz r2, 0x16b88
ldr r3, [r6, 0xc]
cmp r3, 0
bne 0x16b10
ldr r0, [r6, 4]
blx 0x46f0
ldr r2, [0x00016bb0]
mov r3, r4
movs r1, 1
str r0, [r6, 8]
add r2, pc
blx sym.imp.g_snprintf
str r0, [r6, 0xc]
b 0x16b10
--
pop {r3, r4, r5, pc}
nop
push {r4, r5, r6, lr}
mov r6, r0
ldr r4, [r0, 8]
bl 0x7848
ldrd r3, r2, [r4, 4]
ldr r5, [0x00017750]
cmp r0, 0
it eq
moveq r3, r2
ldr r0, [r3, 0xc]
add r5, pc
blx 0x4894
blx 0x46f0
ldr r2, [0x00017754]
mov r3, r6
str r0, [r4, 0x10]
movs r1, 8
ldr r2, [r5, r2]
blx sym.imp.g_snprintf
str r0, [r4, 0x14]
pop {r4, r5, r6, pc}

[*] Function printf used 12 times io2d