[*] Binary protection state of parhand

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function fprintf tear down of parhand

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x199c0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.fatald ()                | void fatald () {
    0x000199c0 lui gp, 3                 |     
    0x000199c4 addiu gp, gp, -0x6670     |     
    0x000199c8 addu gp, gp, t9           |     gp += t9;
    0x000199cc lw v1, -0x7c68(gp)        |     v1 = *((gp - 7962));
    0x000199d0 addiu sp, sp, -0x28       |     
    0x000199d4 addiu v0, sp, 0x30        |     v0 = sp + 0x30;
    0x000199d8 lw v1, (v1)               |     v1 = *(v1);
    0x000199dc lw t9, -0x7cb0(gp)        |     t9 = sym.imp.__vsyslog_chk;
    0x000199e0 addiu a0, zero, 3         |     a0 = 3;
    0x000199e4 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000199e8 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x000199ec sw a2, 0x30(sp)           |     *(arg_30h) = a2;
    0x000199f0 sw a3, 0x34(sp)           |     *(arg_34h) = a3;
    0x000199f4 move a2, a1               |     a2 = a1;
    0x000199f8 move a3, v0               |     a3 = v0;
    0x000199fc addiu a1, zero, 1         |     a1 = 1;
    0x00019a00 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00019a04 sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x00019a08 jalr t9                   |     t9 ();
    0x00019a0c nop                       |     
    0x00019a10 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00019a14 addiu a0, zero, 3         |     a0 = 3;
    0x00019a18 addiu a1, zero, 1         |     a1 = 1;
    0x00019a1c lw a2, -0x7fbc(gp)        |     a2 = *((gp - 8175));
    0x00019a20 lw t9, -0x7c7c(gp)        |     t9 = sym.imp.__syslog_chk;
                                         |     /* str.Last_error_fatal._Exit. */
    0x00019a24 addiu a2, a2, -0x773c     |     a2 += -0x773c;
    0x00019a28 jalr t9                   |     t9 ();
    0x00019a2c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00019a30 lw t9, -0x7d48(gp)        |     t9 = sym.imp.exit;
    0x00019a34 addiu a0, zero, 1         |     a0 = 1;
    0x00019a38 jalr t9                   |     t9 ();
    0x00019a3c lui gp, 3                 |     
    0x00019a40 addiu gp, gp, -0x66ec     |     
    0x00019a44 addu gp, gp, t9           |     gp += t9;
    0x00019a48 addiu sp, sp, -0x30       |     
    0x00019a4c addiu v1, sp, 0x38        |     v1 = sp + 0x38;
    0x00019a50 sw s1, 0x24(sp)           |     *(var_24h_2) = s1;
    0x00019a54 sw s0, 0x20(sp)           |     *(var_20h) = s0;
    0x00019a58 lw s1, -0x7c68(gp)        |     s1 = *((gp - 7962));
    0x00019a5c lw s0, -0x7c34(gp)        |     s0 = *((gp - 7949));
    0x00019a60 sw a3, 0x3c(sp)           |     *(var_3ch) = a3;
    0x00019a64 lw v0, (s1)               |     v0 = *(s1);
    0x00019a68 move a3, a0               |     a3 = a0;
    0x00019a6c lw a0, (s0)               |     a0 = *(s0);
    0x00019a70 sw a2, 0x38(sp)           |     *(var_38h) = a2;
    0x00019a74 lw a2, -0x7fc4(gp)        |     a2 = *(gp);
    0x00019a78 lw t9, -0x7b48(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00019a7c sw v1, 0x18(sp)           |     *(var_18h_2) = v1;
    0x00019a80 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x00019a84 sw gp, 0x10(sp)           |     *(var_10h_2) = gp;
    0x00019a88 sw s2, 0x28(sp)           |     *(var_28h) = s2;
                                         |     /* str._s:_ */
    0x00019a8c addiu a2, a2, 0x6474      |     a2 += 0x6474;
    0x00019a90 move s2, a1               |     s2 = a1;
    0x00019a94 sw v0, 0x1c(sp)           |     *(var_1ch_2) = v0;
    0x00019a98 addiu a1, zero, 1         |     a1 = 1;
    0x00019a9c jalr t9                   |     t9 ();
    0x00019aa0 lw gp, 0x10(sp)           |     gp = *(var_10h_2);
    0x00019aa4 lw a3, 0x18(sp)           |     a3 = *(var_18h_2);
    0x00019aa8 lw a0, (s0)               |     a0 = *(s0);
    0x00019aac lw t9, -0x7c00(gp)        |     t9 = sym.imp.__vfprintf_chk
    0x00019ab0 move a2, s2               |     a2 = s2;
    0x00019ab4 addiu a1, zero, 1         |     a1 = 1;
    0x00019ab8 jalr t9                   |     t9 ();
    0x00019abc lw gp, 0x10(sp)           |     gp = *(var_10h_2);
    0x00019ac0 lw a1, (s0)               |     a1 = *(s0);
    0x00019ac4 lw t9, -0x7cc0(gp)        |     t9 = sym.imp.fputc;
    0x00019ac8 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00019acc jalr t9                   |     t9 ();
    0x00019ad0 lw v1, 0x1c(sp)           |     v1 = *(var_1ch_2);
    0x00019ad4 lw v0, (s1)               |     v0 = *(s1);
    0x00019ad8 lw gp, 0x10(sp)           |     gp = *(var_10h_2);
                                         |     if (v1 == v0) {
    0x00019adc bne v1, v0, 0x19af8       |         
    0x00019ae0 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x00019ae4 lw s2, 0x28(sp)           |         s2 = *(var_28h);
    0x00019ae8 lw s1, 0x24(sp)           |         s1 = *(var_24h_2);
    0x00019aec lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x00019af0 addiu sp, sp, 0x30        |         
    0x00019af4 jr ra                     |         return v1;
                                         |     }
    0x00019af8 lw t9, -0x7cb4(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00019afc jalr t9                   |     t9 ();
    0x00019b00 nop                       |     
                                         | }

[*] Function fprintf used 3 times parhand