[*] Binary protection state of libxt_time.so
RELRO CANARY NX PIE RPATH RUNPATH SYMBOLS
No RELRO No Canary found NX disabled DSO No RPATH No RUNPATH Symbols
[*] Function printf tear down of libxt_time.so
sw s1, 0x1c(sp)
sw s0, 0x18(sp)
sw gp, 0x10(sp)
move s3, a0
andi s2, a1, 0xff
addiu s0, zero, 1
move v1, zero
addiu s5, zero, 1
addiu s4, zero, 0xa
addiu fp, zero, 2
addiu s7, zero, 3
addiu s6, zero, 0x20
sllv v0, s5, s0
and v0, v0, s3
beqz v0, 0xb18
nop
beqz v1, 0xa84
addiu s1, v1, 1
lw t9, -sym.imp.putchar(gp)
nop
jalr t9
addiu a0, zero, 0x2c
lw gp, 0x10(sp)
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
addiu a0, a0, section..rodata
jalr t9
move a1, s0
lw gp, 0x10(sp)
beqz s2, 0xb18
move v1, s1
bnez s4, 0xab0
divu zero, s0, s4
break 7
mfhi v0
beq v0, fp, 0xadc
nop
beq v0, s7, 0xaec
nop
lw t9, -sym.imp.printf(gp)
bne v0, s5, 0xafc
nop
lw a0, -0x7fdc(gp)
b 0xb08
addiu a0, a0, 0x1d8c
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
b 0xb08
addiu a0, a0, 0x1d90
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
b 0xb08
addiu a0, a0, 0x1d94
lw a0, -0x7fdc(gp)
nop
addiu a0, a0, 0x1d98
jalr t9
nop
lw gp, 0x10(sp)
move v1, s1
addiu s0, s0, 1
bne s0, s6, 0xa58
sllv v0, s5, s0
lw t9, -sym.imp.putchar(gp)
lw ra, 0x3c(sp)
lw fp, 0x38(sp)
lw s7, 0x34(sp)
lw s6, 0x30(sp)
lw s5, 0x2c(sp)
lw s4, 0x28(sp)
lw s3, 0x24(sp)
--
sw s7, 0x38(sp)
sw s6, 0x34(sp)
sw s5, 0x30(sp)
sw s4, 0x2c(sp)
sw s3, 0x28(sp)
sw s2, 0x24(sp)
sw s1, 0x20(sp)
sw s0, 0x1c(sp)
sw gp, 0x10(sp)
lw v0, -0x7fe8(gp)
move s3, a0
addiu s2, v0, 0x24f0
lw v0, -0x7fdc(gp)
addiu s0, zero, 1
addiu s7, v0, 0x1da0
lw v0, -0x7fdc(gp)
move s1, zero
addiu s6, v0, 0x1d9c
addiu s5, zero, 1
addiu s4, zero, 8
sllv v0, s5, s0
and v0, v0, s3
beqz v0, 0xbf4
move a0, s6
lw v0, (s2)
lw t9, -sym.imp.printf(gp)
bnez s1, 0xbe8
move a1, v0
move a1, v0
move a0, s7
jalr t9
addiu s1, s1, 1
lw gp, 0x10(sp)
addiu s0, s0, 1
bne s0, s4, 0xbc0
addiu s2, s2, 4
lw t9, -sym.imp.putchar(gp)
lw ra, 0x3c(sp)
lw s7, 0x38(sp)
lw s6, 0x34(sp)
lw s5, 0x30(sp)
lw s4, 0x2c(sp)
lw s3, 0x28(sp)
lw s2, 0x24(sp)
lw s1, 0x20(sp)
lw s0, 0x1c(sp)
addiu a0, zero, 0x20
jr t9
addiu sp, sp, 0x40
lui gp, 2
addiu gp, gp, -0x6644
addu gp, gp, t9
addiu sp, sp, -0x30
sw ra, 0x2c(sp)
sw s0, 0x28(sp)
sw gp, 0x20(sp)
sw a0, 0x30(sp)
beqz a0, 0xd00
move s0, a1
lui v0, 0x7fff
ori v0, v0, 0xffff
beq a0, v0, 0xd00
nop
lw t9, -sym.imp.localtime(gp)
nop
jalr t9
addiu a0, sp, 0x30
lw gp, 0x20(sp)
lw a2, 0x14(v0)
lw t0, 0x10(v0)
lw a3, 0xc(v0)
lw t9, -sym.imp.printf(gp)
beqz s0, 0xccc
move v1, v0
sw a3, 0x10(sp)
lw v0, 8(v0)
lw a0, -0x7fdc(gp)
sw v0, 0x14(sp)
lw v0, 4(v1)
addiu a0, a0, str._s__04u__02u__02uT_02u:_02u:_02u
sw v0, 0x18(sp)
lw v0, (v1)
move a1, s0
sw v0, 0x1c(sp)
addiu a2, a2, 0x76c
b 0xcf4
addiu a3, t0, 1
lw v0, 8(v0)
lw a0, -0x7fdc(gp)
sw v0, 0x10(sp)
lw v0, 4(v1)
addiu a1, a2, 0x76c
--
sw s0, 0x2c(sp)
sw gp, 0x10(sp)
addiu s3, a1, 0x20
lw a0, 8(s3)
nop
bnez a0, 0xd68
move s5, a1
lui v0, 1
lw v1, 0xc(s3)
ori v0, v0, 0x517f
beq v1, v0, 0xdec
nop
lw v0, -0x7fdc(gp)
addiu s1, sp, 0x1c
addiu s4, v0, sym.divide_time
addiu s2, sp, 0x20
addiu s0, sp, 0x18
move a1, s0
move a2, s1
move t9, s4
jalr t9
move a3, s2
lw gp, 0x10(sp)
lw a1, 0x18(sp)
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
lw a2, 0x1c(sp)
lw a3, 0x20(sp)
jalr t9
addiu a0, a0, str.__timestart__02u:_02u:_02u
lw a0, 0xc(s3)
move a1, s0
move a2, s1
move t9, s4
jalr t9
move a3, s2
lw gp, 0x10(sp)
lw a1, 0x18(sp)
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
lw a2, 0x1c(sp)
lw a3, 0x20(sp)
jalr t9
addiu a0, a0, str.__timestop__02u:_02u:_02u
lw gp, 0x10(sp)
lw v1, 0x10(s3)
addiu v0, zero, -2
beq v1, v0, 0xe30
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.__monthdays
lw gp, 0x10(sp)
lw a0, 0x10(s3)
lw t9, -0x7fdc(gp)
nop
addiu t9, t9, sym.time_print_monthdays
jalr t9
move a1, zero
lw gp, 0x10(sp)
lbu v1, 0x14(s3)
addiu v0, zero, 0xfe
beq v1, v0, 0xe90
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.___weekdays__days_
lw gp, 0x10(sp)
lbu a0, 0x14(s3)
lw t9, -0x7fdc(gp)
nop
addiu t9, t9, sym.time_print_weekdays
jalr t9
nop
lw gp, 0x10(sp)
nop
lw t9, -sym.imp.putchar(gp)
nop
jalr t9
addiu a0, zero, 0x20
lw gp, 0x10(sp)
nop
lw v0, -0x7fdc(gp)
lw a1, -0x7fdc(gp)
addiu s0, v0, sym.time_print_date
lw a0, 0x20(s5)
move t9, s0
jalr t9
addiu a1, a1, 0x1fac
lw gp, 0x10(sp)
lw a0, 4(s3)
lw a1, -0x7fdc(gp)
move t9, s0
jalr t9
addiu a1, a1, 0x1ff8
lbu v0, 0x15(s3)
lw gp, 0x10(sp)
andi v0, v0, 1
bnez v0, 0xef0
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.__utc
lw gp, 0x10(sp)
lw ra, 0x44(sp)
lw s5, 0x40(sp)
lw s4, 0x3c(sp)
lw s3, 0x38(sp)
lw s2, 0x34(sp)
lw s1, 0x30(sp)
lw s0, 0x2c(sp)
jr ra
addiu sp, sp, 0x48
lui gp, 2
addiu gp, gp, -0x6924
addu gp, gp, t9
addiu sp, sp, -0x48
sw ra, 0x44(sp)
sw s5, 0x40(sp)
sw s4, 0x3c(sp)
sw s3, 0x38(sp)
sw s2, 0x34(sp)
sw s1, 0x30(sp)
sw s0, 0x2c(sp)
sw gp, 0x10(sp)
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
addiu a0, a0, str.TIME
addiu s3, a1, 0x20
jalr t9
move s5, a1
lw a0, 8(s3)
lw gp, 0x10(sp)
bnez a0, 0xf7c
lui v0, 1
lw v1, 0xc(s3)
ori v0, v0, 0x517f
beq v1, v0, 0x1000
nop
lw v0, -0x7fdc(gp)
addiu s1, sp, 0x1c
addiu s4, v0, sym.divide_time
addiu s2, sp, 0x20
addiu s0, sp, 0x18
move a1, s0
move a2, s1
move t9, s4
jalr t9
move a3, s2
lw gp, 0x10(sp)
lw a1, 0x18(sp)
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
lw a2, 0x1c(sp)
lw a3, 0x20(sp)
jalr t9
addiu a0, a0, str.from__02u:_02u:_02u
lw a0, 0xc(s3)
move a1, s0
move a2, s1
move t9, s4
jalr t9
move a3, s2
lw gp, 0x10(sp)
lw a1, 0x18(sp)
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
lw a2, 0x1c(sp)
lw a3, 0x20(sp)
jalr t9
addiu a0, a0, str.to__02u:_02u:_02u
lw gp, 0x10(sp)
lbu v1, 0x14(s3)
addiu v0, zero, 0xfe
beq v1, v0, 0x1044
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, 0x1e84
lw gp, 0x10(sp)
lbu a0, 0x14(s3)
lw t9, -0x7fdc(gp)
nop
addiu t9, t9, sym.time_print_weekdays
jalr t9
nop
lw gp, 0x10(sp)
lw v1, 0x10(s3)
addiu v0, zero, -2
beq v1, v0, 0x1088
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, 0x1e84
lw gp, 0x10(sp)
lw a0, 0x10(s3)
lw t9, -0x7fdc(gp)
nop
addiu t9, t9, sym.time_print_monthdays
jalr t9
addiu a1, zero, 1
lw gp, 0x10(sp)
lw v0, 0x20(s5)
nop
beqz v0, 0x10d0
lui v0, 0x7fff
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.starting_from
lw gp, 0x10(sp)
lw a0, 0x20(s5)
lw t9, -0x7fdc(gp)
nop
addiu t9, t9, sym.time_print_date
jalr t9
move a1, zero
lw gp, 0x10(sp)
lui v0, 0x7fff
lw v1, 4(s3)
ori v0, v0, 0xffff
beq v1, v0, 0x1114
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.until_date
lw gp, 0x10(sp)
lw a0, 4(s3)
lw t9, -0x7fdc(gp)
nop
addiu t9, t9, sym.time_print_date
jalr t9
move a1, zero
lw gp, 0x10(sp)
lbu v0, 0x15(s3)
nop
andi v0, v0, 1
bnez v0, 0x1140
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.UTC
lw gp, 0x10(sp)
lw ra, 0x44(sp)
lw s5, 0x40(sp)
lw s4, 0x3c(sp)
lw s3, 0x38(sp)
lw s2, 0x34(sp)
lw s1, 0x30(sp)
lw s0, 0x2c(sp)
jr ra
addiu sp, sp, 0x48
lui gp, 2
addiu gp, gp, -0x6b74
addu gp, gp, t9
addiu sp, sp, -0x38
sw ra, 0x34(sp)
sw s3, 0x30(sp)
sw s2, 0x2c(sp)
--
addu gp, gp, t9
addiu sp, sp, -0x38
sw ra, 0x34(sp)
sw s4, 0x30(sp)
sw s3, 0x2c(sp)
sw s2, 0x28(sp)
sw s1, 0x24(sp)
sw s0, 0x20(sp)
sw gp, 0x18(sp)
lw s1, (a2)
move s4, a1
move s3, a2
move s2, a0
beqz s1, 0x161c
move a1, a3
lb v0, (s1)
nop
beqz v0, 0x1620
move v0, zero
lw t9, -sym.imp.strchr(gp)
nop
jalr t9
move a0, s1
lw gp, 0x18(sp)
nop
lw t9, -sym.imp.snprintf(gp)
bnez v0, 0x15ec
move s0, v0
lw a2, -0x7fdc(gp)
move a1, s4
addiu a2, a2, 0x1da0
move a3, s1
jalr t9
move a0, s2
lw gp, 0x18(sp)
b 0x1614
sw zero, (s3)
lw a2, -0x7fdc(gp)
sw s1, 0x10(sp)
move a1, s4
addiu a2, a2, str._.s
subu a3, v0, s1
jalr t9
move a0, s2
addiu v0, s0, 1
lw gp, 0x18(sp)
[*] Function printf used 20 times libxt_time.so