[*] Binary protection state of parhandclient
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of parhandclient
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhandclient @ 0x3aa0 */
| #include <stdint.h>
|
; (fcn) fcn.00003aa0 () | void fcn_00003aa0 () {
0x00003aa0 lui gp, 2 |
0x00003aa4 addiu gp, gp, -0x39a0 |
0x00003aa8 addu gp, gp, t9 | gp += t9;
0x00003aac addiu sp, sp, -0x38 |
0x00003ab0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003ab4 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00003ab8 lw s1, -0x7ef0(gp) | s1 = *((gp - 8124));
0x00003abc lw v0, -0x7f10(v0) | v0 = *((v0 - 8132));
0x00003ac0 sw s0, 0x24(sp) | *(var_24h) = s0;
0x00003ac4 lw v1, (s1) | v1 = *(s1);
0x00003ac8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00003acc addiu s0, sp, 0x40 | s0 = sp + 0x40;
0x00003ad0 sw s3, 0x30(sp) | *(var_30h) = s3;
0x00003ad4 sw ra, 0x34(sp) | *(var_34h) = ra;
0x00003ad8 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x00003adc move s3, a1 | s3 = a1;
0x00003ae0 sw a2, 0x40(sp) | *(arg_40h) = a2;
0x00003ae4 sw a3, 0x44(sp) | *(arg_44h) = a3;
0x00003ae8 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x00003aec sw s0, 0x18(sp) | *(var_18h) = s0;
0x00003af0 bnez v0, 0x3b50 |
| while (1) {
0x00003af4 lw s2, -0x7ed0(gp) | s2 = *((gp - 8116));
0x00003af8 lw t9, -0x7eb8(gp) | t9 = sym.imp.__vfprintf_chk
0x00003afc move a3, s0 | a3 = s0;
0x00003b00 lw a0, (s2) | a0 = *(s2);
0x00003b04 move a2, s3 | a2 = s3;
0x00003b08 addiu a1, zero, 1 | a1 = 1;
0x00003b0c jalr t9 | t9 ();
0x00003b10 lw gp, 0x10(sp) | gp = *(var_10h);
0x00003b14 lw a1, (s2) | a1 = *(s2);
0x00003b18 lw t9, -0x7f34(gp) | t9 = sym.imp.fputc;
0x00003b1c addiu a0, zero, 0xa | a0 = 0xa;
0x00003b20 jalr t9 | t9 ();
0x00003b24 lw v1, 0x1c(sp) | v1 = *(var_1ch);
0x00003b28 lw v0, (s1) | v0 = *(s1);
0x00003b2c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v1 != v0) {
0x00003b30 bne v1, v0, 0x3b6c | goto label_0;
| }
0x00003b34 lw ra, 0x34(sp) | ra = *(var_34h);
0x00003b38 lw s3, 0x30(sp) | s3 = *(var_30h);
0x00003b3c lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x00003b40 lw s1, 0x28(sp) | s1 = *(var_28h);
0x00003b44 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00003b48 addiu sp, sp, 0x38 |
0x00003b4c jr ra | return v1;
0x00003b50 lw t9, -0x7f20(gp) | t9 = sym.imp.__vsyslog_chk;
0x00003b54 move a2, a1 | a2 = a1;
0x00003b58 move a3, s0 | a3 = s0;
0x00003b5c addiu a1, zero, 1 | a1 = 1;
0x00003b60 jalr t9 | t9 ();
0x00003b64 lw gp, 0x10(sp) | gp = *(var_10h);
0x00003b68 b 0x3af4 |
| }
| label_0:
0x00003b6c lw t9, -0x7f24(gp) | t9 = sym.imp.__stack_chk_fail;
0x00003b70 jalr t9 | t9 ();
0x00003b74 nop |
| }
[*] Function fprintf used 2 times parhandclient