[*] Binary protection state of e4crypt

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


[*] Function printf tear down of e4crypt

blx 0xd5c
ldr r1, [r5]
ldr r0, [r4, 0xc]
blx 0xe7c
movs r0, 1
blx 0xe58
movs r1, 0
movs r0, 1
bl 0x11d0
subs r4, r0, 0
blt 0x1298
movs r1, 0
movs r0, 0x12
bl 0x11d0
cmp r0, 0
blt 0x128a
ldr r1, [0x000012b4]
mov r2, r4
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
movs r0, 0
blx 0xe58
--
ldr r3, [0x000013d4]
movw sb, 0x6615
ldr r6, [0x000013d8]
adds r4, r1, 4
movs r7, 1
movt sb, 0x400c
add r3, pc
add r6, pc
str r3, [sp, 4]
b 0x131e
blx 0xe64
ldr r0, [r0]
adds r7, 1
ldr r5, [r4, -0x4]
blx sym.imp.strerror
ldr r1, [0x000013dc]
mov r3, r0
mov r2, r5
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
cmp r8, r7
beq 0x1380
--
movs r1, 0
blx sym.imp.open
adds r3, r0, 1
mov fp, r4
mov r5, r0
add.w r4, r4, 4
beq 0x1386
add r2, sp, 8
mov r1, sb
blx 0xcfc
mov fp, r0
mov r0, r5
blx 0xd50
cmp.w fp, 0
bne 0x12fc
add.w fp, sp, 0xb
add.w r5, sp, 0x13
ldr r2, [r4, -0x4]
movs r0, 1
ldr r1, [sp, 4]
blx sym.imp.__printf_chk
ldrb r2, [fp, 1]!
mov r1, r6
movs r0, 1
blx sym.imp.__printf_chk
cmp r5, fp
bne 0x135c
--
ble 0x1428
ldr r4, [0x0000149c]
ldr r0, [0x000014a0]
ldr r7, [r1, 4]
add r4, pc
add r0, pc
ldr r3, [r4, 0x10]
lsls r2, r3, 0x1f
bmi 0x1414
mov r1, r7
blx 0xe4c
mov r5, r0
cbz r0, 0x146e
ldr r0, [r4, 0x14]!
cmp r0, 0
bne 0x1404
ldr r1, [0x000014a4]
mov r2, r7
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
ldr r3, [0x000014a8]
movs r2, 0x14
ldr r0, [0x000014ac]
movs r1, 1
ldr r4, [0x000014b0]
ldr r3, [r6, r3]
ldr r5, [0x000014b4]
add r0, pc
ldr r7, [0x000014b8]
add r4, pc
ldr r3, [r3]
add r5, pc
add r7, pc
blx 0xd5c
ldr r3, [r4, 0x10]
lsls r3, r3, 0x1f
bmi 0x1458
ldr r3, [r4, 8]
mov r2, r5
mov r1, r7
movs r0, 1
blx sym.imp.__printf_chk
ldr r5, [r4, 0x14]!
cmp r5, 0
--
movs r1, 0x64
mov r0, sl
mul r1, r7, r1
str r7, [r4, 0xc]
blx 0xe04
mov sl, r0
str r0, [r4, 4]
cmp r0, 0
beq 0x16e4
ldr r7, [r4, 8]
b 0x1562
add r4, sp, 4
mov r0, sb
mov r1, r4
blx 0xdf8
ldr r1, [0x00001740]
mov r3, r4
mov r2, r8
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
b 0x15f4
ldrb.w r7, [r8, 1]
--
str r0, [r6, -0x10]
str r1, [r6, -0xc]
str r2, [r6, -0x8]
str r3, [r6, -0x4]
bne 0x18ac
ldr r2, str.Unrecognized_option:__c_n
ldr r3, [0x00001904]
add r2, pc
ldr r3, [r2, r3]
ldr r2, [r3]
ldr.w r3, [sp, 0x9cc]
eors r2, r3
mov.w r3, 0
bne 0x18fa
addw sp, sp, 0x9d4
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r1, [0x00001910]
mov.w r3, 0x100
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
movs r0, 1
blx 0xe58
--
ldr.w r0, [sl, 0x15]
add r3, sp, 0x2c
ldr.w r1, [sl, 0x19]
add.w r4, sl, 4
strb.w r2, [sp, 0x2b]
add r2, sp, 0x28
stm r3!, {r0, r1}
mov r0, r5
ldr r1, [sp, 0x10]
blx 0xcfc
mov sl, r0
mov r0, r5
blx 0xd50
cmp.w sl, 0
bne 0x1a1a
ldr r1, [0x00001aec]
mov r2, r4
ldr r3, [r6, -0x4]
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
ldr r3, [sp, 0xc]
adds r7, 1
--
ldr r3, [0x00001ae0]
add r2, pc
ldr r3, [r2, r3]
ldr r2, [r3]
ldr r3, [sp, 0x44]
eors r2, r3
mov.w r3, 0
bne 0x1aca
add sp, 0x4c
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
blx 0xe64
ldr r0, [r0]
blx sym.imp.strerror
ldr r5, [r6, -0x4]
mov r2, r0
ldr r1, [0x00001af4]
mov r3, r4
movs r0, 1
str r5, [sp]
add r1, pc
blx sym.imp.__printf_chk
b 0x19f8
add r3, sp, 0x34
--
bne 0x1b32
ldr r3, [0x00001c50]
ldr r3, [r6, r3]
ldr r2, [r3]
str r3, [sp, 0xc]
adds r3, r2, 1
cmp r3, r4
bge 0x1bde
ldr.w r7, [r5, r2, lsl 2]
str r3, [sp, 8]
mov r0, r7
blx 0xd08
cmp r0, 0x10
ldr r3, [sp, 8]
beq 0x1b8a
ldr r1, [0x00001c54]
movs r3, 0x10
mov r2, r7
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
movs r0, 1
blx 0xe58
--
mov r0, r5
ldr r1, [sp, 8]
ldr r3, [r6, r3]
ldr r2, [r3]
str r3, [sp, 0x24]
bl 0x10f4
cbnz r4, 0x1dba
ldr r3, [sp, 0x24]
ldr r7, [sp, 8]
ldr.w sb, [r3]
b 0x1db6
ldr.w r0, [r7, sb, lsl 2]
movs r1, 2
add.w sb, sb, 1
bl 0x14c4
cmp sb, r5
blt 0x1da8
ldr r1, [0x0000219c]
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
add r3, sp, 0x74
movs r0, 0
--
beq 0x1fae
add.w sl, sl, 1
add.w r8, r8, 0xc
cmp.w sl, 6
bne 0x1eba
add.w r8, sp, 0x34
movs r2, 0xa
mov r1, r8
mov r0, r7
blx 0xd20
ldr r3, [sp, 0x34]
mov r8, r0
ldrb r3, [r3]
cmp r3, 0
beq.w 0x20b2
ldr r1, [0x000021b8]
mov r8, r7
add r1, pc
mov r2, r8
movs r0, 1
blx sym.imp.__printf_chk
b 0x1f68
ldr r1, [0x000021bc]
--
ldr r1, [0x000021e8]
movs r3, 0x48
str r3, [sp]
mov r2, r5
ldr r3, [sp, 0x1c]
movw r0, 0x135
add r1, pc
str.w r8, [sp, 4]
blx 0xe28
adds r0, 1
beq 0x2124
ldr r3, [0x000021ec]
add r3, pc
ldr r3, [r3]
lsls r3, r3, 0x1e
bmi 0x1ff8
ldr r1, [0x000021f0]
mov r2, fp
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
b 0x1ff8
mov r0, sl
mov r2, r3
mov r1, r8
bl 0x11d0
cmp r0, 0
blt.w 0x1eee
cmp.w r8, 0
bne.w 0x1fc0
b 0x1eee
movs r2, 0
mov r1, r8
mov r0, r2
bl 0x11d0
subs.w r8, r0, 0
bge 0x207e
ldr.w r0, [sl]
blx sym.imp.strerror
ldr r1, [0x000021f4]
mov r2, r0
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
movs r0, 1
blx 0xe58
ldr r1, [0x000021f8]
mov r2, fp
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
b 0x1ff8
mov r0, r4
--
ldr r0, [0x000021fc]
ldr r3, [0x0000217c]
add r0, pc
b 0x1f5c
addw r0, sl, 0x40f
b 0x1e1c
ldr r0, [0x00002200]
add r0, pc
blx 0xdc8
movs r0, 1
blx 0xe58
ldr.w r0, [sl]
cmp r0, 0x7a
beq 0x2162
blx sym.imp.strerror
ldr r1, [0x00002204]
mov r3, r0
mov r2, fp
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
b 0x1f68
blx sym.imp.strerror
ldr r1, [0x00002208]
mov r2, r0
movs r0, 1
mov r8, r7
add r1, pc
blx sym.imp.__printf_chk
ldr.w r3, [sl]
cmp r3, 0x16

[*] Function printf used 18 times e4crypt