[*] Binary protection state of libgobject-2.0.so.0.6800.4

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


[*] Function printf tear down of libgobject-2.0.so.0.6800.4

bl 0x1ff28
ldr r7, [r0, 0x28]
cmp r7, 4
beq 0xa0f6
ldr r3, [0x0000a1a4]
movw r2, 0x116e
ldr r4, [0x0000a1a8]
ldr r1, [0x0000a1ac]
ldr r0, [0x0000a1b0]
add r3, pc
add r4, pc
addw r3, r3, 0x5fc
add r1, pc
str r4, [sp]
add r0, pc
blx sym.imp.g_array_new
add r6, sp, 0xc
movs r2, 0x24
mov r1, r5
mov r0, r6
blx sym.imp.g_string_append_printf
ldr r0, [0x0000a1b4]
add r0, pc
--
movs r2, r0
subs r6, r7, 1
movs r2, r0
subs r6, r2, r6
movs r2, r0
subs r6, r0, r4
movs r2, r0
bl 0xffe152ae
push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, 0x6c
movs r5, 0
add r6, sp, 0x20
add r4, sp, 8
mov r7, r0
mov fp, r1
mov r8, r2
mov r1, r5
movs r2, 0x48
mov r0, r6
mov sl, r3
blx sym.imp.g_string_append_printf
str r5, [sp, 8]
add.w sb, sp, 0x38
--
movs r2, 0xc2
movs r2, r0
adds r0, r2, 4
movs r2, r0
subs r0, r1, r0
movs r2, r0
adds r0, r7, r5
movs r2, r0
push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, 0x6c
movs r5, 0
add r6, sp, 0x20
add r4, sp, 8
mov r7, r0
mov fp, r1
mov r8, r2
mov r1, r5
movs r2, 0x48
mov r0, r6
mov sl, r3
blx sym.imp.g_string_append_printf
str r5, [sp, 8]
add.w sb, sp, 0x38
--
ldr r0, [r0]
bl 0x253b4
mov r1, r0
str r1, [r4, 8]
pop {r4, pc}
ldr r1, [r0, 8]
cbz r1, 0xbe12
ldr r3, [r0, 0x10]
lsls r3, r3, 4
bpl 0xbe14
bx lr
ldr r0, [r0]
b.w 0x253dc
nop
push {r4, r5, lr}
sub sp, 0x34
add r4, sp, 0xc
movs r2, 0x24
movs r1, 0
mov r0, r4
blx sym.imp.g_string_append_printf
ldr r0, [0x0000be6c]
movs r3, 4
--
movs r2, r0
adds r6, r7, 2
movs r2, r0
adds r4, r3, r7
movs r2, r0
adds r0, r7, r6
movs r2, r0
lsrs r0, r4, 0x1a
movs r2, r0
movs r0, 0x54
bx lr
push {r4, r5, r6, r7, lr}
sub sp, 0x2c
add r7, sp, 4
mov r6, r2
mov r4, r0
movs r2, 0x20
mov r5, r1
mov r0, r7
movs r1, 0
blx sym.imp.g_string_append_printf
ldr r3, [0x0000bf38]
add r3, pc
--
pop {r3, r4, r5, pc}
ldr r1, [0x0000f12c]
ldr r2, [0x0000f130]
ldr r0, [0x0000f134]
add r1, pc
pop.w {r3, r4, r5, lr}
add r2, pc
adds r1, 0x34
add r0, pc
b.w sym.imp.ffi_prep_cif
and r0, r4, 0x810000
invalid
blt 0xf0ec
movs r1, r0
push {r4, r5, r6, r7, lr}
sub sp, 0x34
add r5, sp, 0xc
movs r2, 0x20
movs r1, 0
mov r0, r5
blx sym.imp.g_string_append_printf
ldr r2, [0x0000f1ec]
ldr r3, [0x0000f1f0]
--
ldr r3, [sp, 8]
str.w r7, [fp, r5]
add r5, fp
add r6, r3
str r6, [r5, 4]
movs r5, 0
str.w r5, [r3, sl, lsl 3]
str r5, [r6, 4]
str r5, [r6, 8]
str r5, [r6, 0xc]
str r5, [r6, 0x10]
str r5, [r6, 0x14]
ldr r0, [r7, 0xc]
bl sym.g_type_value_table_peek
add r3, sp, 0x28
mov r1, r5
mov sb, r0
movs r2, 0x40
mov r0, r3
ldr.w r5, [sb, 0x10]
blx sym.imp.g_string_append_printf
ldr r2, [r7, 0xc]
mov r3, r0
--
add r0, pc
blx sym.imp.g_mutex_lock
mov r0, sb
mov r1, sl
bl 0x10ab0
mov r0, sb
add sp, 0x6c
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
b.w sym.g_object_unref
lsls r3, r3, 0x1c
bmi 0x1329e
ldr r0, [r5, 0xc]
add.w r8, sp, 0x28
bl sym.g_type_value_table_peek
mov fp, r0
movs r2, 0x40
ldr.w r3, [fp, 0x10]
movs r1, 0
mov r0, r8
str r3, [sp, 8]
blx sym.imp.g_string_append_printf
ldr r2, [r5, 0xc]
ldr r3, [sp, 8]
--
ldr r2, [r3, 8]
cmp r2, 0
bge 0x135e6
mov r0, r3
str r3, [sp, 8]
bl 0x11534
ldr r3, [sp, 8]
ldr.w r6, [fp, 0x10]
mov r2, r5
mov r1, sb
mov r0, r7
blx r6
ldr r0, [sp, 0x10]
add r6, sp, 0x28
bl sym.g_type_value_table_peek
ldr.w sb, [r0, 0x18]
movs r2, 0x40
mov fp, r0
movs r1, 0
mov r0, r6
blx sym.imp.g_string_append_printf
ldrb.w r2, [sb]
cmp r2, 0
--
beq 0x1ce90
ldr r3, [r7, 0x18]
movs r1, 0
ldr r4, [r7, 0x24]
adds r3, 1
mov r2, r3
str r3, [r7, 0xc]
add.w r2, r2, r2, lsl 1
add.w r3, r7, 0xc4
str r3, [r7, 0x3c]
mov r3, sp
sub.w r3, r3, r2, lsl 3
lsls r2, r2, 3
mov sp, r3
ldr r3, [r4, 0x14]
str r3, [r7, 0x10]
add r3, sp, 8
mov r0, r3
mov r6, r3
str r3, [r7, 0x1c]
blx sym.imp.g_string_append_printf
ldr r3, [r4, 0xc]
mov r2, r6
--
str r3, [r7, 0x30]
ldr.w r3, [0x0001d2a8]
add r3, pc
str r3, [r7, 0x2c]
movs r3, 0
mov sb, r3
ldr.w r3, [sl, 0x10]
ldr r0, [r7, 0x30]
ldr.w r5, [r3, sb, lsl 2]
blx 0x9ad8
bic r3, r5, 1
mov r0, r3
str r3, [r7, 0x34]
bl sym.g_type_value_table_peek
movs r2, 0x40
ldr.w fp, [r0, 0x10]
mov r6, r0
movs r1, 0
mov r0, r4
lsls r5, r5, 0x1b
blx sym.imp.g_string_append_printf
ldr r3, [r7, 0x34]
and r5, r5, 0x8000000
--
bic r1, r3, 1
strd r4, r4, [r7, 0x50]
bl sym.g_value_init
str.w r8, [sp]
mov r1, r6
ldr r2, [r7, 0xc]
ldr r0, [r7, 4]
ldr r3, [r7, 0x1c]
bl sym.g_closure_invoke
ldr r3, [r7, 0x10]
ldr r0, [r7, 0x40]
lsls r3, r3, 0x1b
and sl, r3, 0x8000000
bl sym.g_type_value_table_peek
ldr.w r8, [r0, 0x18]
mov r1, r4
add.w r4, r7, 0x58
mov sb, r0
movs r2, 0x40
mov r0, r4
blx sym.imp.g_string_append_printf
ldrb.w r3, [r8]
cmp r3, 0
--
bne.w 0x1e660
ldr.w r0, [0x0001ef30]
add r0, pc
blx 0x9ad8
ldr.w r3, [r8, 0xc]
movs r1, 0
ldr.w r2, [r8, 0x14]
ubfx r3, r3, 0xa, 8
str r2, [r7, 0x10]
adds r2, r3, 1
add.w r2, r2, r2, lsl 1
str r3, [r7, 0xc]
mov r3, sp
sub.w r3, r3, r2, lsl 3
lsls r2, r2, 3
mov sp, r3
add r3, sp, 8
mov r0, r3
mov r5, r3
str r3, [r7, 0x14]
blx sym.imp.g_string_append_printf
ldr.w r3, [r8, 0xc]
mov r2, r5
--
str r2, [r7, 8]
tst.w r3, 0x3fc00
beq 0x1ea78
mov sl, r2
mov.w sb, 0
add.w fp, r7, 0x78
ldr.w r3, [r8, 0x10]
ldr.w r2, [r3, sb, lsl 2]
bic r3, r2, 1
lsls r2, r2, 0x1b
mov r0, r3
str r3, [r7, 0x20]
and r2, r2, 0x8000000
str r2, [r7, 0x24]
bl sym.g_type_value_table_peek
movs r2, 0x40
ldr r5, [r0, 0x10]
mov r6, r0
movs r1, 0
mov r0, fp
blx sym.imp.g_string_append_printf
ldr r3, [r7, 0x20]
str.w r3, [sl]
--
add.w fp, r7, 0x78
bic r1, r3, 1
strd r5, r5, [r7, 0x68]
bl sym.g_value_init
ldr r3, [r7, 0x14]
mov r0, r8
ldrd r1, r2, [r7, 0x18]
str r3, [sp]
mov r3, r6
bl 0x1a51c
ldr r3, [r7, 0x10]
ldr r0, [r7, 0x58]
lsl.w r8, r3, 0x1b
bl sym.g_type_value_table_peek
mov r1, r5
ldr r5, [r0, 0x18]
mov sb, r0
movs r2, 0x40
mov r0, fp
and r8, r8, 0x8000000
blx sym.imp.g_string_append_printf
ldrb r3, [r5]
cmp r3, 0
--
adds r4, 4
ldrb r3, [r2, 1]!
cmp r3, 0
bne.w 0x1e80e
ldr.w r3, [r8, 0xc]
add.w sb, sb, 1
ubfx r3, r3, 0xa, 8
cmp r3, sb
bhi.w 0x1e7f4
ldr r3, [r7, 8]
add.w fp, r7, 0x78
ldr r0, [r7, 0x40]
lsl.w sb, r3, 0x1b
bl sym.g_type_value_table_peek
ldr r5, [r0, 0x18]
mov r6, r0
movs r2, 0x40
movs r1, 0
mov r0, fp
and sb, sb, 0x8000000
blx sym.imp.g_string_append_printf
ldrb r3, [r5]
cmp r3, 0
--
str r5, [sp]
bl sym.g_closure_invoke
mov r0, r4
bl sym.g_value_get_boolean
mov r5, r0
mov r0, r4
bl sym.g_value_unset
mov r0, r5
add sp, 0x20
pop {r4, r5, r6, pc}
push.w {r4, r5, r6, r7, r8, sb, lr}
sub sp, 0x54
add r5, sp, 0x20
add r4, sp, 8
mov r8, r2
mov r7, r0
movs r2, 0x30
mov sb, r1
mov r0, r5
movs r1, 0
blx sym.imp.g_string_append_printf
movs r6, 0
movs r1, 0x14
--
blx sym.imp.memcmp
b 0x1f3f2
str r1, [sp, 0x70]
movs r2, r0
str r1, [sp, 0x40]
movs r2, r0
strh r2, [r1, 0x2a]
movs r2, r0
adds r4, 0x90
movs r1, r0
push.w {r4, r5, r6, r7, r8, sb, lr}
sub sp, 0x54
add r5, sp, 0x20
add r4, sp, 8
mov r8, r2
mov r7, r0
movs r2, 0x30
mov sb, r1
mov r0, r5
movs r1, 0
blx sym.imp.g_string_append_printf
movs r6, 0
movs r1, 0x14
--
mov r0, r4
mov r4, r3
bl sym.g_value_unset
mov r0, r5
bl sym.g_value_unset
mov r0, r7
bl sym.g_value_unset
mov r0, r4
add sp, 0x54
pop.w {r4, r5, r6, r7, r8, sb, pc}
push.w {r4, r5, r6, r7, r8, sb, lr}
sub sp, 0x54
add r5, sp, 0x20
add r4, sp, 8
mov r8, r2
mov r7, r0
movs r2, 0x30
mov sb, r1
mov r0, r5
movs r1, 0
blx sym.imp.g_string_append_printf
movs r6, 0
movs r1, 0x14
--
ldr r8, [r3, -0x4]
cmp r8, r1
bhi 0x1f9ce
adds r6, r2, 1
adds r4, r7, 1
add.w sb, r0, 0x20
cmp r4, r8
mov.w r1, 0
it lo
movlo r4, r8
mov r0, sb
sub.w sl, r4, r8
mov r2, sl
bl 0xa460
cmp r8, r4
mov r5, r0
bhs 0x1f9c0
mov r2, sl
add r0, r8
movs r1, 0
blx sym.imp.g_string_append_printf
mov r1, r5
mov r0, sb
--
ldr r3, [r5]
dmb ish
cmp r3, 0
beq 0x20c54
dmb ish
ldrex r3, [r5]
adds r3, 1
strex r2, r3, [r5]
cmp r2, 0
bne 0x20b5e
dmb ish
ldr r3, [r4, 0x14]
cmp r3, 0
bne 0x20c0a
ldr r6, [0x00020cf0]
add r7, sp, 0x34
movs r2, 0x24
movs r1, 0
add.w r8, sp, 0x14
mov r0, r7
blx sym.imp.g_string_append_printf
add r6, pc
movs r1, 0
movs r2, 0x20
mov r0, r8
blx sym.imp.g_string_append_printf
mov r0, r6
blx 0x9df0
--
movs r0, r0
invalid
and.w r0, r8, r0
ldr r4, [r3, 0x10]
movs r0, r0
orrs.w r0, r0, r0
ldr r2, [r7, 0xc]
movs r0, r0
strd r0, r0, [r4]
ldr r2, [r0, 0xc]
movs r0, r0
push.w {r4, r5, r6, r7, r8, lr}
sub sp, 0x30
mov r5, r0
add r7, sp, 0xc
mov r6, r2
mov r4, r1
movs r2, 0x24
movs r1, 0
mov r0, r7
blx sym.imp.g_string_append_printf
cbz r5, 0x264a8
bl sym.g_type_module_get_type
--
movs r0, r0
and.w r0, lr, r0
strb r4, [r2, 0xd]
movs r0, r0
ldr r4, [r0]
movs r0, r0
ldrd r0, r0, [r4, 0]!
ldrb r2, [r2, 0x1b]
movs r0, r0
str r2, [r5, 0x7c]
movs r0, r0
push.w {r4, r5, r6, r7, r8, lr}
sub sp, 0x30
mov r5, r0
add r7, sp, 0xc
mov r6, r2
mov r4, r1
movs r2, 0x24
movs r1, 0
mov r0, r7
blx sym.imp.g_string_append_printf
cbz r5, 0x2657c
bl sym.g_type_module_get_type
--
str r0, [r6, 0x70]
movs r0, r0
invalid
ldrb r6, [r7, 0x17]
movs r0, r0
str r6, [r2, 0x70]
movs r0, r0
push {r4, r5, r6, lr}
sub sp, 0x28
ldr r5, [0x00026660]
add r5, pc
ldr r4, [r5]
cbz r4, 0x2662e
mov r0, r4
add sp, 0x28
pop {r4, r5, r6, pc}
add r6, sp, 4
mov r1, r4
movs r2, 0x24
mov r0, r6
blx sym.imp.g_string_append_printf
ldr r0, [0x00026664]
movs r3, 0x18
--
push {r4, r5, r6, lr}
mov r5, r0
movs r6, 0
movs r0, 0xc
blx 0xa010
mov r4, r0
strd r6, r6, [r0, 4]
str r5, [r0]
cbz r5, 0x273fe
adds r1, r5, 7
movs r2, 0x18
bic r1, r1, 7
str r1, [r0, 8]
mov r0, r6
blx sym.imp.g_datalist_unset_flags
ldr r2, [r4, 8]
mov r1, r6
str r0, [r4, 4]
add.w r2, r2, r2, lsl 1
lsls r2, r2, 3
blx sym.imp.g_string_append_printf
movs r3, 0
mov r0, r4
--
beq 0x274e8
movs r0, 0xc
movs r4, 0
blx 0xa010
ldr r1, [r6]
mov r7, r0
strd r4, r4, [r0, 4]
str r1, [r0]
cbz r1, 0x274e2
adds r1, 7
movs r2, 0x18
bic r1, r1, 7
str r1, [r0, 8]
mov r0, r4
blx sym.imp.g_datalist_unset_flags
ldr r2, [r7, 8]
mov r1, r4
str r0, [r7, 4]
add.w r2, r2, r2, lsl 1
lsls r2, r2, 3
blx sym.imp.g_string_append_printf
ldr r2, [r7]
cbz r2, 0x274e2
--
lsls r2, r6, 3
add r0, r1
add r1, r8
blx 0x9b08
b 0x27548
add.w r1, r6, 8
movs r2, 0x18
bic r1, r1, 7
str r1, [r0, 8]
ldr r0, [r0, 4]
blx sym.imp.g_datalist_unset_flags
ldr r3, [r4]
mov r1, r8
ldr r2, [r4, 8]
str r0, [r4, 4]
subs r2, r2, r3
add.w r3, r3, r3, lsl 1
add.w r2, r2, r2, lsl 1
add.w r0, r0, r3, lsl 3
lsls r2, r2, 3
blx sym.imp.g_string_append_printf
ldr r3, [r4]
b 0x2753a
--
ldr r2, [r2]
mov r3, r0
movs r0, 0
str r2, [r3, 8]
bx lr
nop
movs r3, 0
str r3, [r0, 8]
bx lr
nop
movs r3, 0
str r3, [r0, 8]
bx lr
nop
push {r4, r5, r6, r7, lr}
sub sp, 0x34
add r4, sp, 0xc
movs r2, 0x20
movs r1, 0
mov r0, r4
blx sym.imp.g_string_append_printf
ldr r7, [0x00028f28]
movs r3, 4
--
movs r0, r0
bkpt 0x62
movs r0, r0
ldrh r0, [r3, r7]
movs r0, r0
bkpt 0x56
movs r0, r0
bkpt 0x1e
movs r0, r0
pop {r1, r2, r3, r5, r6, r7, pc}
movs r0, r0
bkpt 0x10
movs r0, r0
push {r4, r5, lr}
sub sp, 0x2c
mov r4, r0
add r5, sp, 4
movs r2, 0x24
movs r1, 0
mov r0, r5
blx sym.imp.g_string_append_printf
cbz r4, 0x29cc2
mov r0, r4

[*] Function printf used 30 times libgobject-2.0.so.0.6800.4