[*] Binary protection state of libpaho-mqtt3a.so.1.3.11
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of libpaho-mqtt3a.so.1.3.11
movs r1, r0
push {r1, r3, r4, r5, r6}
movs r1, r0
lsls r4, r5, 7
movs r0, r0
invalid
cbnz r2, 0x294c
movs r1, r0
b 0x28d0
nop
push {r4, r5, r6, lr}
movs r2, 3
ldr r4, [0x00002978]
movs r1, 0x1d
mov r5, r0
add r4, pc
mov r0, r4
bl 0xf2e8
mov.w r0, 0x3e8
mul r0, r5, r0
blx sym.imp.strcpy
mov r0, r4
movs r3, 3
--
movs r1, 0x40
add r0, pc
bl 0xf7f0
mov r4, r0
cmp r0, 0
beq 0x9142
cmp r5, 0
beq 0x914a
mov r0, r5
blx sym.imp.srand
adds r2, r0, 1
ldr.w r8, [0x00009184]
movs r1, 0x45
add r8, pc
mov r0, r8
bl 0xf7f0
str r0, [r4]
cmp r0, 0
beq 0x9152
mov r1, r5
blx sym.imp.__strcpy_chk
ldr r2, [0x00009188]
ldr r3, [0x0000918c]
--
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 sl, r0, 1
movw r1, 0x32b
ldr r0, [sp, 0x10]
mov r2, sl
bl 0xf7f0
str r0, [r5, 4]
cmp r0, 0
beq.w 0xa5a2
ldr r1, [sp, 0x40]
blx sym.imp.__strcpy_chk
ldr r3, [sp, 0x40]
ldr.w r2, [r3, sl]
--
str r2, [sp]
movw r1, 0x111
movs r2, 3
bl 0xf2e8
movw r3, 0x4e1f
cmp r4, r3
itt hi
lsrhi r5, r5, 0xd
movhi r4, 1
bhi 0xa89c
b 0xa8a8
adds r0, 1
bne 0xa88e
blx 0x2620
ldr r3, [r0]
cmp r3, 0xb
str r3, [sp]
bne 0xa8d4
movw r0, 0x2710
adds r4, 1
blx sym.imp.strcpy
cmp r5, r4
beq 0xa8a8
--
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 0xf2e8
mov r0, r6
blx sym.imp.srand
adds r2, r0, 1
ldr r0, [0x0000b714]
movs r1, 0x4f
add r0, pc
bl 0xf7f0
cmp r0, 0
beq.w 0xb654
mov r1, r6
mov r4, r0
movs r6, 0x2d
blx sym.imp.__strcpy_chk
b 0xb4fc
strb r6, [r0]
--
bhs.w 0xb686
mov r0, r6
blx sym.imp.srand
movs r1, 0x6e
adds r2, r0, 1
mov r0, sb
bl 0xf7f0
mov r5, r0
cmp r0, 0
beq.w 0xb6c2
mov r0, r6
blx sym.imp.srand
movs r1, 0x75
adds r2, r0, 1
mov r0, sb
bl 0xf7f0
str r0, [sp, 0x14]
cmp r0, 0
beq.w 0xb6de
mov r1, r6
blx sym.imp.__strcpy_chk
ldr r1, [sp, 0x14]
ldrb r3, [r1]
cmp r3, 0x5c
it ne
cmpne r3, 0x2f
beq.w 0xb6a2
ldr r1, [0x0000b720]
add.w r8, sp, 0x20
ldr r0, [sp, 0x14]
mov r2, r8
add r1, pc
blx sym.imp.opendir
mov r1, r0
mov r0, r5
blx sym.imp.__strcpy_chk
ldr.w sb, [0x0000b724]
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 fp, r0
clz r3, r3
lsr.w r3, r3, 5
it eq
moveq r3, 0
cbz r3, 0xb624
mov.w sl, 0x2f
mov r0, r5
blx sym.imp.srand
strb.w sl, [r5, r0]
adds r0, 1
mov r1, fp
add r0, r5
blx sym.imp.__strcpy_chk
mov r0, r5
bl 0xb418
--
mov r0, sb
mov r2, r6
bl 0xf910
mov r2, r4
movs r1, 0x64
mov r0, sb
bl 0xf910
mvn r3, 1
str r3, [sp, 0x1c]
b 0xb65a
adds r0, r1, 1
ldr r1, [0x0000b734]
mov sb, r5
add.w r8, sp, 0x20
strb r3, [sb], 1
mov r2, r8
add r1, pc
blx sym.imp.opendir
mov r1, r0
mov r0, sb
blx sym.imp.__strcpy_chk
b 0xb5b8
movs r1, 0x70
--
mvn r3, 0x62
str r3, [sp, 0x14]
b 0xbc5a
mov r2, fp
movw r1, 0x1fb
mov r0, r6
bl 0xf910
mvn r3, 1
str r3, [sp, 0x14]
b 0xbc5a
mov r0, sl
blx sym.imp.srand
movw r1, 0x203
adds r2, r0, 1
mov r0, r6
bl 0xf7f0
mov r4, r0
cmp r0, 0
beq 0xbc8e
mov r1, sl
blx sym.imp.__strcpy_chk
ldr r1, [0x0000bd14]
mov r0, r4
--
add r1, sp, 0x30
mov r0, sb
blx sym.imp.getenv
mov r4, r0
cmp r0, 0
bne 0xc074
ldr r3, [sp, 0x40]
and r3, r3, 0xf000
cmp.w r3, 0x8000
bne 0xc074
mov r0, r5
blx sym.imp.srand
movw r1, 0x353
adds r2, r0, 1
mov r0, sl
bl 0xf7f0
ldr r2, [sp, 0x18]
str.w r0, [r2, fp, lsl 2]
cbz r0, 0xc160
mov r1, r5
blx sym.imp.__strcpy_chk
ldr r3, [sp, 0x18]
ldr r1, [sp, 0x20]
--
cmp r1, 0xf
it hi
movhi r5, r3
cmp r7, 0
beq 0xe4e4
mov r0, r7
blx sym.imp.srand
adds r2, r0, 2
ldr r0, [0x0000e510]
movw r1, 0x21b
str r2, [sp, 0x14]
add r0, pc
bl 0xf7f0
mov r6, r0
str r0, [sp, 0x10]
cmp r0, 0
beq 0xe4b8
rev16 r5, r5
mov r1, r7
strh r5, [r0], 2
blx sym.imp.__strcpy_chk
add r2, sp, 0x14
add r3, sp, 0x10
--
mov r1, sl
ldr r0, [r5]
bl 0x776c
ldr r0, [0x0000f24c]
mov r2, sl
movs r1, 0x73
add r0, pc
bl 0xf910
add r0, sp, 0x30
blx 0x2410
ldr r3, [sp, 0x30]
adds r3, 0xa
str r3, [sp, 0x30]
b 0xf1d4
mov r0, sb
blx 0x2410
ldrd r2, r3, [sp, 0x2c]
cmp r2, r3
bgt 0xf202
mov r0, r8
blx sym.imp.strcpy
mov r3, r7
ldr r0, [r5]
--
blx sym.imp.fwrite
ands r3, r4, 0xf
mov.w r0, 0x10
itt ne
addne r4, 0x10
subne r4, r4, r3
blx sym.imp.strftime
mov r5, r0
cmp r0, 0
beq 0xf8b6
mov r0, sb
mov.w sb, 0
strd sb, sb, [r5, 4]
str r4, [r5, 0xc]
blx sym.imp.strftime
str r0, [r5]
cmp r0, 0
beq 0xf8e0
mov r1, r7
str.w sb, [r0]
blx sym.imp.__strcpy_chk
movs r1, 1
add.w r0, r4, 0x10
--
beq 0xfa8c
vmov.i8 d16, 0x88
adds r2, r0, r5
ldr.w fp, [r4]
ldr r3, [r4, 0xc]
vstr d16, [r0]
vstr d16, [r2, 8]
mov r0, fp
str r5, [r4, 0xc]
rsb.w sb, r3, 0x20
ldr.w sl, [0x0000faac]
add sb, r8
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]
add sl, pc
--
ldr r3, [r4, 0x34]
cmp r3, 0
ble.w 0x127d8
ldr.w sb, [0x0001284c]
movs r6, 0
ldr r0, [sp]
add sb, pc
b 0x12686
ldr.w sl, [r4, 0x38]
mov r2, r5
movw r1, 0x21e
mov r0, sb
bl 0xf7f0
str.w r0, [sl, r6, lsl 2]
cmp r0, 0
beq.w 0x1254a
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 0x127d8
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 0x1254a
ldr.w sl, [r4, 0x38]
mov r2, r5
mov.w r1, 0x1ec
mov r0, sb
bl 0xf7f0
str.w r0, [sl, r6, lsl 2]
lsl.w sl, r6, 2
cmp r0, 0
beq.w 0x1254a
ldr r3, [r4, 0x38]
ldr r1, [sp]
ldr.w r0, [r3, r6, lsl 2]
blx sym.imp.__strcpy_chk
ldr r2, [sp]
adds r3, r2, r5
--
add r0, pc
bl 0xf7f0
mov r4, r0
cmp r0, 0
beq.w 0x12558
movs r2, 0x60
movs r1, 0
blx 0x2674
movs r3, 1
str r3, [r4, 0x58]
b 0x12528
ldr r0, [0x0001285c]
mov r2, r6
mov.w r1, 0x22c
add r0, pc
bl 0xf7f0
str r0, [r4, 0x34]
cmp r0, 0
beq.w 0x1254a
ldr r1, [sp]
blx sym.imp.__strcpy_chk
ldr r5, [sp]
b 0x125a4
--
movs r0, r0
ldrh r4, [r5, 0x2c]
movs r0, r0
lsls r4, r5, 8
movs r0, r0
strh r2, [r1, 0x1e]
movs r0, r0
strh r6, [r3, 0x1c]
movs r0, r0
push {r4, r5, r6, lr}
movs r2, 3
ldr r4, [0x00012b68]
movs r1, 0x69
mov r5, r0
add r4, pc
adds r4, 0x80
mov r0, r4
bl 0xf2e8
mov.w r0, 0x3e8
mul r0, r5, r0
blx sym.imp.strcpy
mov r0, r4
movs r3, 3
--
ldr.w r3, [sb]
cbz r3, 0x12e56
subs r4, 1
beq 0x12e56
ldr r3, [0x00012f08]
ldr.w fp, [r5, r3]
ldr.w r0, [fp]
blx 0x270c
cbnz r0, 0x12e62
ldr r2, [0x00012f0c]
mov.w r1, -1
movs r0, 3
add r2, pc
bl 0x8e8c
movs r2, 3
movs r1, 0x69
mov r0, r6
bl 0xf2e8
movw r0, 0x86a0
movt r0, 1
blx sym.imp.strcpy
mov r0, r6
movs r3, 3
--
cmp r3, 0x2d
bne 0x13102
movs r2, 5
ldrd r0, r1, [sp, 0x24]
movs r3, 0
bl 0x124ec
mov r6, r0
cmp r0, 0
beq 0x130ae
ldr r3, [sp, 0x1c]
add.w r8, r8, 1
ldr r0, [r3, r7]
blx sym.imp.srand
movw r1, 0x292
adds r2, r0, 1
ldr r0, [sp, 0x14]
bl 0xf7f0
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 0x2874
cmp r0, 0xa
bgt.w 0x139e8
ldr.w r6, [0x00013a78]
mov r0, sl
blx sym.imp.srand
movw r1, 0x359
adds r2, r0, 1
add r6, pc
movs r7, 0
mov r0, r6
bl 0xf7f0
mov r1, sl
str r0, [r4, 0x5c]
blx sym.imp.__strcpy_chk
ldr r2, [r4, 0x3c]
mov.w r1, 0x35c
--
blx sym.imp.fwrite
cmp r0, 0
bne.w 0x14cca
ldr.w r0, [fp]
ldr.w r5, [sb]
blx 0x270c
cmp r0, 0
bne.w 0x14c9e
ldr r4, [sp, 0x68]
orrs r4, r5
bne 0x149da
ldr.w r5, [0x0001543c]
movs r2, 3
movs r1, 0x69
add r5, pc
adds r5, 0x80
mov r0, r5
bl 0xf2e8
movw r0, 0x86a0
movt r0, 1
blx sym.imp.strcpy
mov r2, r4
mov r0, r5
[*] Function strcpy used 23 times libpaho-mqtt3a.so.1.3.11