[*] Binary protection state of libformatname.so

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


[*] Function printf tear down of libformatname.so

pop.w {r4, r5, r6, r7, r8, pc}
movs r4, 0
mov r0, r4
pop.w {r4, r5, r6, r7, r8, pc}
nop
str r1, [r0, 0x38]
bx lr
ldr r3, [r0, 0x38]
cmp r3, 0
it ne
cmpne r3, r1
it lo
movlo r1, 1
str r1, [r0, 0x34]
bx lr
ldr r0, [r0, 0x34]
bx lr
push {r4, lr}
mov r4, r0
ldr r0, [r0, 0x10]
blx sym.imp.__asprintf_chk
ldr r0, [r4, 4]
blx sym.imp.__asprintf_chk
ldr r0, [r4, 0xc]
blx sym.imp.__asprintf_chk
ldr r0, [r4, 8]
blx sym.imp.__asprintf_chk
ldr r0, [r4, 0x1c]
blx sym.imp.__asprintf_chk
ldr r0, [r4, 0x20]
blx sym.imp.__asprintf_chk
ldr r0, [r4, 0x18]
blx sym.imp.__asprintf_chk
ldr r0, [r4, 0x24]
blx sym.imp.__asprintf_chk
ldr r0, [r4, 0x28]
blx sym.imp.__asprintf_chk
ldr r0, [r4, 0x2c]
blx sym.imp.__asprintf_chk
ldr r0, [r4, 0x30]
blx sym.imp.__asprintf_chk
mov r0, r4
pop.w {r4, lr}
--
bl 0x18a8
cmp.w r8, 0
beq 0x1b60
mov r0, r8
blx sym.imp.g_key_file_load_from_file
str r0, [r4, 0x2c]
cmp r7, 0
beq 0x1b32
mov r0, r7
blx sym.imp.g_key_file_load_from_file
str r0, [r4, 0x30]
b 0x1b32
blx 0x174c
ldr r3, [r0]
cmp r3, 2
itt eq
moveq r3, 1
streq r3, [r4, 0x34]
beq 0x1b52
ldr r0, [r4, 0x10]
blx sym.imp.__asprintf_chk
str r5, [r4, 0x10]
b 0x1b1e
--
add r3, pc
add r2, pc
blx sym.imp.socket
ldr r3, [0x00001bec]
mov r2, sb
ldr r1, [0x00001c10]
ldr r6, [r6, r3]
add r1, pc
str r0, [r6]
ldr r0, [sp, 8]
bl 0x1838
mov sb, r0
cbz r0, 0x1bc2
ldr r1, [0x00001c14]
add.w r2, r4, 0x38
add r1, pc
blx sym.imp.__isoc99_fscanf
mov r0, sb
bl 0x18a8
ldr r0, [sp, 8]
blx sym.imp.__asprintf_chk
b 0x1ae2
ldr r2, [0x00001c18]
--
mov r1, r3
add r0, sp, 0x2c
str r2, [sp, 0x24]
strd sl, r7, [sp]
movs r2, 1
str r7, [sp, 0x20]
str.w sb, [sp, 0x1c]
str r7, [sp, 0x28]
str r0, [sp, 0xc]
blx 0x1648
ldr r0, [sp, 0xc]
mov r2, r7
add r1, sp, 0x24
blx 0x1704
cmp r0, 1
bne 0x2056
ldrb.w r3, [sb]
cmp r3, 0
bne 0x1fd8
b 0x1fec
blx sym.imp.__sprintf_chk
cmp r0, 0
beq 0x1fec
--
mov.w r3, 0
strb.w r3, [sl, r8]
bhs 0x21de
ldr r4, [r7, 0x50]
cmp r4, 0
beq.w 0x236a
blx sym.imp.tzset
ldr r3, [r4]
mov r0, r4
cmp r3, 0
ble.w 0x2378
add.w r5, r7, 0xc4
mov r1, r5
blx sym.imp.localtime_r
mov r4, r0
cbz r0, 0x21ee
ldr r1, [r7, 0x44]
mov r3, r5
mov r2, sl
mov r0, fp
blx sym.imp.snprintf
mov r4, r0
cbnz r0, 0x21ee
mov r1, sl
mov r0, fp
blx sym.imp.__vsnprintf_chk
b 0x21ec
ldr r3, [r7, 0x54]
ldrb r3, [r3, 1]
cmp r3, 0x74
beq.w 0x23aa
bhi 0x221c
cmp r3, 0
beq.w 0x23a4
cmp r3, 0x66
bne.w 0x2386
add.w r4, sb, 2
cmp r4, r6
blo.w 0x23f0
movs r3, 0
strb.w r3, [sl, r8]
movs r3, 0
mov r1, sl
mov r0, fp
strb.w r3, [sb]
blx sym.imp.__vsnprintf_chk
movs r4, 0
mov r0, sl
blx sym.imp.__asprintf_chk
ldr.w r2, [0x00002724]
ldr.w r3, [0x0000271c]
--
movs r3, 0
strb r3, [r5]
ldr r3, [r7, 0x50]
sub.w r1, sb, sl
mov r2, r5
mov r0, sb
str r3, [sp]
ldr r3, [r7, 0x3c]
adds r3, 1
str r3, [r7, 0x54]
ldr r3, [0x00002744]
add r3, pc
str r3, [sp, 4]
ldr r3, [r7, 0x44]
subs r1, r3, r1
ldr r3, [r7, 0x48]
bl formatstring_full
mov r4, r0
mov r0, r5
add r4, sb
blx sym.imp.__asprintf_chk
b 0x2128
ldr r3, [r7, 0x54]
--
mov r0, sb
vldr d16, [r5, 0x48]
adds r3, 2
add ip, pc
str r3, [r7, 0x54]
mov.w r3, -1
vstr d16, [sp, 8]
str.w ip, [sp]
blx 0x1648
b.w 0x2128
ldr r3, [r7, 0x48]
ldr r3, [r3, 0xc]
cmp r3, 0
bne.w 0x25dc
mov.w r0, 0x100
blx sym.imp.gethostname
str r0, [r7, 0x3c]
cmp r0, 0
beq.w 0x34be
movs r1, 0xff
blx sym.imp.__fprintf_chk
cmp r0, 0
ldr r3, [r7, 0x3c]
--
beq.w 0x35cc
ldr.w r2, [0x000033cc]
cmp r3, 0x50
add r2, pc
ldr r2, [r2, 0x14]
str r2, [r7, 0x20]
beq.w 0x31fe
ldr.w r3, [0x000033d0]
add r3, pc
ldr r4, [r3, 0x10]
cmp r4, 0
ble 0x2e7e
ldr.w r5, [0x000033d4]
movs r3, 0
str r6, [r7, 0x3c]
mov r6, r3
add r5, pc
add.w r2, r5, r6, lsl 3
adds r6, 1
ldr r0, [r2, 4]
blx sym.imp.__asprintf_chk
cmp r6, r4
blt 0x2e6c
ldr r6, [r7, 0x3c]
ldr.w r3, [0x000033d8]
add r3, pc
ldr r2, [r3, 0x14]
cmp r2, 0
ble 0x2eae
ldr.w r4, [0x000033dc]
str r6, [r7, 0x3c]
add r4, pc
add.w r5, r4, 0x30
movs r4, 0
mov r6, r4
mov r4, r2
add.w r2, r5, r6, lsl 3
adds r6, 1
ldr r0, [r2, 4]
blx sym.imp.__asprintf_chk
cmp r4, r6
bne 0x2e9c
--
blx sym.imp.__cxa_finalize
mov r1, r0
cmp r0, 0
bne 0x347a
ldr r4, [r4, 4]
mov r6, r8
ldr.w r8, [r7, 0x3c]
cmp r4, 0
beq.w 0x2e54
ldr r0, [r7, 0x30]
movs r2, 0xa
adds r0, 1
blx sym.imp.strtol
mov r2, r4
adds r3, r0, 1
movs r1, 1
ldr r0, [r7, 0x24]
blx sym.imp.socket
b 0x34f4
mov r0, r3
blx sym.imp.__asprintf_chk
ldr r3, [r7, 0x54]
mov r4, sb
--
add r2, pc
str r2, [r7, 0x10]
add r3, pc
mov r4, r3
b 0x374a
mov r6, r4
ldr r0, [r7, 0x10]
ldr r1, [r4], 8
blx sym.imp.__cxa_finalize
cmp r0, 0
beq 0x3802
adds r5, 1
ldr r3, [r7, 0x18]
cmp r3, r5
bgt 0x3738
mov r6, r8
mov r4, fp
b 0x361a
mov r0, r4
ldrd r8, fp, [r7]
blx sym.imp.__asprintf_chk
ldr r0, [r7, 0x20]
blx sym.imp.strtoul

[*] Function printf used 24 times libformatname.so