[*] Binary protection state of vdo-user-encode-client

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


[*] Function printf tear down of vdo-user-encode-client

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/vdo-user-encode-client @ 0x3848 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00003848 ()              | void fcn_00003848 () {
    0x00003848 lui gp, 2                 |     
    0x0000384c addiu gp, gp, -0x3698     |     
    0x00003850 addu gp, gp, t9           |     gp += t9;
    0x00003854 addiu sp, sp, -0x30       |     
    0x00003858 lw t9, -0x7ea0(gp)        |     t9 = sym.imp.g_fprintf
    0x0000385c sw s1, 0x24(sp)           |     *(var_24h) = s1;
    0x00003860 lw s1, -0x7ef8(gp)        |     s1 = *((gp - 8126));
    0x00003864 sw s0, 0x20(sp)           |     *(var_20h) = s0;
    0x00003868 lw s0, -0x7fd8(gp)        |     s0 = *((gp - 8182));
    0x0000386c lw v0, (s1)               |     v0 = *(s1);
    0x00003870 sw a1, 0x34(sp)           |     *(arg_34h) = a1;
    0x00003874 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00003878 sw s2, 0x28(sp)           |     *(var_28h) = s2;
    0x0000387c move s2, a0               |     s2 = a0;
    0x00003880 lw a0, -0x7c0c(s0)        |     a0 = *(s0);
    0x00003884 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x00003888 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x0000388c sw a3, 0x3c(sp)           |     *(arg_3ch) = a3;
    0x00003890 sw a2, 0x38(sp)           |     *(arg_38h) = a2;
    0x00003894 addiu a1, a1, 0x72fc      |     a1 += str.e_2K_r;
    0x00003898 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x0000389c jalr t9                   |     t9 ();
    0x000038a0 nop                       |     
    0x000038a4 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000038a8 addiu v0, sp, 0x34        |     v0 = sp + 0x34;
    0x000038ac lw a0, -0x7c0c(s0)        |     a0 = *(s0);
    0x000038b0 lw t9, -0x7ed4(gp)        |     t9 = sym.imp.g_vfprintf
    0x000038b4 move a2, v0               |     a2 = v0;
    0x000038b8 move a1, s2               |     a1 = s2;
    0x000038bc sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x000038c0 jalr t9                   |     t9 ();
    0x000038c4 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000038c8 lw t9, -0x7e9c(gp)        |     t9 = sym.imp.fflush;
    0x000038cc lw a0, -0x7c0c(s0)        |     a0 = *(s0);
    0x000038d0 jalr t9                   |     t9 ();
    0x000038d4 lw v1, 0x1c(sp)           |     v1 = *(var_1ch);
    0x000038d8 lw v0, (s1)               |     v0 = *(s1);
    0x000038dc lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v1 == v0) {
    0x000038e0 bne v1, v0, 0x38fc        |         
    0x000038e4 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x000038e8 lw s2, 0x28(sp)           |         s2 = *(var_28h);
    0x000038ec lw s1, 0x24(sp)           |         s1 = *(var_24h);
    0x000038f0 lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x000038f4 addiu sp, sp, 0x30        |         
    0x000038f8 jr ra                     |         return v1;
                                         |     }
    0x000038fc lw t9, -0x7f20(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00003900 jalr t9                   |     t9 ();
    0x00003904 nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/vdo-user-encode-client @ 0x1a80 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) loc._ftext ()                    | void loc_ftext () {
                                             |     /* [13] -r-x section size 20992 named .text */
    0x00001a80 lui gp, 2                     |     
    0x00001a84 addiu gp, gp, -0x18d0         |     
    0x00001a88 addu gp, gp, t9               |     gp += t9;
    0x00001a8c addiu sp, sp, -0x30           |     
    0x00001a90 lw v0, -0x7ef8(gp)            |     v0 = *((gp - 8126));
    0x00001a94 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00001a98 lw s0, -0x7ec0(gp)            |     s0 = *((gp - 8112));
    0x00001a9c lw v0, (v0)                   |     v0 = *(v0);
    0x00001aa0 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00001aa4 move s1, a0                   |     s1 = a0;
    0x00001aa8 lw a0, (s0)                   |     a0 = *(s0);
    0x00001aac sw a1, 0x34(sp)               |     *(arg_34h) = a1;
    0x00001ab0 sw a2, 0x38(sp)               |     *(arg_38h) = a2;
    0x00001ab4 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00001ab8 lw a2, -0x7fdc(gp)            |     a2 = *((gp - 8183));
    0x00001abc lw t9, -0x7ea0(gp)            |     t9 = sym.imp.g_fprintf
    0x00001ac0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00001ac4 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00001ac8 sw a3, 0x3c(sp)               |     *(arg_3ch) = a3;
    0x00001acc addiu a2, a2, 0x72dc          |     a2 += str.vdo_user_encode_client;
    0x00001ad0 addiu a1, a1, 0x72f4          |     a1 += str._s:_;
    0x00001ad4 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00001ad8 jalr t9                       |     t9 ();
    0x00001adc nop                           |     
    0x00001ae0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00001ae4 addiu a2, sp, 0x34            |     a2 = sp + 0x34;
    0x00001ae8 lw a0, (s0)                   |     a0 = *(s0);
    0x00001aec lw t9, -0x7ed4(gp)            |     t9 = sym.imp.g_vfprintf
    0x00001af0 sw a2, 0x18(sp)               |     *(var_18h) = a2;
    0x00001af4 move a1, s1                   |     a1 = s1;
    0x00001af8 jalr t9                       |     t9 ();
    0x00001afc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00001b00 lw t9, -0x7f8c(gp)            |     t9 = sym.imp.exit;
    0x00001b04 addiu a0, zero, 1             |     a0 = 1;
    0x00001b08 jalr t9                       |     return t9 ();
                                             | }

[*] Function printf used 5 times vdo-user-encode-client