[*] Binary protection state of gpiod
RELRO CANARY NX PIE RPATH RUNPATH SYMBOLS
No RELRO No Canary found NX disabled No PIE No RPATH No RUNPATH Symbols
[*] Function printf tear down of gpiod
lw a0, (s5)
jalr t9
nop
lw gp, 0x10(sp)
b 0x401714
sw v0, 0x6034(s4)
lw t9, -sym.imp.puts(gp)
nop
jalr t9
addiu a0, a0, 0x5070
lw gp, 0x10(sp)
addiu a0, zero, -1
lw t9, -sym.imp.exit(gp)
nop
jalr t9
nop
lw t9, -sym.imp.getopt(gp)
lw a0, 0x40(sp)
move a1, fp
jalr t9
move a2, s7
lw gp, 0x10(sp)
bgtz v0, 0x40168c
lui a0, 0x40
lui v0, 0x41
lw t9, -sym.imp.printf(gp)
lw a1, 0x6034(v0)
jalr t9
addiu a0, a0, 0x5138
lw gp, 0x10(sp)
move a0, zero
lw t9, -sym.sloop_init(gp)
nop
jalr t9
lui s1, 0x40
lw gp, 0x10(sp)
addiu a0, zero, 0xf
lw t9, -sym.sloop_register_signal(gp)
addiu a1, s1, 0x2138
jalr t9
move a2, zero
lw gp, 0x10(sp)
addiu a0, zero, 2
lw t9, -sym.sloop_register_signal(gp)
addiu a1, s1, 0x2138
jalr t9
--
addiu a1, zero, 1
lw ra, 0x3c(sp)
lw gp, 0x10(sp)
move v0, zero
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)
jr ra
addiu sp, sp, 0x40
lui gp, 0x42
addiu sp, sp, -0x20
addiu gp, gp, -0x1fb0
sw ra, 0x1c(sp)
sw gp, 0x10(sp)
lui v0, 0x41
lw v0, 0x61c8(v0)
nop
beqz v0, 0x401ac8
move a1, a0
lw t9, -sym.imp.printf(gp)
lui a0, 0x40
jalr t9
addiu a0, a0, 0x5194
lw ra, 0x1c(sp)
lw gp, 0x10(sp)
move v0, zero
jr ra
addiu sp, sp, 0x20
lw t9, -sym.imp.system(gp)
lw ra, 0x1c(sp)
jr t9
addiu sp, sp, 0x20
lui gp, 0x42
addiu sp, sp, -0x28
addiu gp, gp, -0x1fb0
sw ra, 0x24(sp)
sw s1, 0x20(sp)
sw s0, 0x1c(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.fopen(gp)
move s1, a0
lui a1, 0x40
lui a0, 0x40
addiu a1, a1, 0x51d4
jalr t9
addiu a0, a0, 0x51bc
lw gp, 0x10(sp)
beqz v0, 0x401b68
move s0, v0
lw t9, -sym.gpio_in(gp)
nop
jalr t9
move a0, s1
lw gp, 0x10(sp)
lui a1, 0x40
lw t9, -sym.imp.fprintf(gp)
move a0, s0
addiu a1, a1, 0x51d8
jalr t9
move a2, v0
lw gp, 0x10(sp)
move a0, s0
lw t9, -sym.imp.fclose(gp)
lw ra, 0x24(sp)
lw s1, 0x20(sp)
lw s0, 0x1c(sp)
jr t9
addiu sp, sp, 0x28
lw ra, 0x24(sp)
lw s1, 0x20(sp)
lw s0, 0x1c(sp)
jr ra
addiu sp, sp, 0x28
lui gp, 0x42
addiu sp, sp, -0x128
addiu gp, gp, -0x1fb0
--
move s0, a0
lui a2, 0x40
addiu a2, a2, 0x1ed4
addiu a0, zero, 1
move a1, zero
jalr t9
move a3, s0
lw gp, 0x10(sp)
nop
lw t9, -sym.gpio_in(gp)
nop
jalr t9
addiu a0, zero, 0xa
lw gp, 0x10(sp)
lw v1, (s0)
bnez v0, 0x401fc4
nop
lw t9, -sym.imp.sysinfo(gp)
blez v1, 0x401f74
addiu a0, sp, 0x18
jalr t9
nop
lw gp, 0x10(sp)
lw v0, (s0)
lw a1, 0x18(sp)
lw t9, -sym.imp.printf(gp)
subu a1, a1, v0
lui a0, 0x40
sw a1, 4(s0)
jalr t9
addiu a0, a0, 0x52c8
b 0x401f9c
lui v1, 0x41
jalr t9
nop
lw gp, 0x10(sp)
lw v0, 0x18(sp)
lui a0, 0x40
lw t9, -sym.imp.puts(gp)
sw v0, (s0)
jalr t9
addiu a0, a0, 0x52ec
lui v1, 0x41
lw v0, 4(s0)
lw v1, 0x6034(v1)
lw gp, 0x10(sp)
--
move s0, a0
lui a2, 0x40
addiu a2, a2, 0x2024
addiu a0, zero, 1
move a1, zero
jalr t9
move a3, s0
lw gp, 0x10(sp)
nop
lw t9, -sym.gpio_in(gp)
nop
jalr t9
move a0, zero
lw gp, 0x10(sp)
bnez v0, 0x402120
nop
lw v0, (s0)
lw t9, -sym.imp.sysinfo(gp)
blez v0, 0x4020c4
addiu a0, sp, 0x18
jalr t9
nop
lw a1, 0x18(sp)
lw gp, 0x10(sp)
lw v0, (s0)
lw t9, -sym.imp.printf(gp)
subu a1, a1, v0
lui a0, 0x40
sw a1, 4(s0)
jalr t9
addiu a0, a0, 0x5324
b 0x402114
nop
jalr t9
nop
lw gp, 0x10(sp)
lw v0, 0x18(sp)
lw t9, -sym.imp.puts(gp)
lui a0, 0x40
addiu a0, a0, 0x5344
jalr t9
sw v0, (s0)
lw gp, 0x10(sp)
lui a0, 0x40
lw t9, -sym.imp.puts(gp)
nop
--
nop
lw ra, 0x1c(sp)
lw gp, 0x10(sp)
move v0, zero
jr ra
addiu sp, sp, 0x20
lui gp, 0x42
addiu sp, sp, -0x70
addiu gp, gp, -0x1fb0
sw ra, 0x6c(sp)
sw s3, 0x68(sp)
sw s2, 0x64(sp)
sw s1, 0x60(sp)
sw s0, 0x5c(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.fopen(gp)
lui s3, 0x40
andi s2, a1, 0xff
lui a1, 0x40
andi s1, a0, 0xff
addiu a1, a1, 0x51d4
jalr t9
addiu a0, s3, 0x537c
lw gp, 0x10(sp)
nop
lw t9, -sym.imp.fprintf(gp)
beqz v0, 0x4022a0
move s0, v0
lui a1, 0x40
move a2, s1
addiu a1, a1, 0x5394
move a3, s2
jalr t9
move a0, v0
lw gp, 0x10(sp)
move a0, s0
lw t9, -sym.imp.fclose(gp)
nop
jalr t9
lui s0, 0x40
lw gp, 0x10(sp)
lui a1, 0x40
lw t9, -sym.imp.fopen(gp)
addiu a1, a1, 0x53b8
jalr t9
addiu a0, s0, 0x53a0
lw gp, 0x10(sp)
beqz v0, 0x402270
move s1, v0
addiu s0, sp, 0x18
lw t9, -sym.imp.fread(gp)
move a3, v0
move a0, s0
addiu a1, zero, 1
jalr t9
addiu a2, zero, 0x40
lw gp, 0x10(sp)
move a0, s0
lw t9, -sym.imp.strtol(gp)
move a1, zero
jalr t9
addiu a2, zero, 0x10
lw gp, 0x10(sp)
move a0, s1
lw t9, -sym.imp.fclose(gp)
nop
jalr t9
move s0, v0
b 0x4022c4
nop
lw v0, -0x7f64(gp)
lw t9, -sym.imp.fprintf(gp)
lw a0, (v0)
lui a1, 0x40
lui a2, 0x40
addiu a3, s0, 0x53a0
addiu a1, a1, 0x53bc
jalr t9
addiu a2, a2, 0x5060
lw gp, 0x10(sp)
b 0x4022c8
addiu s0, zero, -1
lw v0, -0x7f64(gp)
lui a1, 0x40
lui a2, 0x40
lw a0, (v0)
addiu a1, a1, 0x53e4
addiu a2, a2, 0x5060
addiu a3, s3, 0x537c
jalr t9
addiu s0, zero, -1
lw gp, 0x10(sp)
--
sw gp, 0x18(sp)
lw t9, -sym.imp.puts(gp)
lui a0, 0x40
jalr t9
addiu a0, a0, 0x5450
lw gp, 0x18(sp)
lui a0, 0x40
lw t9, -sym.imp.puts(gp)
nop
jalr t9
addiu a0, a0, 0x5474
lui v0, 0x41
lw s0, 0x7da8(v0)
addiu s2, v0, 0x7da8
lui v0, 0x40
lw gp, 0x18(sp)
b 0x4029e8
addiu s1, v0, 0x5484
lw v0, 0x14(s0)
lw a2, 0xc(s0)
lw a3, 0x10(s0)
jalr t9
sw v0, 0x10(sp)
lw gp, 0x18(sp)
lw s0, (s0)
lw t9, -sym.imp.printf(gp)
move a1, s0
bne s0, s2, 0x4029cc
move a0, s1
lui a0, 0x40
lw t9, -sym.imp.puts(gp)
lw ra, 0x2c(sp)
lw s2, 0x28(sp)
lw s1, 0x24(sp)
lw s0, 0x20(sp)
addiu a0, a0, 0x54b8
jr t9
addiu sp, sp, 0x30
lui gp, 0x42
addiu sp, sp, -0x30
addiu gp, gp, -0x1fb0
sw ra, 0x2c(sp)
sw s2, 0x28(sp)
sw s1, 0x24(sp)
sw s0, 0x20(sp)
sw gp, 0x18(sp)
--
lui a0, 0x40
jalr t9
addiu a0, a0, 0x5450
lw gp, 0x18(sp)
lui a0, 0x40
lw t9, -sym.imp.puts(gp)
nop
jalr t9
addiu a0, a0, 0x54dc
lui v0, 0x41
lw s0, 0x7db0(v0)
addiu s2, v0, 0x7db0
lui v0, 0x40
lw gp, 0x18(sp)
b 0x402aa4
addiu s1, v0, 0x54ec
lw v0, 0x14(s0)
lw a2, 0xc(s0)
lw a3, 0x10(s0)
sw v0, 0x10(sp)
lw v0, 0x18(s0)
jalr t9
sw v0, 0x14(sp)
lw gp, 0x18(sp)
lw s0, (s0)
lw t9, -sym.imp.printf(gp)
move a1, s0
bne s0, s2, 0x402a80
move a0, s1
lui a0, 0x40
lw t9, -sym.imp.puts(gp)
lw ra, 0x2c(sp)
lw s2, 0x28(sp)
lw s1, 0x24(sp)
lw s0, 0x20(sp)
addiu a0, a0, 0x54b8
jr t9
addiu sp, sp, 0x30
lui gp, 0x42
addiu sp, sp, -0x30
addiu gp, gp, -0x1fb0
sw ra, 0x2c(sp)
sw s2, 0x28(sp)
sw s1, 0x24(sp)
sw s0, 0x20(sp)
sw gp, 0x18(sp)
lw t9, -sym.imp.puts(gp)
lui a0, 0x40
jalr t9
addiu a0, a0, 0x5450
lw gp, 0x18(sp)
lui a0, 0x40
lw t9, -sym.imp.puts(gp)
nop
jalr t9
addiu a0, a0, 0x5524
lui v0, 0x41
lw s0, 0x7da0(v0)
addiu s2, v0, 0x7da0
lui v0, 0x40
lw gp, 0x18(sp)
b 0x402b58
addiu s1, v0, 0x5534
lw v0, 0x14(s0)
lw a2, 0xc(s0)
lw a3, 0x10(s0)
jalr t9
sw v0, 0x10(sp)
lw gp, 0x18(sp)
lw s0, (s0)
lw t9, -sym.imp.printf(gp)
move a1, s0
bne s0, s2, 0x402b3c
move a0, s1
lui a0, 0x40
lw t9, -sym.imp.puts(gp)
lw ra, 0x2c(sp)
lw s2, 0x28(sp)
lw s1, 0x24(sp)
lw s0, 0x20(sp)
addiu a0, a0, 0x54b8
jr t9
addiu sp, sp, 0x30
lui gp, 0x42
addiu sp, sp, -0x30
addiu gp, gp, -0x1fb0
sw ra, 0x2c(sp)
sw s2, 0x28(sp)
sw s1, 0x24(sp)
sw s0, 0x20(sp)
sw gp, 0x18(sp)
lw t9, -sym.imp.puts(gp)
lui a0, 0x40
jalr t9
addiu a0, a0, 0x5450
lw gp, 0x18(sp)
lui a0, 0x40
lw t9, -sym.imp.puts(gp)
nop
jalr t9
addiu a0, a0, 0x5568
lui v0, 0x41
lw s0, 0x7d98(v0)
addiu s2, v0, 0x7d98
lui v0, 0x40
lw gp, 0x18(sp)
b 0x402c0c
addiu s1, v0, 0x5534
lw v0, 0x14(s0)
lw a2, 0xc(s0)
lw a3, 0x10(s0)
jalr t9
sw v0, 0x10(sp)
lw gp, 0x18(sp)
lw s0, (s0)
lw t9, -sym.imp.printf(gp)
move a1, s0
bne s0, s2, 0x402bf0
move a0, s1
lui a0, 0x40
lw t9, -sym.imp.puts(gp)
lw ra, 0x2c(sp)
lw s2, 0x28(sp)
lw s1, 0x24(sp)
lw s0, 0x20(sp)
addiu a0, a0, 0x54b8
jr t9
addiu sp, sp, 0x30
addiu sp, sp, -0x20
sw ra, 0x1c(sp)
sw gp, 0x10(sp)
jal sym.sloop_dump_readers
nop
jal sym.sloop_dump_writers
nop
jal sym.sloop_dump_timeout
--
move s4, a1
beqz a1, 0x403c78
move s5, a0
lw t9, -sym.imp.malloc(gp)
nop
jalr t9
addiu a0, zero, 0xe4
lw gp, 0x10(sp)
move s1, v0
beqz v0, 0x403c7c
move s2, v0
lw t9, -sym.imp.memset(gp)
move a0, v0
move a1, zero
jalr t9
addiu a2, zero, 0xe4
lw gp, 0x10(sp)
addiu a0, zero, 1
lw t9, -sym.imp.socket(gp)
addiu a1, zero, 1
jalr t9
move a2, zero
lw gp, 0x10(sp)
bltz v0, 0x403c7c
sw v0, (s1)
lw t9, -sym.imp.snprintf(gp)
addiu s3, zero, 1
addiu s0, s1, 0xa
lui a2, 0x40
sh s3, 8(s1)
addiu a2, a2, 0x5578
move a0, s0
addiu a1, zero, 0x6c
jalr t9
move a3, s4
lw gp, 0x10(sp)
beqz s5, 0x403bf4
lui a2, 0x40
lw t9, -sym.imp.unlink(gp)
nop
jalr t9
move a0, s0
lw gp, 0x10(sp)
lw a0, (s1)
lw t9, -sym.imp.bind(gp)
addiu a1, s1, 8
jalr t9
addiu a2, zero, 0x6e
lw gp, 0x10(sp)
bltz v0, 0x403c7c
addiu v0, zero, 1
b 0x403c70
sw v0, 4(s1)
lw t9, -sym.imp.snprintf(gp)
addiu s0, s1, 0x78
addiu a2, a2, 0x557c
move a3, s4
addiu a1, zero, 0x6c
move a0, s0
jalr t9
sh s3, 0x76(s1)
lw gp, 0x10(sp)
nop
lw t9, -sym.imp.unlink(gp)
nop
jalr t9
move a0, s0
lw gp, 0x10(sp)
lw a0, (s1)
lw t9, -sym.imp.bind(gp)
addiu a1, s1, 0x76
jalr t9
addiu a2, zero, 0x6e
lw gp, 0x10(sp)
--
addiu gp, gp, -0x1fb0
sw ra, 0x94(sp)
sw s1, 0x90(sp)
sw s0, 0x8c(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.socket(gp)
move s1, a0
addiu a1, zero, 2
addiu a0, zero, 1
jalr t9
move a2, zero
lw gp, 0x10(sp)
bgez v0, 0x403e44
move s0, v0
b 0x403ec8
addiu s0, zero, -1
lw t9, -sym.imp.fcntl(gp)
move a0, v0
addiu a1, zero, 2
jalr t9
addiu a2, zero, 1
lw gp, 0x10(sp)
bnez s1, 0x403e68
lui v0, 0x40
addiu s1, v0, 0x5588
lw t9, -sym.imp.snprintf(gp)
addiu v0, zero, 1
lui a2, 0x40
addiu a2, a2, 0x5578
move a3, s1
addiu a0, sp, 0x1a
addiu a1, zero, 0x6c
jalr t9
sh v0, 0x18(sp)
lw gp, 0x10(sp)
move a0, s0
lw t9, -sym.imp.connect(gp)
addiu a1, sp, 0x18
jalr t9
addiu a2, zero, 0x6e
lw gp, 0x10(sp)
bgez v0, 0x403ec8
nop
lw t9, -sym.imp.close(gp)
nop
jalr t9
--
jalr t9
move s0, a1
addiu v0, v0, 1
move a0, s1
move a2, s0
move a3, s2
addiu a1, zero, 0xc
jal sym._cmd_wo_out
sw v0, 0x10(sp)
lw ra, 0x2c(sp)
lw gp, 0x18(sp)
lw s2, 0x28(sp)
lw s1, 0x24(sp)
lw s0, 0x20(sp)
jr ra
addiu sp, sp, 0x30
lui gp, 0x42
addiu sp, sp, -0x230
addiu gp, gp, -0x1fb0
sw ra, 0x22c(sp)
sw s2, 0x228(sp)
sw s1, 0x224(sp)
sw s0, 0x220(sp)
sw gp, 0x18(sp)
addiu s0, sp, 0x20
lw t9, -sym.imp.snprintf(gp)
move v0, a2
lui a2, 0x40
sw a3, 0x10(sp)
addiu a2, a2, 0x559c
move a3, v0
move s1, a0
move s2, a1
move a0, s0
jalr t9
addiu a1, zero, 0x1ff
lw gp, 0x18(sp)
move a0, s0
lw t9, -sym.imp.strlen(gp)
nop
jalr t9
sb zero, 0x21f(sp)
addiu v0, v0, 1
move a0, s1
move a2, s2
move a3, s0
addiu a1, zero, 0xb
jal sym._cmd_wo_out
sw v0, 0x10(sp)
lw ra, 0x22c(sp)
lw gp, 0x18(sp)
lw s2, 0x228(sp)
lw s1, 0x224(sp)
lw s0, 0x220(sp)
jr ra
addiu sp, sp, 0x230
lui gp, 0x42
addiu sp, sp, -0x230
addiu gp, gp, -0x1fb0
sw ra, 0x22c(sp)
sw s2, 0x228(sp)
sw s1, 0x224(sp)
sw s0, 0x220(sp)
sw gp, 0x18(sp)
addiu s0, sp, 0x20
lw t9, -sym.imp.snprintf(gp)
move v0, a2
lui a2, 0x40
sw a3, 0x10(sp)
addiu a2, a2, 0x559c
move a3, v0
move s1, a0
move s2, a1
move a0, s0
jalr t9
addiu a1, zero, 0x1ff
lw gp, 0x18(sp)
move a0, s0
lw t9, -sym.imp.strlen(gp)
nop
jalr t9
sb zero, 0x21f(sp)
addiu v0, v0, 1
move a0, s1
move a2, s2
move a3, s0
--
move s3, a3
addiu v0, v0, 1
move a0, s1
move a2, s0
move a3, s2
addiu a1, zero, 1
sw s3, 0x14(sp)
jal sym._cmd_w_out
sw v0, 0x10(sp)
lw ra, 0x34(sp)
lw gp, 0x18(sp)
lw s3, 0x30(sp)
lw s2, 0x2c(sp)
lw s1, 0x28(sp)
lw s0, 0x24(sp)
jr ra
addiu sp, sp, 0x38
lui gp, 0x42
addiu sp, sp, -0x428
addiu gp, gp, -0x1fb0
sw ra, 0x424(sp)
sw s0, 0x420(sp)
sw gp, 0x10(sp)
addiu v0, sp, 0x42c
addiu s0, sp, 0x1c
lw t9, -sym.imp.vsnprintf(gp)
sw a1, 0x42c(sp)
sw a2, 0x430(sp)
sw a3, 0x434(sp)
move a2, a0
move a3, v0
move a0, s0
sw v0, 0x18(sp)
jalr t9
addiu a1, zero, 0x400
lw gp, 0x10(sp)
nop
lw t9, -sym.imp.system(gp)
nop
jalr t9
move a0, s0
lw ra, 0x424(sp)
lw gp, 0x10(sp)
lw s0, 0x420(sp)
jr ra
addiu sp, sp, 0x428
lui gp, 0x42
addiu sp, sp, -0x438
addiu gp, gp, -0x1fb0
sw ra, 0x434(sp)
sw s4, 0x430(sp)
sw s3, 0x42c(sp)
sw s2, 0x428(sp)
sw s1, 0x424(sp)
sw s0, 0x420(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.vsnprintf(gp)
addiu v0, sp, 0x444
addiu s0, sp, 0x1c
sw a3, 0x444(sp)
move s2, a0
move a3, v0
move a0, s0
move s3, a1
sw v0, 0x18(sp)
jalr t9
addiu a1, zero, 0x400
lw gp, 0x10(sp)
lui a1, 0x40
lw t9, -sym.imp.popen(gp)
move a0, s0
jalr t9
addiu a1, a1, 0x53b8
lw gp, 0x10(sp)
beqz v0, 0x404c4c
move s1, v0
addiu s3, s3, -1
[*] Function printf used 18 times gpiod