[*] Binary protection state of userdbctl

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


[*] Function printf tear down of userdbctl

blt 0x23ca
ldr r3, [0x00002400]
ldr r3, [r4, r3]
ldr r6, [r3]
blx sym.imp.get_color_mode
cbnz r0, 0x23b8
ldr r7, [0x00002404]
add r7, pc
blx sym.imp.get_color_mode
cbz r0, 0x23c4
ldr r5, [0x00002408]
add r5, pc
ldr r0, [sp, 8]
mov r3, r7
ldr r1, [0x0000240c]
mov r2, r6
movs r4, 0
strd r5, r0, [sp]
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
ldr r0, [sp, 8]
blx sym.imp.free
--
mvnge r0, 0x55
b 0x245c
ldr r0, [r0, 0x28]
blx sym.imp.uid_is_valid
cbz r0, 0x254a
ldr r1, [0x000025e8]
movs r3, 0
ldr r0, [r4, 0x2c]
mov r2, r3
add r1, pc
blx sym.imp.strv_join_full
mov r5, r0
cmp r0, 0
beq 0x259a
ldr r1, [0x000025ec]
ldr r3, [r4, 0x28]
ldr r2, [r4, 0xc]
add r1, pc
str r0, [sp]
movs r0, 1
blx sym.imp.__printf_chk
mov r0, r5
blx sym.imp.free
--
mov r6, r0
mov r0, r4
blx sym.imp.user_record_real_name
mov r5, r0
cmp r0, 0
beq 0x27e6
mov r0, r4
blx sym.imp.user_record_home_directory
mov r3, r0
mov r0, r4
mov r4, r3
blx sym.imp.user_record_shell
ldr r1, [0x0000281c]
mov r3, r8
str r0, [sp, 0xc]
mov r2, r7
str r4, [sp, 8]
movs r0, 1
add r1, pc
strd r6, r5, [sp]
blx sym.imp.__printf_chk
b 0x265c
ldr r1, [0x00002820]
--
str r5, [sp, 0x20]
blx sym.imp.json_build
subs r4, r0, 0
blt 0x294c
ldr r1, [0x00002a24]
mov r3, r5
ldr r0, [sp, 0x20]
mov r2, r5
add r1, pc
ldr r1, [r1]
blx sym.imp.json_variant_dump
ldr r0, [sp, 0x20]
cbz r0, 0x28ea
blx sym.imp.json_variant_unref
b 0x28ea
ldr r1, [0x00002a28]
mov r3, r4
mov r2, r6
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
movs r4, 0
ldr r2, [0x00002a2c]
--
str r6, [sp]
blx sym.imp.table_add_many_internal
subs r4, r0, 0
bge 0x28ea
blx sym.imp.log_get_max_level
cmp r0, 2
ittt le
rsble r4, r4, 0
bicle r4, r4, 0x40000000
rsbs r4, r4, 0
bgt 0x29d6
cmp r4, 0
it ge
mvnge r4, 0x55
b 0x28ec
ldr r1, [0x00002a30]
mov r3, r6
mov r2, r4
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
b 0x28ea
blx sym.imp.log_get_max_level
--
str r3, [sp, 4]
add r2, pc
ldr r3, [0x00002edc]
adds r2, 7
add r3, pc
str r3, [sp]
movw r3, 0x3cd
blx sym.imp.log_internal
mov r4, r0
b 0x2cc4
mov r0, fp
blx sym.imp.table_get_rows
cmp r0, 1
bls 0x2dae
mov r0, fp
blx sym.imp.table_get_rows
ldr r1, [0x00002ee0]
subs r2, r0, 1
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
b 0x2c0a
ldr r0, [0x00002ee4]
--
ldr r3, [0x0000388c]
add r2, pc
add r0, pc
adds r2, 7
add r3, pc
strd r3, r0, [sp]
mov.w r3, 0x370
movs r0, 7
blx sym.imp.log_internal
b 0x35e6
mov r0, r6
blx sym.imp.table_get_rows
cmp r0, 1
bls 0x3790
mov r0, r6
blx sym.imp.table_get_rows
ldr r1, [0x00003890]
subs r2, r0, 1
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
b 0x3480
blx sym.imp.log_get_max_level
--
mov.w r3, -1
movs r0, 4
str r3, [sp, 8]
movs r3, 3
strd r3, r0, [sp]
mov r2, r5
mov r1, r4
movs r3, 2
mov r0, fp
blx sym.imp.table_set_display_internal
b 0x3eee
mov r0, fp
blx sym.imp.table_get_rows
mvns r3, r4
subs r3, r3, r5
adds r2, r3, r0
beq 0x41b6
ldr r1, [0x000044e0]
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
b 0x3d74
ldr r0, [sp, 0x78]
--
mov r1, r4
movs r3, 4
movs r4, 5
strd r3, r4, [sp, 4]
movs r3, 3
str r3, [sp]
mov r2, r5
movs r3, 2
mov r0, fp
blx sym.imp.table_set_display_internal
b 0x4b86
mov r0, fp
blx sym.imp.table_get_rows
mvns r3, r4
subs r3, r3, r5
adds r2, r3, r0
beq 0x4eaa
ldr r1, [0x000051e4]
movs r0, 1
add r1, pc
blx sym.imp.__printf_chk
b 0x49f4
ldr r0, [sp, 0x88]

[*] Function printf used 9 times userdbctl