[*] Binary protection state of curl

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


[*] Function printf tear down of curl

ands r2, r2, 0xff
itt eq
addeq r1, r5, 1
moveq r7, r2
bne 0x66a4
mov r0, sl
bl 0x657c
mov r4, r0
mov r0, sl
blx 0x461c
cbz r4, 0x66aa
mov r0, r4
pop.w {r4, r5, r6, r7, r8, sb, sl, pc}
mov r0, sl
blx 0x461c
ldr r4, [r8, 0xc]!
add.w sb, sb, 1
cmp r4, 0
bne 0x663c
blx sym.imp.__memset_chk
blx sym.imp.__fprintf_chk
cbz r0, 0x66e8
ldr r0, [r0, 0x14]
--
ldr r0, [sp, 0x18]
mov r1, r2
strb.w r3, [r2, ip]
blx 0x4340
ldr r2, [sp, 0x3c]
cmp r0, 0
beq.w 0x71ca
str r0, [sp, 0x18]
cmp r2, 0xd
beq.w 0x6d16
bgt.w 0x6d2e
adds r3, r2, 1
bne.w 0x6e48
mov r0, r7
blx 0x46ac
mov r6, r0
cmp r0, 0
bne.w 0x715c
mov r0, r7
mov r7, r6
blx sym.imp.curl_mvfprintf
cmp r5, 0x3b
beq.w 0x6aee
--
add r1, pc
ldr r0, [r3]
blx 0x45f4
ldr r0, [sp, 0x18]
blx 0x4634
b 0x7132
ldr r2, [sp, 0x54]
ldr r3, [0x00007248]
ldr r3, [r2, r3]
ldr r4, [r3]
blx 0x47e0
ldr r0, [r0]
blx 0x4388
ldr r1, [0x00007250]
mov r3, r0
ldr r2, [sp, 0x28]
mov r0, r4
add r1, pc
blx 0x45f4
mov r0, r7
blx sym.imp.curl_mvfprintf
ldr r0, [sp, 0x18]
blx 0x4634
--
mov r3, r0
ldr r2, [sp, 0x28]
mov r0, r6
add r1, pc
bl 0xb9d0
b 0x6ae8
ldr r2, [sp, 0x40]
cmp r2, 0
bne 0x7198
movs r2, 0
str r2, [sp, 0x18]
b 0x6c1c
ldr r2, [sp, 0x54]
ldr r3, [0x00007248]
ldr r1, [0x00007258]
ldr r3, [r2, r3]
add r1, pc
ldr r0, [r3]
blx 0x45f4
mov r0, r7
blx sym.imp.curl_mvfprintf
b 0x7182
blx sym.imp.isatty
--
ldrb r3, [r3, 1]
cmp r3, 0x2d
beq 0x7cbe
ldr r1, [0x00007e08]
add r1, pc
blx 0x4810
mov sl, r0
cmp r0, 0
beq.w 0x7dd6
mov r2, r0
add r1, sp, 0x18
add r0, sp, 0x14
bl 0xf480
ldr r3, [0x00007e0c]
mov r4, r0
ldr r5, [r5, r3]
ldr r3, [r5]
cmp r3, sl
beq 0x7c7e
mov r0, sl
blx sym.imp.curl_mvfprintf
cbnz r4, 0x7ca0
ldr r5, [sp, 0x14]
--
ldr.w r1, [0x00009be4]
mov r0, r2
str r2, [sp, 0x14]
add r1, pc
blx 0x4810
ldr r2, [sp, 0x14]
mov r7, r0
cmp r7, 0
beq.w 0x976e
mov r2, r7
add r1, sp, 0x50
add r0, sp, 0x4c
bl 0xf480
mov r3, r0
cmp r0, 0
beq.w 0x9754
cmp.w fp, 0
beq.w 0x7fca
str r0, [sp, 0xc]
mov r0, r7
blx sym.imp.curl_mvfprintf
ldr r3, [sp, 0xc]
b.w 0x7fca
--
add r1, pc
blx 0x4810
mov r7, r0
ldr.w r0, [sb, 0x1bc]
blx 0x42e0
movs r3, 0
mov r1, r7
str.w r3, [sb, 0x1bc]
add.w r0, sb, 0x1bc
bl 0xf3e4
mov r3, r0
cbz r7, 0x92aa
ldr.w r2, [0x00009bec]
ldr r1, [sp, 0x24]
ldr r2, [r1, r2]
ldr r2, [r2]
cmp r2, r7
beq 0x92aa
str r0, [sp, 0x14]
mov r0, r7
blx sym.imp.curl_mvfprintf
ldr r3, [sp, 0x14]
cmp r3, 0
--
mov r7, r0
cmp r0, 0
beq.w 0xa378
and r3, r6, 0xfb
cmp r3, 0x62
bne.w 0x977e
mov r2, r7
add r1, sp, 0x48
add r0, sp, 0x44
bl 0xf480
mov r3, r0
cbz r7, 0x95f2
ldr.w r2, [0x00009bec]
ldr r1, [sp, 0x24]
ldr r2, [r1, r2]
ldr r2, [r2]
cmp r2, r7
beq 0x95f2
mov r0, r7
str r3, [sp, 0x14]
blx sym.imp.curl_mvfprintf
ldr r3, [sp, 0x14]
cmp r3, 0
--
mov r0, r7
blx 0x42e0
cmp.w fp, 0
bne.w 0x8648
ldr.w r0, [sb, 0x5c]
blx 0x42e0
mov r0, r6
bl 0x127ac
mov r7, r0
str.w r7, [sb, 0x5c]
b.w 0x8234
movs r3, 1
str.w r3, [sb, 0x1cc]
b.w 0x8234
ldr r0, [sp, 0x4c]
cmp r0, 0
bne.w 0x9e2a
cmp.w fp, 0
beq.w 0x8234
mov r0, r7
blx sym.imp.curl_mvfprintf
b.w 0x8234
ldr.w r1, [0x00009c18]
--
b 0x9e60
ldr r1, [sp, 0x28]
blx 0x43d0
mov r1, r0
cmp r0, 0
beq.w 0x9ff2
cmp r6, 0x70
ite eq
ldreq r0, [sp, 0x14]
movne r0, sl
bl 0xfaec
cmp r0, 0
beq 0x9e52
str r0, [sp, 0xc]
ldr r0, [sp, 0x4c]
blx 0x42e0
ldr r3, [sp, 0xc]
cmp.w fp, 0
beq.w 0x7fca
mov r0, r7
blx sym.imp.curl_mvfprintf
ldr r3, [sp, 0xc]
b.w 0x7fca
--
ldr.w r0, [sb, 0x124]
cbz r0, 0x9fd2
blx 0x42e0
movs r3, 0
str.w r3, [sb, 0x124]
ldr r0, [sp, 0xc]
cmp r0, 0
beq.w 0x8230
blx 0x48ac
str.w r0, [sb, 0x124]
cmp r0, 0
bne.w 0x8234
b.w 0x8648
mov.w r0, 0x3e8
b 0x9ec0
ldr r0, [sp, 0x4c]
blx 0x42e0
cmp.w fp, 0
beq.w 0x8234
mov r0, r7
blx sym.imp.curl_mvfprintf
b.w 0x8234
ldr r0, [sp, 0x4c]
blx 0x42e0
cmp.w fp, 0
beq.w 0x8234
mov r0, r7
blx sym.imp.curl_mvfprintf
b.w 0x8234
ldr r0, [sp, 0xc]
--
bl 0x11734
ldr r0, [sp, 8]
add.w r3, r4, 0x28
ldm r3, {r2, r3}
ldm r0, {r0, r1}
bl 0x117b0
ldr.w r3, [r6, 0x254]
mov.w r2, 0x3e8
mul r3, r2, r3
cmp r0, r3
blt.w 0xbbf0
ldr r3, [r7, 0x18]
cmp r3, 1
beq.w 0xbf9c
ldrb.w r3, [r4, 0x87]
cmp r3, 0
beq 0xbe0c
ldr.w r0, [r4, 0x88]
cmp r0, 0
beq 0xbe0c
blx sym.imp.curl_mvfprintf
clz r3, r5
cmp r0, 0
--
ldrb r3, [r7, 1]
cmp r3, 0
beq.w 0xc07a
ldrb r3, [r7]
cmp r3, 0
bne.w 0xc07a
movs r5, 0x17
ldrb.w r3, [r6, 0x2ec]
cmp r3, 0
bne.w 0xc062
ldr.w r3, [r6, 0x1bc]
cbz r3, 0xbda0
mov r2, r5
mov r0, r6
mov r1, r4
bl 0x11d58
ldrb.w r3, [r4, 0xa7]
cbz r3, 0xbdb0
ldr.w r0, [r4, 0xa8]
cbz r0, 0xbdb0
blx sym.imp.curl_mvfprintf
ldrb.w r3, [r4, 0xa4]
cmp r3, 0
bne.w 0xbfc8
ldrb.w r3, [r4, 0xc7]
cbz r3, 0xbdca
ldr.w r0, [r4, 0xc8]
cbz r0, 0xbdca
blx sym.imp.curl_mvfprintf
ldrb.w r3, [r4, 0xc4]
cmp r3, 0
--
ldr.w r0, [0x0000d110]
add r0, pc
blx 0x44cc
mov fp, r0
ldr r0, [sp, 0x60]
blx 0x42e0
ldr r3, [sp, 0x1c]
str r3, [sp, 0x60]
cmp.w fp, 0
beq.w 0xcd48
mov r1, fp
add.w r0, r4, 0x1f0
bl 0xfaec
mov r3, r0
mov r0, fp
mov fp, r3
blx 0x42e0
cmp.w r8, 0
beq 0xc688
mov r0, r8
blx sym.imp.curl_mvfprintf
cmp.w fp, 0
beq 0xc6e0
--
str.w r3, [r8, 0x34]
ldr.w r3, [sl]
str.w fp, [r8, 0x10]
strb r2, [r6]
str.w r3, [r8, 0xa8]
cbz r0, 0xc816
ldrb r2, [r0]
cmp r2, 0x2d
bne 0xc7d2
ldrb r2, [r0, 1]
cbz r2, 0xc816
ldr.w r3, [r8, 4]
cbz r3, 0xc7de
ldr r3, [r3, 8]
cmp r4, r3
beq 0xc7f0
ldr.w r1, [0x0000d12c]
add r1, pc
blx 0x4810
cbz r0, 0xc7ee
blx sym.imp.curl_mvfprintf
ldr r0, [r4, 0x7c]
ldr.w r1, [0x0000d130]
--
b 0xc574
mov r0, fp
blx sym.imp.curl_multi_perform
ldrb.w r3, [sp, 0x47]
cbnz r3, 0xcd7a
ldr.w r0, [r4, 0x2d0]
blx 0x42e0
movs r3, 0
mov.w sl, 0x1b
str.w r3, [r4, 0x2d0]
b 0xc6a0
movs r3, 1
b 0xc5ee
ldrb r3, [r0, 1]
cmp r3, 0
beq.w 0xc70e
b 0xc6ee
cmp.w r8, 0
beq 0xcd54
mov r0, r8
blx sym.imp.curl_mvfprintf
ldr r1, [0x0000d150]
mov r0, r7
add r1, pc
bl 0xbaac
b 0xc68e
ldrb.w r3, [sl]
cmp r3, 0
beq.w 0xc506
b.w 0xc4fc
ldrb.w r3, [sl]
cmp r3, 0
beq.w 0xc5e0
b 0xc5d6
ldr r0, [sp, 0x48]
blx sym.imp.curl_mvfprintf
ldr.w r0, [r4, 0x2d0]
blx 0x42e0
--
bhi.w 0xee34
movw r2, 0x4001
movt r2, 0x21
lsrs r2, r1
ands r2, r2, 1
bne.w 0xee14
ldrb.w r2, [r5, 0x20]
cmp r3, 0
bne.w 0xeb86
ldrb.w r3, [sp, 0x3d]
eor r3, r3, 1
orrs r3, r2
ands r2, r3, 0xff
beq.w 0xeb96
mov r1, fp
movs r2, 1
mov r0, r5
ldrh.w r8, [sp, 0x1c]
bl 0x1052c
mov r0, r7
blx sym.imp.curl_mfprintf
ldr.w r6, [0x0000ee70]
add r6, pc
--
str.w r0, [sl, 0x2c0]
cmp r0, 0
beq 0x10156
bl 0x5ee0
ldr.w r3, [sl, 0x2c0]
str.w fp, [r3, 0x2b8]
str.w r3, [fp, 0x40]
str.w sl, [r3, 0x2bc]
mov sl, r3
b 0xff5e
ldrd r5, sb, [sp, 0x28]
mov r0, r7
bl 0x12698
ldr r3, [0x0001016c]
ldr r2, [sp, 0xc]
ldr.w r3, [sb, r3]
ldr r3, [r3]
cmp r3, r2
beq 0x1010e
mov r0, r2
blx sym.imp.curl_mvfprintf
ldrb.w r3, [sp, 0x33]
cmp r3, 0
--
bhs 0x10b28
movs r0, r0
lsls r0, r0, 0xa
movs r0, r0
bhi 0x10ad0
movs r0, r0
push {r4, r5, r6, lr}
ldr r5, [0x00010b8c]
add r5, pc
cbz r0, 0x10b5e
ldrb r3, [r0]
mov r4, r0
cmp r3, 0x2d
beq 0x10b60
ldr r6, [0x00010b90]
mov r0, r4
add r6, pc
mov r1, r6
blx 0x4810
cbz r0, 0x10b74
blx sym.imp.curl_mvfprintf
ldr r3, [0x00010b94]
mov r0, r4

[*] Function printf used 22 times curl