[*] Binary protection state of libgstrtp.so

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


[*] Function printf tear down of libgstrtp.so

mov r6, r0
cbnz r0, 0x140ba
cmp r5, 3
it ls
movls fp, r0
bls 0x14094
subs r3, r5, 3
mov.w r2, 0x8000
str r3, [sp]
mov r1, sb
ldr.w r0, [r4, 0x198]
movs r3, 3
mov fp, r6
blx 0x73f0
cmp.w r0, -1
it ne
movne r6, r0
ldr.w r0, [r4, 0x198]
movs r1, 2
subs r5, 2
blx sym.imp.g_strdup_printf
b 0x13f16
ldr r0, [sp, 8]
--
ldr.w r3, [fp, 4]
cbnz r3, 0x198b6
movs r1, 0
mov r0, fp
blx sym.imp.g_assertion_message_cmpnum
ldr.w r3, [sb, 0x1e4]
mov r8, r3
cbz r3, 0x198ac
ldr.w r3, [sb, 0x1ec]
cmp r3, 1
beq.w 0x19a5c
mov.w r8, 0
ldr r3, [sp, 0x4c]
cmp r3, 2
beq.w 0x19786
ldr.w r0, [sb, 0x1bc]
blx 0x6ec4
b 0x19786
ldr r1, [sp, 0x5c]
ldr.w r0, [sb, 0x1bc]
blx sym.imp.g_strdup_printf
ldr.w r3, [fp, 4]
cmp r3, 0
beq 0x19886
ldr r3, [sp, 0x24]
movs r5, 0
ldr r6, [sp, 0x54]
cmp r3, 0
iteet eq
moveq sl, 1
movne sl, r5
moveq r7, 1
mov r7, r5
strd r7, sl, [sp, 0x1c]
ldr r7, [sp, 0x58]
ldr.w sl, [sp, 0x50]
ldr.w r3, [fp]
movs r1, 3
ldr.w r0, [sb, 0x1bc]
ldr.w r3, [r3, r5, lsl 2]
str r3, [sp, 0x60]
blx sym.imp.g_strdup_printf
ldr r4, [sp, 0x60]
ldr.w r0, [sb, 0x1bc]
--
str.w r8, [sp, 8]
mov r0, sb
ldr r2, [sp, 0x30]
rsb.w r6, r6, 1
str r3, [sp]
ldr r3, [sp, 0x2c]
str r3, [sp, 4]
ldr.w r3, [sb, 0x1dc]
str r3, [sp, 0x10]
ldr.w r3, [sb, 0x1d8]
str r3, [sp, 0xc]
mov r3, sl
bl 0x190c4
str.w r7, [sb, 0x1dc]
mov r7, r0
str.w r6, [sb, 0x1d8]
cbnz r0, 0x199e6
ldr r1, [sp, 0x60]
ldr.w r0, [sb, 0x1bc]
subs r1, r1, r4
blx sym.imp.g_strdup_printf
ldr.w r3, [fp, 4]
cmp r5, r3
--
movs r1, 0
mov r0, r7
blx sym.imp.g_assertion_message_cmpnum
cbnz r4, 0x1d04e
ldr.w r3, [r5, 0x1d4]
cbz r3, 0x1d04e
ldr.w r3, [r5, 0x1dc]
cmp r3, 1
bne 0x1d04e
ldr.w r4, [r5, 0x1d8]
cmp r4, 0
bne.w 0x1d176
ldr r3, [sp, 0x20]
cmp r3, 1
bls 0x1cfda
ldr.w r0, [r5, 0x1bc]
blx 0x6ec4
b 0x1cfda
ldr r1, [sp, 0x2c]
ldr.w r0, [r5, 0x1bc]
blx sym.imp.g_strdup_printf
ldr r3, [r7, 4]
cmp r3, 0
--
ldr r3, [sp, 0x24]
mov fp, r7
ldr r7, [sp, 0x28]
cmp.w sb, 0
mov.w r4, 0
it ne
movne r8, 1
it eq
orreq r3, r3, 1
it eq
moveq r8, 0
str r3, [sp, 0x14]
str.w r8, [sp, 8]
ldr.w r2, [fp]
movs r1, 3
ldr.w r0, [r5, 0x1bc]
mov sb, r4
ldr.w r2, [r2, r4, lsl 2]
adds r4, 1
str r2, [sp, 0x38]
blx sym.imp.g_strdup_printf
ldr r6, [sp, 0x38]
ldr.w r0, [r5, 0x1bc]
--
blx sym.imp.g_value_set_object
mov r8, r0
mov r0, sl
mov r1, r8
blx 0x67b0
ldr.w r0, [r8, 0xc]
bic r0, r0, 0x200
str.w r0, [r8, 0xc]
ldr.w r2, [fp, 4]
subs r2, 1
cmp r2, sb
beq 0x1d126
bic r0, r0, 0x40
cbz r7, 0x1d108
orr r0, r0, 0x40
ldr r1, [sp, 0x38]
movs r7, 0
str.w r0, [r8, 0xc]
ldr.w r0, [r5, 0x1bc]
subs r1, r1, r6
blx sym.imp.g_strdup_printf
ldr.w r2, [fp, 4]
cmp r4, r2
--
str r3, [sp, 0x10]
str r4, [sp]
mov r0, r5
add r1, pc
movs r3, 0xb
str r1, [sp, 0xc]
movs r4, 0
ldr r1, [0x0001ef8c]
str r6, [sp, 4]
add r1, pc
str r1, [sp, 8]
movs r1, 4
blx sym.imp.g_array_new
b 0x1ed00
ldr.w r5, [r5, 0x148]
movs r4, 0
mov r0, r5
blx sym.imp.g_list_free
mov r1, r0
mov r0, r5
blx sym.imp.g_strdup_printf
b 0x1ed00
movs r0, 0x80
--
bne 0x22b1c
ldr r2, [0x00022be8]
ldr r3, [0x00022be0]
add r2, pc
ldr r3, [r2, r3]
ldr r2, [r3]
ldr r3, [sp, 0xfc]
eors r2, r3
mov.w r3, 0
bne 0x22bd6
mov r1, r8
mov r0, r6
add sp, 0x100
pop.w {r4, r5, r6, r7, r8, sb, sl, lr}
b.w sym.imp.gst_structure_to_string
ldr.w r3, [r6, 0x1c0]
cmp r3, 0
beq 0x22ae6
ldr.w r0, [r6, 0x198]
mov r1, r4
blx sym.imp.g_strdup_printf
b 0x22ae8
blx 0x6f28
--
str r2, [sp]
mov r2, r3
ldr.w r0, [r4, 0x1a0]
movt r2, 0xfff0
movt r1, 0xfffe
blx 0x6cb4
movs r3, 0
cbnz r0, 0x23970
ldr r3, [sp, 0x3c]
tst.w r3, 0x10000
ite eq
moveq r1, 9
movne r1, 7
cmp r1, fp
bhs.w 0x23756
ldr.w r3, [r4, 0x198]
cbz r3, 0x23956
str.w r0, [r4, 0x198]
ldr.w r0, [r4, 0x1a0]
sub.w fp, fp, r1
blx sym.imp.g_strdup_printf
b 0x23756
ldr r1, [sp, 0x1c]
--
str.w r8, [r5]
ldr r5, [r6, 4]!
cmp r5, 0
bne 0x262e8
add sp, 0x14
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
strb.w sb, [sl]
ldr.w r3, [r4, 0x17c]
subs r3, 2
strb.w r3, [sl, 1]
ldr.w ip, [r4, 0x17c]
cmp.w ip, 0
bne 0x2631c
mov r3, ip
mov r2, ip
strb.w r2, [sl, 2]
strb.w r3, [sl, 3]
b 0x26348
mov r1, r0
ldr.w r0, [r4, 0x148]
blx sym.imp.g_strdup_printf
b 0x262d4
nop
--
ldr.w r3, [r4, 0xfc]
add.w r2, r0, 0xd
cmp r2, r3
bhs 0x271a2
ldr.w r3, [r4, 0x1b8]
ldr.w r2, [r4, 0x1a8]
mul r3, r2, r3
cmp r3, r0
blo 0x271a2
movs r0, 0
pop {r4, r5, r6, pc}
mov r0, r4
pop.w {r4, r5, r6, lr}
b 0x26fec
bl 0x26fec
ldr.w r6, [r4, 0x198]
mov r0, r6
blx sym.imp.g_list_free
mov r1, r0
mov r0, r6
blx sym.imp.g_strdup_printf
vmov.i8 d16, 0xff
vstr d16, [r4, 0x1a0]

[*] Function printf used 12 times libgstrtp.so