[*] Binary protection state of libimpl_wsd_tds.so

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


[*] Function printf tear down of libimpl_wsd_tds.so

str.w sb, [sp, 0xc]
str r6, [sp, 8]
add.w fp, fp, 4
add r2, pc
mov r6, sl
mov sb, r3
mov sl, r8
mov r8, r2
b 0x5e62
ldr.w r2, [fp, r6, lsl 3]
cmp r2, 0x20
beq 0x5eaa
str.w r5, [r7, r4, lsl 2]
adds r4, 1
adds r6, 1
cmp sl, r6
beq 0x5ee8
ldr.w r2, [fp, r6, lsl 3]
mov r0, r8
ldr.w r1, [sb, r6, lsl 3]
blx sym.imp.g_strdup_printf
mov r5, r0
blx 0x557c
--
mov.w fp, 0
ldr.w sl, [0x00006008]
str r6, [sp]
mov r6, fp
add.w r8, r3, 4
mov fp, sb
add sl, pc
mov sb, r3
b 0x5f20
ldr.w r2, [r8, r6, lsl 3]
cmp r2, 0x80
beq 0x5f4c
str.w r5, [r7, r4, lsl 2]
adds r4, 1
adds r6, 1
cmp fp, r6
beq 0x5f80
ldr.w r2, [r8, r6, lsl 3]
mov r0, sl
ldr.w r1, [sb, r6, lsl 3]
blx sym.imp.g_strdup_printf
mov r5, r0
blx 0x557c
--
ldr r1, [0x00006420]
mov r4, r0
mov r2, r7
mov r0, r6
add r1, pc
blx 0x55ec
ldr.w r1, [r8]
add r0, r4
rsb.w r7, r0, 0xa
cmp.w r0, -1
it ne
cmpne r1, r7
ite gt
movgt r7, 1
movle r7, 0
bgt.w 0x61b2
ldr.w r0, [r8, 4]
blx 0x5628
cmp r0, 0
beq.w 0x6196
blx sym.imp.g_snprintf
ldr.w r6, [r8]
mov r4, r0
--
mov r5, r0
add r2, pc
ldr r1, [0x000069b8]
ldr r3, [r2, r3]
add r1, pc
ldr r3, [r3]
str r3, [sp, 0x7c]
mov.w r3, 0
strd r6, r6, [sp, 0x54]
blx sym.imp.wssecurity_uh_allowed_access
cmp r0, 0
beq.w 0x694a
cmp r4, 0
beq.w 0x6958
ldr r3, [r4, 4]
mov r2, r6
mov r1, r6
mov r0, r6
str r3, [sp]
mov r3, r6
blx sym.imp.g_string_append_printf
cmp r0, 0
bne.w 0x692e
--
b 0x9070
ldr r4, [sp, 0x1f0]
movs r1, r0
lsls r0, r3, 0x12
movs r0, r0
ldrb r4, [r6, 0x14]
movs r0, r0
ldr r2, [sp, 0x290]
movs r1, r0
push {r4, r5, r6, lr}
mov r6, r1
mov r4, r2
blx sym.imp.g_dbus_connection_call_finish
cbz r0, 0x95dc
ldr r2, [0x000095e4]
mov r1, r4
mov r3, r0
mov r5, r0
mov r0, r6
add r2, pc
blx sym.imp.snprintf
cmp r0, r4
ite lo
--
ldr r0, [sp, 0x38]
blx sym.imp.cert_msg_destroy
ldr r2, [0x00009e18]
ldr r3, [0x00009e10]
add r2, pc
ldr r3, [r2, r3]
ldr r2, [r3]
ldr r3, [sp, 0x3c]
eors r2, r3
mov.w r3, 0
bne.w 0x9e08
mov r0, r4
add sp, 0x40
pop.w {r4, r5, r6, r7, r8, pc}
ldr r3, [r4, 4]
mov r2, r5
mov r1, r5
mov r0, r5
str r3, [sp]
mov r3, r5
blx sym.imp.g_string_append_printf
mov r8, r0
cmp r0, 0
--
mov r2, r0
movs r1, 0xd
mov r0, r4
blx sym.imp.soap_fault_generic
movs r0, 0xc
pop {r4, pc}
ldr r2, [r1, 0x70]
movs r0, r0
ldr r1, [0x0000a180]
push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, 0xc
mov sl, r0
mov sb, r2
add r1, pc
blx sym.imp.wssecurity_uh_allowed_access
cmp r0, 0
beq.w 0xa144
ldr r6, [0x0000a184]
movs r7, 0
ldr r4, [0x0000a188]
blx sym.imp.g_snprintf
ldr r1, [0x0000a18c]
add r6, pc
--
blx 0x5764
str r0, [sp, 4]
cmp r0, 0
bne.w 0xbbce
ldr r0, [sp, 0x10]
blx 0x55f8
str r0, [sp, 8]
cmp r0, 0
beq.w 0xbc5a
cmp.w sb, 0
ble 0xbaf2
ldr r3, [0x0000bd14]
mov r5, r7
movs r6, 0
str.w sl, [sp, 0xc]
add r3, pc
mov fp, r3
ldr r2, [r5, 4]
mov r0, fp
ldr.w r1, [r7, r6, lsl 3]
blx sym.imp.g_strdup_printf
mov r4, r0
blx 0x557c
--
ldr r2, [sp, 0x10]
ldr.w r3, [r2, sl]
cmp r3, 0
beq.w 0xbc8c
adds r6, 1
adds r5, 8
cmp sb, r6
bne 0xba70
ldr.w sl, [sp, 0xc]
cmp.w sl, 0
ble 0xbb88
ldr.w fp, [sp]
movs r6, 0
ldr r7, [0x0000bd18]
str.w sb, [sp]
mov r5, fp
add r7, pc
ldr r2, [r5, 4]
mov r0, r7
ldr.w r1, [fp, r6, lsl 3]
blx sym.imp.g_strdup_printf
mov r4, r0
blx 0x557c
--
cmp r3, 0
bne.w 0xc1d4
ldr r3, [sp, 0x14]
mov r2, r4
ldr.w r1, [0x0000c27c]
mov r0, fp
str r3, [sp]
add r3, sp, 0x34
add r1, pc
blx sym.imp.g_key_file_get_string_list
ldr r3, [sp, 0x2c]
str r0, [sp, 0xc]
str r3, [sp, 0x18]
cmp r3, 0
bne.w 0xc1fc
movs r1, 1
movs r2, 4
mov r0, r1
blx sym.imp.g_array_new
str r0, [sp, 0x10]
blx sym.imp.g_snprintf
cmp.w r8, 0
mov sb, r0
--
add r2, pc
ldr r3, [r2, r3]
ldr r2, [r3]
ldr r3, [sp, 0xc]
eors r2, r3
mov.w r3, 0
bne 0xddf6
add sp, 0x14
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r3, [r4, 8]
add r1, sp, 4
mov r0, r3
blx sym.imp.wsd_parse_xsd_duration
cmp r0, 0
bne 0xdd24
ldr r1, [sp, 4]
cmp r1, 0
blt 0xdd24
ldr r0, [0x0000de24]
add r0, pc
blx sym.imp.g_strdup_printf
mov r4, r0
mov r1, r0
--
lsls r0, r0, 2
blx sym.imp.net_device_ipv4_config_array_free
cmp.w r8, 0
mov r6, r0
ble.w 0xe0f2
ldr.w fp, [0x0000e104]
movs r4, 0
mov r5, r4
add.w sl, r7, 4
mov sb, r4
add fp, pc
b 0xdf6e
add.w sb, sb, 1
str.w r4, [r6, r5, lsl 2]
cmp sb, r8
add.w r5, r5, 1
beq 0xdfa2
ldr.w r1, [r7, sb, lsl 3]
mov r0, fp
ldr.w r2, [sl, sb, lsl 3]
blx sym.imp.g_strdup_printf
mov r4, r0
blx 0x557c
--
bne 0xdf6e
ldr r3, [sp, 8]
cmp r3, 0
ble 0xe0a6
ldr r3, [sp, 4]
mov.w sl, 0
ldr.w r8, [0x0000e108]
ldr.w fp, [sp, 8]
adds r7, r3, 4
mov sb, r3
add r8, pc
b 0xdfcc
str.w r4, [r6, r5, lsl 2]
adds r5, 1
add.w sl, sl, 1
cmp fp, sl
ble 0xe0a6
ldr.w r1, [sb, sl, lsl 3]
mov r0, r8
ldr.w r2, [r7, sl, lsl 3]
blx sym.imp.g_strdup_printf
mov r4, r0
blx 0x557c
--
cmp lr, sb
movs r1, r0
lsls r0, r3, 0x12
movs r0, r0
adds r3, 0x86
movs r0, r0
add ip, r8
movs r1, r0
invalid
push {r4, r5, r6, lr}
mov r6, r1
mov r4, r2
blx sym.imp.g_dbus_connection_call_finish
cbz r0, 0xe978
ldr r2, [0x0000e980]
mov r1, r4
mov r3, r0
mov r5, r0
mov r0, r6
add r2, pc
blx sym.imp.snprintf
cmp r0, r4
ite lo
--
cmp r3, 0
beq.w 0xf48c
ldr r4, [0x0000f610]
ldr r2, [0x0000f614]
ldr r1, [0x0000f618]
add r4, pc
add r2, pc
mov r0, r4
add r1, pc
blx 0x55ec
adds r3, r0, 1
beq.w 0xf45a
ldr r1, [r5]
rsb.w r0, r0, 0xa
cmp r1, r0
bgt 0xf45a
ldr r0, [r5, 4]
blx 0x5628
cmp r0, 0
beq.w 0xf49c
blx sym.imp.g_snprintf
ldr r3, [r5]
mov r6, r0

[*] Function printf used 15 times libimpl_wsd_tds.so