[*] Binary protection state of libxt_string.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_string.so
lw ra, 0x1c(sp)
nop
jr ra
addiu sp, sp, 0x20
lui gp, 2
addiu gp, gp, -0x68d4
addu gp, gp, t9
lw a0, -0x7fe8(gp)
lw t9, -sym.imp.xtables_register_matches(gp)
addiu a0, a0, 0x20e0
jr t9
addiu a1, zero, 2
lui gp, 2
addiu gp, gp, -0x68f4
addu gp, gp, t9
addiu sp, sp, -0x30
sw ra, 0x2c(sp)
sw s4, 0x28(sp)
sw s3, 0x24(sp)
sw s2, 0x20(sp)
sw s1, 0x1c(sp)
sw s0, 0x18(sp)
sw gp, 0x10(sp)
move s2, a0
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
addiu a0, a0, 0x1ae4
jalr t9
andi s1, a1, 0xffff
lw gp, 0x10(sp)
move s0, zero
lw v0, -0x7fdc(gp)
nop
addiu s4, v0, 0x1aec
lw v0, -0x7fdc(gp)
b 0xae0
addiu s3, v0, 0x1ae8
lbu v1, (a1)
lw t9, -sym.imp.printf(gp)
sltiu v0, v1, 0x10
bnez v0, 0xad4
move a1, v1
move a1, v1
move a0, s4
jalr t9
addiu s0, s0, 1
lw gp, 0x10(sp)
sltu v0, s0, s1
addu a1, s2, s0
bnez v0, 0xab8
move a0, s3
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
lw ra, 0x2c(sp)
lw s4, 0x28(sp)
lw s3, 0x24(sp)
lw s2, 0x20(sp)
lw s1, 0x1c(sp)
lw s0, 0x18(sp)
addiu a0, a0, 0x1af0
jr t9
addiu sp, sp, 0x30
lui gp, 2
addiu gp, gp, -0x69bc
addu gp, gp, t9
addiu sp, sp, -0x30
sw ra, 0x2c(sp)
sw s3, 0x28(sp)
sw s2, 0x24(sp)
sw s1, 0x20(sp)
sw s0, 0x1c(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.putchar(gp)
--
andi s2, a1, 0xffff
jalr t9
move s1, zero
lw gp, 0x10(sp)
b 0xba4
addiu s3, zero, 0x22
lb v0, (s0)
nop
bne v0, s3, 0xb90
nop
lw t9, -sym.imp.putchar(gp)
nop
jalr t9
addiu a0, zero, 0x5c
lw gp, 0x10(sp)
nop
lw t9, -sym.imp.putchar(gp)
lbu a0, (s0)
jalr t9
addiu s0, s0, 1
lw gp, 0x10(sp)
sltu v0, s1, s2
bnez v0, 0xb68
addiu s1, s1, 1
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
lw ra, 0x2c(sp)
lw s3, 0x28(sp)
lw s2, 0x24(sp)
lw s1, 0x20(sp)
lw s0, 0x1c(sp)
addiu a0, a0, 0x1af4
jr t9
addiu sp, sp, 0x30
lui gp, 2
addiu gp, gp, -0x6a78
addu gp, gp, t9
addiu sp, sp, -0x28
sw ra, 0x24(sp)
sw s2, 0x20(sp)
sw s1, 0x1c(sp)
sw s0, 0x18(sp)
sw gp, 0x10(sp)
lbu s2, 0x1f(a1)
move s1, a1
bnez s2, 0xc18
--
sll v0, v0, 1
addu v0, a3, v0
lhu v0, (v0)
nop
andi v0, v0, 0x40
beqz v0, 0xc80
nop
sltu v0, v1, a2
addu a0, s0, v1
bnez v0, 0xc38
addiu v1, v1, 1
addu v0, s0, a2
lb v1, 0x13(v0)
addiu v0, zero, 0x5c
bne v1, v0, 0xdb4
nop
bnez a1, 0xc94
nop
lw v0, -0x7fdc(gp)
b 0xca0
addiu a1, v0, 0x1b44
lw v0, -0x7fdc(gp)
nop
addiu a1, v0, 0x1af8
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str._s__hex_string
lw gp, 0x10(sp)
lbu a1, 0x94(s0)
lw t9, -0x7fdc(gp)
addiu a0, s0, 0x14
b 0xd00
addiu t9, t9, sym.print_hex_string
lw v0, -0x7fdc(gp)
nop
addiu a1, v0, 0x1b44
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str._s__string
lw gp, 0x10(sp)
lbu a1, 0x94(s0)
lw t9, -0x7fdc(gp)
addiu a0, s0, 0x14
addiu t9, t9, sym.print_string
jalr t9
nop
lw gp, 0x10(sp)
addiu a1, s0, 4
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.__algo__s
lhu a1, 0x20(s1)
lw gp, 0x10(sp)
beqz a1, 0xd4c
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.__from__u
lw gp, 0x10(sp)
lhu a1, 2(s0)
nop
beqz a1, 0xd74
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.__to__u
lw gp, 0x10(sp)
beqz s2, 0xdc8
nop
lbu v0, 0x95(s0)
nop
andi v0, v0, 2
beqz v0, 0xdc8
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
lw ra, 0x24(sp)
lw s2, 0x20(sp)
lw s1, 0x1c(sp)
lw s0, 0x18(sp)
addiu a0, a0, str.__icase
jr t9
addiu sp, sp, 0x28
beqz a1, 0xccc
nop
lw v0, -0x7fdc(gp)
b 0xcd8
addiu a1, v0, 0x1af8
lw ra, 0x24(sp)
lw s2, 0x20(sp)
lw s1, 0x1c(sp)
lw s0, 0x18(sp)
jr ra
addiu sp, sp, 0x28
lui gp, 2
addiu gp, gp, -0x6c80
--
sll v0, v0, 1
addu v0, a3, v0
lhu v0, (v0)
nop
andi v0, v0, 0x40
beqz v0, 0xe88
nop
sltu v0, v1, a2
addu a0, s0, v1
bnez v0, 0xe40
addiu v1, v1, 1
addu v0, s0, a2
lb v1, 0x13(v0)
addiu v0, zero, 0x5c
bne v1, v0, 0xfbc
nop
bnez a1, 0xe9c
nop
lw v0, -0x7fdc(gp)
b 0xea8
addiu a1, v0, 0x1b44
lw v0, -0x7fdc(gp)
nop
addiu a1, v0, 0x1b48
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.STRING_match__s
lw gp, 0x10(sp)
lbu a1, 0x94(s0)
lw t9, -0x7fdc(gp)
addiu a0, s0, 0x14
b 0xf08
addiu t9, t9, sym.print_hex_string
lw v0, -0x7fdc(gp)
nop
addiu a1, v0, 0x1b44
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.STRING_match__s
lw gp, 0x10(sp)
lbu a1, 0x94(s0)
lw t9, -0x7fdc(gp)
addiu a0, s0, 0x14
addiu t9, t9, sym.print_string
jalr t9
nop
lw gp, 0x10(sp)
addiu a1, s0, 4
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.ALGO_name__s
lhu a1, 0x20(s1)
lw gp, 0x10(sp)
beqz a1, 0xf54
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.FROM__u
lw gp, 0x10(sp)
lhu a1, 2(s0)
nop
beqz a1, 0xf7c
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, str.TO__u
lw gp, 0x10(sp)
beqz s2, 0xfd0
nop
lbu v0, 0x95(s0)
nop
andi v0, v0, 2
beqz v0, 0xfd0
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
lw ra, 0x24(sp)
lw s2, 0x20(sp)
lw s1, 0x1c(sp)
lw s0, 0x18(sp)
addiu a0, a0, str.ICASE
jr t9
addiu sp, sp, 0x28
beqz a1, 0xed4
nop
lw v0, -0x7fdc(gp)
b 0xee0
addiu a1, v0, 0x1b48
lw ra, 0x24(sp)
lw s2, 0x20(sp)
lw s1, 0x1c(sp)
lw s0, 0x18(sp)
jr ra
addiu sp, sp, 0x28
lui gp, 2
addiu gp, gp, -0x6e88
[*] Function printf used 16 times libxt_string.so