[*] Binary protection state of libpacsio-businesslogic.so.0.0.55

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


[*] Function printf tear down of libpacsio-businesslogic.so.0.0.55

movs r1, 0x80
ldr.w r8, [sp, 0x50]
ldr r3, [r2, r3]
ldr r2, [0x0000b9f8]
add sb, pc
mov r0, sb
ldr.w sl, [0x0000b9fc]
ldr r3, [r3]
str r3, [sp, 0x24]
mov.w r3, 0
ldr r3, [0x0000ba00]
add r2, pc
add sl, pc
add r3, pc
adds r3, 0xc0
blx 0x88fc
movs r0, 0x60
blx sym.imp.se_utils_secure_element_available
mov r4, r0
mov r0, r6
blx sym.imp.g_strdup_printf
str r7, [r4, 8]
mov r7, r0
--
movs r0, r0
bhs 0xba54
movs r0, r0
stm r4!, {r2, r4, r5, r6, r7}
movs r0, r0
push {r3, r4, r5, lr}
mov r4, r0
ldr r3, [0x0000baac]
mov r5, r1
movs r1, 0x80
ldr r2, [0x0000bab0]
ldr r0, [0x0000bab4]
add r3, pc
adds r3, 0xd0
add r2, pc
add r0, pc
blx 0x88fc
ldr r0, [r4]
blx 0x74c4
mov r0, r5
blx sym.imp.g_strdup_printf
str r0, [r4]
ldr r0, [r4, 0x34]
--
mov r6, r2
ldr r2, [0x0000efe4]
mov r5, r3
sub sp, 0x24
mov r7, r1
ldr r3, [0x0000efe8]
mov r8, r0
add r2, pc
ldr.w fp, [sp, 0x4c]
ldr.w sb, [sp, 0x48]
movs r0, 0xb8
ldr r3, [r2, r3]
ldr.w sl, [sp, 0x50]
ldr r3, [r3]
str r3, [sp, 0x1c]
mov.w r3, 0
blx sym.imp.se_utils_secure_element_available
mov r4, r0
str.w fp, [r0, 0x1c]
mov r0, r7
blx sym.imp.g_strdup_printf
str r6, [r4, 4]
str r0, [r4]
--
str r0, [r4, 8]
blx 0x88c4
str.w r0, [r4, 0xac]
movs r0, 0
blx 0x785c
str r0, [r4, 0x48]
blx 0x89e0
mov r1, r0
mov r0, r7
blx 0x8268
mov r1, r5
movs r5, 1
mov r3, r6
mov r2, r8
str r5, [sp]
movs r5, 0
blx sym.imp.json_array_get_element
str r0, [r4, 0x7c]
blx sym.imp.interface_message_reply_new_failure
str.w r0, [r4, 0x80]
blx sym.imp.g_strdup_printf
ldr.w r0, [r4, 0x80]
blx sym.imp.g_object_ref
str.w r0, [r4, 0x84]
blx sym.imp.g_strdup_printf
ldr.w r0, [r4, 0x80]
mov r1, r5
--
movs r0, r0
ldr r2, [0x0000f294]
ldr r3, [0x0000f298]
push {r4, r5, r6, lr}
sub sp, 0x10
add r2, pc
ldr r3, [r2, r3]
ldr r3, [r3]
str r3, [sp, 0xc]
mov.w r3, 0
cmp r0, 0
beq 0xf1c0
mov r4, r0
mov r0, r1
mov r5, r1
blx 0x7de4
mov r6, r0
ldr r0, [r4]
blx 0x74c4
mov r0, r5
blx sym.imp.g_strdup_printf
str r0, [r4]
mov r0, r4
--
add r2, pc
ldr.w fp, [0x0001008c]
mov sb, r0
ldr r3, [r2, r3]
movs r6, 0
ldr r2, [0x00010090]
add r5, pc
adds r5, 0x20
add fp, pc
ldr r3, [r3]
str r3, [sp, 0xc]
mov.w r3, 0
mov r0, fp
mov r3, r5
add r2, pc
blx 0x88fc
movs r0, 0x2c
blx sym.imp.se_utils_secure_element_available
mov r4, r0
mov r0, sl
blx sym.imp.g_strdup_printf
ldr r1, [0x00010094]
mov r2, r6
strd r0, r8, [r4]
ldr r0, [0x00010098]
add r1, pc
str r7, [r4, 8]
add r0, pc
blx sym.imp.domain_osdp_get_keytype
str r0, [r4, 0x28]
blx 0x89e0
mov r1, r0
mov r0, sl
blx 0x8268
mov r1, r7
movs r7, 1
mov r3, r8
mov r2, sb
str r7, [sp]
blx sym.imp.json_array_get_element
str r0, [r4, 0x1c]
blx sym.imp.interface_message_reply_new_failure
str r0, [r4, 0x20]
blx sym.imp.g_strdup_printf
ldr r0, [r4, 0x20]
blx sym.imp.g_object_ref
str r0, [r4, 0x24]
blx sym.imp.g_strdup_printf
ldr r0, [r4, 0x20]
mov r1, r6
--
movs r0, r0
add r0, sp, 0x3e8
movs r0, r0
b 0xff3c
movs r0, r0
push {r3, r4, r5, lr}
mov r4, r0
ldr r3, [0x000100f0]
mov r5, r1
movs r1, 0x80
ldr r2, [0x000100f4]
ldr r0, [0x000100f8]
add r3, pc
adds r3, 0x34
add r2, pc
add r0, pc
blx 0x88fc
ldr r0, [r4]
blx 0x74c4
mov r0, r5
blx sym.imp.g_strdup_printf
str r0, [r4]
mov r0, r4
--
strb r2, [r3, 0x1b]
movs r0, r0
push.w {r4, r5, r6, r7, r8, sb, lr}
mov r6, r2
ldr r2, [0x00010a1c]
mov r5, r3
sub sp, 0x1c
mov r7, r1
ldr r3, [0x00010a20]
mov sb, r0
add r2, pc
ldr.w r8, [sp, 0x38]
movs r0, 0x5c
ldr r3, [r2, r3]
ldr r3, [r3]
str r3, [sp, 0x14]
mov.w r3, 0
blx sym.imp.se_utils_secure_element_available
mov r4, r0
mov r0, r7
blx sym.imp.g_strdup_printf
str r6, [r4, 4]
str r0, [r4]
add.w r0, r4, 0x1c
str r5, [r4, 0x2c]
str.w r8, [r4, 0x58]
blx 0x79a0
blx 0x89e0
mov r1, r0
mov r0, r7
blx 0x8268
mov r1, r5
movs r5, 1
mov r3, r6
mov r2, sb
str r5, [sp]
movs r5, 0
blx sym.imp.json_array_get_element
str r0, [r4, 0x48]
blx sym.imp.interface_message_reply_new_failure
str r0, [r4, 0x4c]
blx sym.imp.g_strdup_printf
ldr r0, [r4, 0x4c]
blx sym.imp.g_object_ref
str r0, [r4, 0x50]
blx sym.imp.g_strdup_printf
ldr r0, [r4, 0x48]
blx sym.imp.domain_osdp_get_key
--
cmp r0, 0
beq 0x10c08
mov r4, r0
mov r6, r1
ldr r0, [r0]
blx 0x87e4
mov r8, r0
ldr r0, [r4]
blx 0x7304
mov r5, r0
ldr r0, [r4]
blx 0x7ed8
mov sb, r0
ldr r0, [r4]
blx 0x8208
blx 0x7550
mov r7, r0
ldr r0, [r4]
blx 0x74c4
mov r0, r6
blx sym.imp.g_strdup_printf
mov r1, r5
str r0, [r4]
--
mov r6, r3
sub sp, 0x24
mov r8, r1
ldr r3, [0x00012264]
mov sb, r0
add r2, pc
ldr.w sl, [0x00012268]
movs r0, 0x5c
movs r5, 0
ldr r3, [r2, r3]
add sl, pc
ldr.w fp, [0x0001226c]
ldr r3, [r3]
str r3, [sp, 0x1c]
mov.w r3, 0
blx sym.imp.se_utils_secure_element_available
mov r4, r0
str.w sl, [r0, 0x38]
mov r0, r8
add fp, pc
blx sym.imp.g_strdup_printf
str r5, [r4, 0x20]
str r0, [r4]
--
movs r0, r0
ldrb r6, [r1, r2]
movs r0, r0
stm r5!, {r5, r6}
movs r0, r0
push {r3, r4, r5, lr}
mov r4, r0
ldr r3, [0x00012318]
mov r5, r1
movs r1, 0x80
ldr r2, [0x0001231c]
ldr r0, [0x00012320]
add r3, pc
adds r3, 0x94
add r2, pc
add r0, pc
blx 0x88fc
ldr r0, [r4]
blx 0x74c4
mov r0, r5
blx sym.imp.g_strdup_printf
str r0, [r4]
ldr r0, [r4, 0x3c]
--
ldrh r0, [r0, r2]
movs r0, r0
push.w {r4, r5, r6, r7, r8, lr}
mov r5, r2
ldr r2, [0x00012538]
mov r7, r3
sub sp, 0x10
mov r6, r1
ldr r3, [0x0001253c]
mov r8, r0
add r2, pc
movs r0, 0x14
ldr r3, [r2, r3]
ldr r3, [r3]
str r3, [sp, 0xc]
mov.w r3, 0
blx sym.imp.se_utils_secure_element_available
mov r4, r0
str r5, [r0, 4]
mov r0, r6
blx sym.imp.g_strdup_printf
str r0, [r4]
blx 0x89e0
mov r1, r0
mov r0, r6
blx 0x8268
mov r3, r5
movs r5, 1
mov r2, r8
mov r1, r7
str r5, [sp]
movs r5, 0
blx sym.imp.json_array_get_element
str r0, [r4, 8]
blx sym.imp.interface_message_reply_new_failure
str r0, [r4, 0xc]
blx sym.imp.g_strdup_printf
ldr r0, [r4, 0xc]
blx sym.imp.g_object_ref
str r0, [r4, 0x10]
blx sym.imp.g_strdup_printf
ldr r0, [r4, 0xc]
mov r1, r5
--
ldr r0, [r4, 0xc]
movs r3, 0
str r3, [r4, 0xc]
cbz r0, 0x1258c
blx 0x74c4
ldr r0, [r4, 8]
movs r3, 0
str r3, [r4, 8]
cbz r0, 0x12598
blx 0x74c4
mov r0, r4
pop.w {r4, lr}
b.w 0x7208
nop
push {r3, r4, r5, lr}
mov r4, r0
mov r5, r1
ldr r0, [r0]
blx 0x74c4
mov r0, r5
blx sym.imp.g_strdup_printf
str r0, [r4]
ldr r0, [r4, 8]
--
movs r0, r0
push.w {r4, r5, r6, r7, r8, lr}
mov r5, r2
ldr r4, [0x000138e0]
mov r8, r0
sub sp, 8
mov r6, r1
ldr r2, [0x000138e4]
movs r1, 0x80
ldr r0, [0x000138e8]
add r4, pc
mov r7, r3
add.w r3, r4, 0x1dc
add r2, pc
add r0, pc
blx 0x88fc
movs r0, 0x34
blx sym.imp.se_utils_secure_element_available
mov r4, r0
mov r0, r6
blx sym.imp.g_strdup_printf
strd r0, r5, [r4]
blx 0x89e0
mov r1, r0
mov r0, r6
blx 0x8268
mov r3, r5
movs r5, 1
mov r2, r8
mov r1, r7
str r5, [sp]
movs r5, 0
blx sym.imp.json_array_get_element
str r0, [r4, 0x10]
blx sym.imp.interface_message_reply_new_failure
str r0, [r4, 0x14]
blx sym.imp.g_strdup_printf
ldr r0, [r4, 0x14]
blx sym.imp.g_object_ref
str r0, [r4, 0x18]
blx sym.imp.g_strdup_printf
mov r1, r5
ldr r0, [r4, 0x14]
--
ldr.w sl, [0x00013c3c]
add r6, pc
add r5, pc
mov r2, r6
mov r0, r5
ldr r3, [r3]
str r3, [sp, 0x2c]
mov.w r3, 0
add.w r3, r7, 0x20c
add sl, pc
blx 0x88fc
movs r0, 0x50
vdup.32 d8, sl
blx sym.imp.se_utils_secure_element_available
ldr r2, [sp, 0xc]
mov r4, r0
add.w r3, r4, 0x44
mov r0, sb
vst1.32 {d8}, [r3]
str r2, [r4, 0xc]
blx sym.imp.g_strdup_printf
str r0, [r4]
blx sym.imp.validation_batch_get_validation_object
blx sym.imp.pthread_cond_wait
str.w r8, [r4, 4]
str r0, [r4, 0x14]
blx 0x89e0
mov r1, r0
mov r0, sb
blx 0x8268
mov.w ip, 1
mov r3, r8
str.w ip, [sp]
mov r2, fp
ldr r1, [sp, 8]
blx sym.imp.json_array_get_element
str r0, [r4, 0x18]
blx sym.imp.interface_message_reply_new_failure
str r0, [r4, 0x1c]
blx sym.imp.g_strdup_printf
ldr r0, [r4, 0x1c]
blx sym.imp.g_object_ref
str r0, [r4, 0x20]
blx sym.imp.g_strdup_printf
movs r1, 0
ldr r0, [r4, 0x1c]
--
movs r0, r0
add r3, sp, 0x278
movs r0, r0
push {r3, r4, r5, lr}
mov r4, r0
ldr r3, [0x00013cd8]
mov r5, r1
movs r1, 0x80
ldr r2, [0x00013cdc]
ldr r0, [0x00013ce0]
add r3, pc
add.w r3, r3, 0x228
add r2, pc
add r0, pc
blx 0x88fc
mov r0, r4
bl 0x12c0c
ldr r0, [r4]
blx 0x74c4
mov r0, r5
blx sym.imp.g_strdup_printf
str r0, [r4]
mov r0, r4
--
movs r0, r0
ldr r5, [0x00013e30]
movs r0, r0
tst r2, r4
movs r0, r0
push {r3, r4, r5, lr}
mov r5, r0
ldr r3, [0x00013d6c]
mov r4, r1
movs r1, 0x80
ldr r2, [0x00013d70]
ldr r0, [0x00013d74]
add r3, pc
add.w r3, r3, 0x240
add r2, pc
add r0, pc
blx 0x88fc
ldr r0, [r5]
blx 0x74c4
mov r0, r4
blx sym.imp.g_strdup_printf
ldr r3, [r5, 0x14]
str r0, [r5]
--
add r2, pc
ldr r0, [0x000154ac]
movs r1, 0x80
ldr.w sb, [sp, 0x38]
ldr r3, [r2, r3]
ldr r2, [0x000154b0]
add r0, pc
ldr r3, [r3]
str r3, [sp, 0x14]
mov.w r3, 0
ldr r3, [0x000154b4]
add r2, pc
add r3, pc
add.w r3, r3, segment.NOTE
blx 0x88fc
movs r0, 0x4c
blx sym.imp.se_utils_secure_element_available
mov r4, r0
str.w r8, [r0, 0xc]
mov r0, r6
blx sym.imp.g_strdup_printf
strd r0, r5, [r4]
mov r0, sb
blx 0x8214
str r0, [r4, 0x18]
blx 0x89e0
mov r1, r0
mov r0, r6
blx 0x8268
mov r3, r5
movs r5, 1
mov r2, r7
mov r1, sb
str r5, [sp]
movs r5, 0
blx sym.imp.json_array_get_element
str r0, [r4, 0x1c]
blx sym.imp.interface_message_reply_new_failure
str r0, [r4, 0x20]
blx sym.imp.g_strdup_printf
ldr r0, [r4, 0x20]
blx sym.imp.g_object_ref
str r0, [r4, 0x24]
blx sym.imp.g_strdup_printf
mov r1, r5
ldr r0, [r4, 0x20]
--
bl 0x11b4f6
subs r6, 6
movs r0, r0
str r3, [sp, 0x70]
movs r0, r0
push {r3, r4, r5, lr}
mov r4, r0
ldr r3, [0x0001553c]
mov r5, r1
movs r1, 0x80
ldr r2, [0x00015540]
ldr r0, [0x00015544]
add r3, pc
add.w r3, r3, 0x12c
add r2, pc
add r0, pc
blx 0x88fc
ldr r0, [r4]
blx 0x74c4
mov r0, r5
blx sym.imp.g_strdup_printf
str r0, [r4]
mov r0, r4
--
str r3, [sp, 0x1c]
mov.w r3, 0
ldrd fp, r3, [sp, 0x4c]
str r3, [sp, 8]
blx sym.imp.se_utils_secure_element_available
ldr r2, [0x000165ec]
mov r4, r0
ldr r3, [0x000165f0]
ldr.w r2, [sl, r2]
add r3, pc
mov r1, r2
str r2, [sp, 0xc]
ldr r2, [0x000165f4]
ldr.w r2, [sl, r2]
mov r0, r2
str r2, [sp, 0xc]
movs r2, 0
blx 0x7c04
strd r0, fp, [r4, 0x18]
mov r0, r8
blx sym.imp.g_strdup_printf
ldr r3, [sp, 8]
str r0, [r4]
--
add r6, pc
ldr r3, [r3]
str r3, [sp, 0x14]
mov.w r3, 0
cmp r0, 0
beq 0x166fc
ldr r3, [0x0001672c]
mov r4, r0
ldr r2, [0x00016730]
mov r5, r1
ldr r0, [0x00016734]
movs r1, 0x80
add r3, pc
add r2, pc
add.w r3, r3, 0x140
add r0, pc
blx 0x88fc
ldr r0, [r4]
blx 0x74c4
mov r0, r5
blx sym.imp.g_strdup_printf
mov r3, r0
ldr r1, [r4, 0x24]

[*] Function printf used 34 times libpacsio-businesslogic.so.0.0.55