[*] Binary protection state of libxt_multiport.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_multiport.so

addiu a1, v0, 0x1e7c
lw v0, -0x7fdc(gp)
b 0xc10
addiu a1, v0, str.udplite
lw v0, -0x7fdc(gp)
b 0xc10
addiu a1, v0, str.sctp
lw v0, -0x7fdc(gp)
b 0xc10
addiu a1, v0, str.dccp
move a1, zero
sll a0, s0, 8
lw t9, -sym.imp.getservbyport(gp)
srl v0, s0, 8
andi a0, a0, 0xffff
jalr t9
or a0, a0, v0
lw gp, 0x10(sp)
beqz v0, 0xc44
nop
lw a1, (v0)
nop
bnez a1, 0xc58
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
addiu a0, a0, 0x1ef0
b 0xc64
move a1, s0
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
addiu a0, a0, 0x1ef4
lw ra, 0x1c(sp)
lw s0, 0x18(sp)
jr t9
addiu sp, sp, 0x20
lui gp, 2
addiu gp, gp, -0x6864
addu gp, gp, t9
addiu sp, sp, -0x38
sw ra, 0x34(sp)
sw s6, 0x30(sp)
sw s5, 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)
addiu s1, a0, 0x20
lbu v0, 0x2f(s1)
move s0, a0
beqz v0, 0xcd4
andi s2, a1, 0xffff
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, 0x1ef8
lw gp, 0x10(sp)
lbu a0, 0x20(s0)
addiu v0, zero, 1
beq a0, v0, 0xd0c
nop
beqz a0, 0xcfc
addiu v0, zero, 2
bne a0, v0, 0xd38
nop
b 0xd1c
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
b 0xd28
addiu a0, a0, str.__sports
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
b 0xd28
addiu a0, a0, str.__dports
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
addiu a0, a0, str.__ports
jalr t9
nop
lw gp, 0x10(sp)
nop
lw v0, -0x7fdc(gp)
andi s2, s2, 0xff
addiu s6, v0, 0x1f20
lw v0, -0x7fdc(gp)
move s0, zero
addiu s5, v0, 0x1f1c
lw v0, -0x7fdc(gp)
nop
addiu s4, v0, 0x1ef4
lw v0, -0x7fdc(gp)
b 0xde0
addiu s3, v0, sym.print_port
beqz s0, 0xd74
nop
move a1, s6
--
addu v0, s1, v0
lhu a0, 2(v0)
move a1, s2
move t9, s3
jalr t9
addiu a2, zero, 1
addu v0, s1, s0
lbu v0, 0x20(v0)
lw gp, 0x10(sp)
beqz v0, 0xddc
addiu a0, zero, 0x3a
lw t9, -sym.imp.putchar(gp)
nop
jalr t9
addiu s0, s0, 1
sll v0, s0, 1
addu v0, s1, v0
lhu a0, 2(v0)
move a1, s2
move t9, s3
jalr t9
addiu a2, zero, 1
lw gp, 0x10(sp)
addiu s0, s0, 1
lbu v0, 1(s1)
lw t9, -sym.imp.printf(gp)
sltu v0, s0, v0
move a0, s4
bnez v0, 0xd68
move a1, s5
lw t9, -sym.imp.putchar(gp)
lw ra, 0x34(sp)
lw s6, 0x30(sp)
lw s5, 0x2c(sp)
lw s4, 0x28(sp)
lw s3, 0x24(sp)
lw s2, 0x20(sp)
lw s1, 0x1c(sp)
lw s0, 0x18(sp)
addiu a0, zero, 0x20
jr t9
addiu sp, sp, 0x38
lui gp, 2
addiu gp, gp, -0x6a18
addu gp, gp, t9
lhu v0, 0x80(a0)
--
lui gp, 2
addiu gp, gp, -0x6a3c
addu gp, gp, t9
lhu v0, 0x50(a0)
lw t9, -0x7fdc(gp)
move a0, a1
addiu t9, t9, sym.__multiport_save_v1
jr t9
move a1, v0
lui gp, 2
addiu gp, gp, -0x6a60
addu gp, gp, t9
addiu sp, sp, -0x40
sw ra, 0x3c(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)
move s0, a0
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
addiu a0, a0, 0x1f24
move s4, a1
jalr t9
andi s2, a2, 0xffff
lbu v1, 0x20(s0)
addiu v0, zero, 1
lw gp, 0x10(sp)
beq v1, v0, 0xf04
addiu s1, s0, 0x20
beqz v1, 0xef4
addiu v0, zero, 2
lw t9, -sym.imp.printf(gp)
bne v1, v0, 0xf20
nop
b 0xf14
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
b 0xf2c
addiu a0, a0, 0x1f30
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
b 0xf2c
addiu a0, a0, 0x1f38
lw a0, -0x7fdc(gp)
b 0xf2c
addiu a0, a0, str.ports
lw a0, -0x7fdc(gp)
nop
addiu a0, a0, str.ERROR
jalr t9
nop
lbu v0, 0x2f(s1)
lw gp, 0x10(sp)
beqz v0, 0xf60
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
nop
jalr t9
addiu a0, a0, 0x1ef8
lw gp, 0x10(sp)
nop
lw v0, -0x7fdc(gp)
andi s2, s2, 0xff
addiu s7, v0, 0x1f20
lw v0, -0x7fdc(gp)
move s0, zero
addiu s6, v0, 0x1f1c
lw v0, -0x7fdc(gp)
nop
addiu s5, v0, 0x1ef4
lw v0, -0x7fdc(gp)
b 0x1008
addiu s3, v0, sym.print_port
beqz s0, 0xf9c
nop
move a1, s7
--
addu v0, s1, v0
lhu a0, 2(v0)
move a1, s2
move t9, s3
jalr t9
move a2, s4
addu v0, s1, s0
lbu v0, 0x20(v0)
lw gp, 0x10(sp)
beqz v0, 0x1004
addiu a0, zero, 0x3a
lw t9, -sym.imp.putchar(gp)
nop
jalr t9
addiu s0, s0, 1
sll v0, s0, 1
addu v0, s1, v0
lhu a0, 2(v0)
move a1, s2
move t9, s3
jalr t9
move a2, s4
lw gp, 0x10(sp)
addiu s0, s0, 1
lbu v0, 1(s1)
lw t9, -sym.imp.printf(gp)
sltu v0, s0, v0
move a0, s5
bnez v0, 0xf90
move a1, s6
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, -0x6c44
addu gp, gp, t9
--
addiu gp, gp, -0x6c94
addu gp, gp, t9
addiu sp, sp, -0x40
sw ra, 0x3c(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)
lbu v1, 0x20(a0)
addiu v0, zero, 1
andi s0, a1, 0xffff
beq v1, v0, 0x1118
addiu s3, a0, 0x20
beqz v1, 0x1108
addiu v0, zero, 2
bne v1, v0, 0x1144
nop
b 0x1128
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
b 0x1134
addiu a0, a0, str.__sports
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
b 0x1134
addiu a0, a0, str.__dports
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
addiu a0, a0, str.__ports
jalr t9
nop
lw gp, 0x10(sp)
nop
lw v0, -0x7fdc(gp)
andi s2, s0, 0xff
addiu s7, v0, 0x1f20
lw v0, -0x7fdc(gp)
addiu s1, s3, 2
addiu s6, v0, 0x1f1c
lw v0, -0x7fdc(gp)
move s0, zero
addiu s5, v0, 0x1ef4
lw v0, -0x7fdc(gp)
b 0x11a4
addiu s4, v0, sym.print_port
beqz s0, 0x1180
move a1, s6
move a1, s7
jalr t9
addiu s0, s0, 1
lhu a0, (s1)
move a1, s2
move t9, s4
jalr t9
addiu a2, zero, 1
lw gp, 0x10(sp)
addiu s1, s1, 2
lbu v0, 1(s3)
lw t9, -sym.imp.printf(gp)
sltu v0, s0, v0
bnez v0, 0x1174
move a0, s5
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, -0x6ddc
addu gp, gp, t9
lhu v0, 0x80(a0)
--
addiu gp, gp, -0x6e00
addu gp, gp, t9
lhu v0, 0x50(a0)
lw t9, -0x7fdc(gp)
move a0, a1
addiu t9, t9, sym.__multiport_save
jr t9
move a1, v0
lui gp, 2
addiu gp, gp, -0x6e24
addu gp, gp, t9
addiu sp, sp, -0x40
sw ra, 0x3c(sp)
sw fp, 0x38(sp)
sw s7, 0x34(sp)
sw s6, 0x30(sp)
sw s5, 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 s0, a0
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
addiu a0, a0, 0x1f24
move fp, a1
jalr t9
andi s1, a2, 0xffff
lbu v1, 0x20(s0)
addiu v0, zero, 1
lw gp, 0x10(sp)
beq v1, v0, 0x1308
addiu s3, s0, 0x20
beqz v1, 0x12bc
addiu v0, zero, 2
lw t9, -sym.imp.printf(gp)
bne v1, v0, 0x1324
nop
b 0x1318
nop
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
addiu a0, a0, 0x1f30
jalr t9
andi s2, s1, 0xff
lw gp, 0x10(sp)
nop
lw v0, -0x7fdc(gp)
addiu s1, s3, 2
addiu s7, v0, 0x1f20
lw v0, -0x7fdc(gp)
move s0, zero
addiu s6, v0, 0x1f1c
lw v0, -0x7fdc(gp)
nop
addiu s5, v0, 0x1ef4
lw v0, -0x7fdc(gp)
b 0x1360
addiu s4, v0, sym.print_port
lw a0, -0x7fdc(gp)
lw t9, -sym.imp.printf(gp)
b 0x12c8
addiu a0, a0, 0x1f38
lw a0, -0x7fdc(gp)
b 0x12c8
addiu a0, a0, str.ports
lw a0, -0x7fdc(gp)
b 0x12c8
addiu a0, a0, str.ERROR
beqz s0, 0x133c
move a1, s6
move a1, s7
jalr t9
addiu s0, s0, 1
lhu a0, (s1)
move a1, s2
move t9, s4
jalr t9
move a2, fp
lw gp, 0x10(sp)
addiu s1, s1, 2
lbu v0, 1(s3)
lw t9, -sym.imp.printf(gp)
sltu v0, s0, v0
bnez v0, 0x1330
move a0, s5
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)
lw s2, 0x20(sp)
lw s1, 0x1c(sp)
lw s0, 0x18(sp)
addiu a0, zero, 0x20
jr t9
addiu sp, sp, 0x40
lui gp, 2
addiu gp, gp, -0x6f9c
addu gp, gp, t9

[*] Function printf used 22 times libxt_multiport.so