[*] Binary protection state of libpaho-mqtt3a.so.1.3.9

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


[*] Function strcpy tear down of libpaho-mqtt3a.so.1.3.9

str r5, [sp, 0x1f8]
movs r2, r0
lsls r0, r5, 7
movs r0, r0
str r7, [sp, 0x368]
movs r2, r0
ldr r2, [sp, 0x68]
movs r2, r0
b 0x27d8
nop
push {r4, r5, r6, lr}
movs r2, 3
ldr r4, [0x00002880]
movs r1, 0x1d
mov r5, r0
add r4, pc
mov r0, r4
bl 0xec20
mov.w r0, 0x3e8
mul r0, r5, r0
blx sym.imp.strcpy
mov r0, r4
movs r3, 3
--
add r0, pc
bl 0xf12c
mov r4, r0
cmp r0, 0
beq 0x8c0e
cmp r5, 0
beq 0x8c18
mov r0, r5
blx sym.imp.srand
adds r2, r0, 1
ldr r6, [0x00008c54]
movs r1, 0x45
add r6, pc
mov r0, r6
bl 0xf12c
str r0, [r4]
cmp r0, 0
beq 0x8c20
mov r1, r5
mov r5, r4
blx sym.imp.__strcpy_chk
ldr r2, [0x00008c58]
ldr r3, [0x00008c5c]
--
add r0, sb
adds r0, 0x10
str r1, [r3, 0x10]
ldr r2, [r0, -0xc]
str r2, [r3, 0x14]
ldr r2, [r0, -0x8]
str r2, [r3, 0x18]
ldr r2, [r0, -0x4]
str r2, [r3, 0x1c]
str r0, [sp, 0x40]
blx sym.imp.srand
add.w r8, r0, 1
movw r1, 0x32b
mov r2, r8
mov r0, sl
bl 0xf12c
str r0, [r5, 4]
cmp r0, 0
beq.w 0xa032
ldr r1, [sp, 0x40]
blx sym.imp.__strcpy_chk
ldr r3, [sp, 0x40]
cmp.w fp, 5
--
str r2, [sp]
movs r1, 0xf0
movs r2, 3
bl 0xec20
movw r3, 0x4e1f
cmp r4, r3
itt hi
lsrhi r5, r5, 0xd
movhi r4, 1
bhi 0xa2aa
b 0xa2b6
adds r0, 1
bne 0xa29c
blx 0x2528
ldr r3, [r0]
cmp r3, 0xb
str r3, [sp]
bne 0xa2e2
movw r0, 0x2710
adds r4, 1
blx sym.imp.strcpy
cmp r5, r4
beq 0xa2b6
--
movs r2, 3
add r0, pc
adds r0, 0xc
ldr r3, [r3]
str r3, [sp, 0x24]
mov.w r3, 0
strd r4, r4, [sp, 0x1c]
bl 0xec20
mov r0, r6
blx sym.imp.srand
adds r2, r0, 1
ldr r0, [0x0000b004]
movs r1, 0x4f
add r0, pc
bl 0xf12c
cmp r0, 0
beq.w 0xaf42
mov r1, r6
mov r4, r0
movs r6, 0x2d
blx sym.imp.__strcpy_chk
b 0xade8
strb r6, [r0]
--
bhs.w 0xaf74
mov r0, r6
blx sym.imp.srand
movs r1, 0x6e
adds r2, r0, 1
mov r0, sb
bl 0xf12c
mov r5, r0
cmp r0, 0
beq.w 0xafb2
mov r0, r6
blx sym.imp.srand
movs r1, 0x75
adds r2, r0, 1
mov r0, sb
bl 0xf12c
mov fp, r0
cmp r0, 0
beq.w 0xafce
mov r1, r6
blx sym.imp.__strcpy_chk
ldrb.w r3, [fp]
cmp r3, 0x5c
it ne
cmpne r3, 0x2f
beq.w 0xaf90
ldr r1, [0x0000b010]
add.w r8, sp, 0x20
mov r2, r8
mov r0, fp
add r1, pc
blx sym.imp.opendir
mov r1, r0
mov r0, r5
blx sym.imp.__strcpy_chk
ldr.w sb, [0x0000b014]
mov r0, r5
--
str r0, [sp, 0x1c]
add sb, pc
movs r0, 0
mov r1, sb
blx sym.imp.opendir
ldr r3, [sp, 0x1c]
cmp r0, 0
mov r7, r0
clz r3, r3
lsr.w r3, r3, 5
it eq
moveq r3, 0
cbz r3, 0xaf10
mov.w sl, 0x2f
mov r0, r5
blx sym.imp.srand
strb.w sl, [r5, r0]
adds r0, 1
mov r1, r7
add r0, r5
blx sym.imp.__strcpy_chk
mov r0, r5
bl 0xad04
--
mov r0, sb
mov r2, r6
bl 0xf264
mov r2, r4
movs r1, 0x64
mov r0, sb
bl 0xf264
mvn r3, 1
str r3, [sp, 0x1c]
b 0xaf48
ldr r1, [0x0000b024]
mov sb, r5
add.w r8, sp, 0x20
strb r3, [sb], 1
mov r2, r8
add.w r0, fp, 1
add r1, pc
blx sym.imp.opendir
mov r1, r0
mov r0, sb
blx sym.imp.__strcpy_chk
b 0xaea4
movs r1, 0x70
--
mvn r3, 0x62
str r3, [sp, 0x14]
b 0xb546
mov r2, fp
movw r1, 0x1fb
mov r0, r6
bl 0xf264
mvn r3, 1
str r3, [sp, 0x14]
b 0xb546
mov r0, sl
blx sym.imp.srand
movw r1, 0x203
adds r2, r0, 1
mov r0, r6
bl 0xf12c
mov r4, r0
cmp r0, 0
beq 0xb57a
mov r1, sl
blx sym.imp.__strcpy_chk
ldr r1, [0x0000b600]
mov r0, r4
--
add r1, sp, 0x30
mov r0, r6
blx sym.imp.getenv
mov r4, r0
cmp r0, 0
bne 0xb966
ldr r3, [sp, 0x40]
and r3, r3, 0xf000
cmp.w r3, 0x8000
bne 0xb966
mov r0, r5
blx sym.imp.srand
movw r1, 0x353
adds r2, r0, 1
mov r0, sb
bl 0xf12c
ldr r2, [sp, 0x20]
str.w r0, [fp, r2, lsl 2]
cbz r0, 0xba4e
mov r1, r5
blx sym.imp.__strcpy_chk
ldrd r3, r1, [sp, 0x20]
ldr.w r0, [fp, r3, lsl 2]
--
it hi
movhi r5, r3
cmp r7, 0
beq 0xdde0
mov r0, r7
blx sym.imp.srand
adds r2, r0, 2
ldr r0, [0x0000de08]
mov.w r1, 0x220
str r2, [sp, 0x14]
add r0, pc
bl 0xf12c
str r0, [sp, 0x10]
cmp r0, 0
beq 0xddb4
rev16 r5, r5
mov r1, r7
strh r5, [r0]
ldr r0, [sp, 0x10]
adds r0, 2
blx sym.imp.__strcpy_chk
add r1, sp, 0x14
add r3, sp, 0x10
--
mov r1, r6
ldr r0, [r4]
bl 0x7308
ldr r0, [0x0000eb84]
mov r2, r6
movw r1, 0x5e9
add r0, pc
bl 0xf264
add r0, sp, 0x38
blx 0x2324
ldr r3, [sp, 0x38]
adds r3, 0xa
str r3, [sp, 0x38]
b 0xea94
mov r0, sl
blx 0x2324
ldrd r2, r3, [sp, 0x34]
cmp r2, r3
bgt 0xeac2
mov r0, sb
blx sym.imp.strcpy
mov r3, r8
ldr r0, [r4]
--
ands r3, r5, 0xf
mov.w r0, 0x10
itt ne
addne r5, 0x10
subne r5, r5, r3
blx sym.imp.strftime
mov r6, r0
cmp r0, 0
beq 0xf1fc
mov.w sl, 0
mov r0, r4
strd sl, sl, [r6, 4]
str r5, [r6, 0xc]
blx sym.imp.strftime
mov r4, r0
str r0, [r6]
cmp r0, 0
beq 0xf226
mov r1, r8
str.w sl, [r0]
blx sym.imp.__strcpy_chk
movs r1, 1
add.w r0, r5, 0x10
--
vldr d16, [0x0000f40c]
ldr.w fp, [r4]
rsb.w r2, r2, 0x20
ldr.w sb, [0x0000f418]
add.w sl, r2, r8
adds r2, r0, r5
vstr d16, [r3]
mov r0, fp
vstr d16, [r2, 8]
add sb, pc
str r5, [r4, 0xc]
add r5, sl
blx sym.imp.srand
mov r1, r8
mov r2, r0
mov r0, fp
mov r8, r2
blx sym.imp.sem_getvalue
mov r1, r6
str r0, [r4]
blx sym.imp.__strcpy_chk
ldr r6, [r4, 8]
sub.w r2, r5, r8
--
ldr r3, [r4, 0x34]
cmp r3, 0
ble.w 0x12014
ldr.w sb, [0x00012074]
movs r6, 0
ldr r0, [sp]
add sb, pc
b 0x11e70
ldr.w sl, [r4, 0x38]
mov r2, r5
movw r1, 0x21e
mov r0, sb
bl 0xf12c
str.w r0, [sl, r6, lsl 2]
cmp r0, 0
beq 0x11d5e
ldr r3, [r4, 0x38]
ldr r1, [sp]
ldr.w r0, [r3, r6, lsl 2]
adds r6, 1
blx sym.imp.__strcpy_chk
ldr r3, [r4, 0x34]
ldr r0, [sp]
--
ble.w 0x12014
ldr r0, [sp]
sub.w sl, r7, r0
mov r1, sl
blx sym.imp.pthread_create
adds r5, r0, 1
cmp sl, r5
beq.w 0x11d5e
ldr.w sl, [r4, 0x38]
mov r2, r5
movw r1, 0x1e9
mov r0, sb
bl 0xf12c
str.w r0, [sl, r6, lsl 2]
lsl.w sl, r6, 2
cmp r0, 0
beq.w 0x11d5e
ldr r3, [r4, 0x38]
ldr r1, [sp]
ldr.w r0, [r3, r6, lsl 2]
blx sym.imp.__strcpy_chk
ldr r2, [sp]
cmp.w r8, 4
--
mov r2, r4
movw r1, 0x253
add r0, pc
bl 0xf264
b 0x11d6e
ldm.w r3, {r0, r1, r2}
add.w r6, r4, 0x40
ldr r5, [r4, 0x58]
str.w ip, [sp]
stm.w r6, {r0, r1, r2}
b 0x11dec
ldr r0, [0x0001208c]
mov r2, r6
mov.w r1, 0x22c
add r0, pc
bl 0xf12c
str r0, [r4, 0x34]
cmp r0, 0
beq.w 0x11d5e
ldr r1, [sp]
blx sym.imp.__strcpy_chk
ldr r5, [sp]
b 0x11db8
--
movs r1, r0
ldrb r2, [r6, 0x18]
movs r0, r0
ldrb r2, [r4, 0x18]
movs r0, r0
ldrsh r4, [r4, r2]
movs r0, r0
ldrsh r2, [r4, r0]
movs r0, r0
push {r4, r5, r6, lr}
movs r2, 3
ldr r4, [0x00012364]
movs r1, 0x68
mov r5, r0
add r4, pc
adds r4, 0x80
mov r0, r4
bl 0xec20
mov.w r0, 0x3e8
mul r0, r5, r0
blx sym.imp.strcpy
mov r0, r4
movs r3, 3
--
orrs r3, r2
beq 0x1263e
subs r4, 1
beq 0x1263e
ldr r3, [0x000126f8]
ldr.w fp, [r6, r3]
ldr.w r0, [fp]
blx 0x2614
cbnz r0, 0x1264a
ldr r2, [0x000126fc]
mov.w r1, -1
movs r0, 3
add r2, pc
bl 0x8960
movs r2, 3
movs r1, 0x68
mov r0, r5
bl 0xec20
movw r0, 0x86a0
movt r0, 1
blx sym.imp.strcpy
mov r0, r5
movs r3, 3
--
it eq
moveq r2, 5
bne 0x128f8
ldrd r0, r1, [sp, 0x24]
movs r3, 0
bl 0x11cfc
mov r6, r0
cmp r0, 0
beq 0x128b0
ldr r3, [sp, 0x1c]
ldr r0, [r3, r7]
blx sym.imp.srand
ldr.w r8, [sp, 0x14]
adds r2, r0, 1
movw r1, 0x292
mov r0, r8
bl 0xf12c
ldr r3, [sp, 0x1c]
str r0, [r6, 0x5c]
ldr r1, [r3, r7]
blx sym.imp.__strcpy_chk
ldr r3, [sp, 0x1c]
movs r1, 0x2d
--
add r3, pc
str r3, [sp]
add.w sl, sp, 0x38
movs r3, 0xb
mov r0, sl
mov r1, r3
blx 0x277c
cmp r0, 0xa
bgt.w 0x13174
ldr r6, [0x000131f4]
mov r0, sl
blx sym.imp.srand
movw r1, 0x359
adds r2, r0, 1
add r6, pc
movs r7, 0
mov r0, r6
bl 0xf12c
mov r1, sl
str r0, [r4, 0x5c]
blx sym.imp.__strcpy_chk
ldr r2, [r4, 0x3c]
mov.w r1, 0x35c
--
movs r1, 0
movs r0, 5
add r2, pc
bl 0x8960
b 0x13f48
ldr r3, [sp, 0x78]
cmp r3, 0
bgt 0x14388
ldr r3, [sp, 0x7c]
cmp r3, 0
ble.w 0x13f92
ldr.w r5, [0x00014acc]
movs r2, 3
movs r1, 0x68
add r5, pc
adds r5, 0x80
mov r0, r5
bl 0xec20
movw r0, 0x86a0
movt r0, 1
blx sym.imp.strcpy
mov r0, r5
movs r3, 3

[*] Function strcpy used 23 times libpaho-mqtt3a.so.1.3.9