[*] Binary protection state of libimpl_wsd_tds.so

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


[*] Function strcpy tear down of libimpl_wsd_tds.so

movs r1, 0x30
mov r0, r4
blx sym.imp.xsoap_malloc0
str r0, [r6, 8]
movs r0, 0
blx sym.imp.wsd_util_event_xaddr_path
mov fp, r0
mov sb, r7
blx 0x58f0
ldr r3, [sp, 0x28]
adds r1, r3, 1
ldr r3, [r6, 8]
add r1, r0
mov r0, r4
str r3, [sp, 0x20]
blx 0x57dc
mov r1, sl
mov r7, r0
blx sym.imp.stpcpy
mov r1, fp
blx sym.imp.strcpy
ldr r3, [sp, 0x20]
str r7, [r3]
--
beq 0x7496
movs r1, 0x1c
mov r0, r4
blx sym.imp.xsoap_malloc0
str r0, [r6, 0xc]
movs r0, 0
blx sym.imp.wsd_util_imaging_xaddr_path
mov fp, r0
blx 0x58f0
ldr r3, [sp, 0x28]
adds r1, r3, 1
ldr r3, [r6, 0xc]
add r1, r0
mov r0, r4
str r3, [sp, 0x20]
blx 0x57dc
mov r1, sl
mov r7, r0
blx sym.imp.stpcpy
mov r1, fp
blx sym.imp.strcpy
ldr r3, [sp, 0x20]
str r7, [r3]
--
cmp r7, 0
bne 0x7496
movs r1, 0x24
mov r0, r4
blx sym.imp.xsoap_malloc0
str r0, [r6, 0x14]
movs r0, 0
blx sym.imp.wsd_util_ptz_xaddr_path
mov r7, r0
blx 0x58f0
ldr r1, [sp, 0x28]
ldr r6, [r6, 0x14]
adds r1, 1
add r1, r0
mov r0, r4
blx 0x57dc
mov r1, sl
mov r4, r0
blx sym.imp.stpcpy
mov r1, r7
blx sym.imp.strcpy
str r4, [r6]
ldr r2, [0x000077cc]
--
strd r5, r5, [sp, 0x20]
movs r1, 0x30
mov r0, r4
blx sym.imp.xsoap_malloc0
str r0, [r6, 4]
movs r0, 0
blx sym.imp.wsd_util_device_xaddr_path
mov fp, r0
blx 0x58f0
ldr r3, [sp, 0x28]
adds r1, r3, 1
ldr r3, [r6, 4]
add r1, r0
mov r0, r4
str r3, [sp, 0x2c]
blx 0x57dc
mov r1, sl
mov sb, r0
blx sym.imp.stpcpy
mov r1, fp
blx sym.imp.strcpy
ldr r3, [sp, 0x2c]
movs r1, 0x2c
--
str r3, [sp, 0x20]
movs r1, 0x2c
mov r0, r4
blx sym.imp.xsoap_malloc0
str r0, [r6]
movs r0, 0
blx 0x57f4
mov sb, r0
blx 0x58f0
ldr r3, [sp, 0x28]
ldr r2, [r6]
adds r1, r3, 1
add r1, r0
mov r0, r4
str r2, [sp, 0x30]
blx 0x57dc
mov r1, sl
str r0, [sp, 0x2c]
blx sym.imp.stpcpy
mov r1, sb
blx sym.imp.strcpy
ldrd r3, r2, [sp, 0x2c]
ldr r0, [0x000077ec]
--
blx 0x56a4
ldr.w r3, [sb]
cmp r3, r5
ble 0xa32c
ldr.w r1, [r8]
add.w r3, r5, r5, lsl 1
ldr r2, [sp, 0xc]
lsl.w sl, r3, 4
ldr.w r4, [r1, r5, lsl 2]
ldr r2, [r2]
ldr r0, [r4]
add.w r6, r2, sl
str r2, [sp, 4]
blx 0x58f0
adds r1, r0, 1
mov r0, r7
blx 0x57dc
ldr r2, [sp, 4]
str.w r0, [r2, sl]
ldr r1, [r4]
blx sym.imp.strcpy
ldr r3, [sp, 8]
cmp r3, 0
--
mov.w r3, 0
bne 0xa384
movs r0, 1
add sp, 0x124
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
movs r1, 4
mov r0, r7
blx 0x57dc
str r0, [r6, 8]
str r0, [sp, 4]
ldr r0, [r4, 0xc]
blx 0x58f0
adds r1, r0, 1
mov r0, r7
blx 0x57dc
ldr r3, [sp, 4]
str r0, [r3]
ldr r3, [r6, 8]
ldr r1, [r4, 0xc]
ldr r0, [r3]
blx sym.imp.strcpy
ldr r0, [r4, 0xc]
blx 0x56a4
--
beq.w 0xc16e
ldr r3, [sp, 8]
movs r7, 0
mov r8, r7
subs r4, r3, 4
b 0xbe92
ldr r3, [sp, 0x30]
add.w r8, r8, 1
cmp r8, r3
bhs 0xbec0
ldr r1, [r6]
ldr r0, [r4, 4]!
blx sym.imp.g_hash_table_new
cmp r0, 0
bne 0xbe88
ldrd r2, r3, [r5]
add.w r8, r8, 1
ldr r1, [r4]
movs r7, 1
ldr.w r0, [r3, r2, lsl 2]
blx sym.imp.strcpy
ldr r3, [r5]
adds r3, 1
--
ldr r3, [sp, 0x34]
cbz r3, 0xbf06
ldr r3, [sp, 0xc]
mov.w r8, 0
subs r4, r3, 4
b 0xbed8
ldr r3, [sp, 0x34]
add.w r8, r8, 1
cmp r8, r3
bhs 0xbf06
ldr r1, [r6]
ldr r0, [r4, 4]!
blx sym.imp.g_hash_table_new
cmp r0, 0
bne 0xbece
ldrd r2, r3, [r5]
add.w r8, r8, 1
ldr r1, [r4]
movs r7, 1
ldr.w r0, [r3, r2, lsl 2]
blx sym.imp.strcpy
ldr r3, [r5]
adds r3, 1

[*] Function strcpy used 9 times libimpl_wsd_tds.so