[*] Binary protection state of vdo-user-encode-client
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf 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 fprintf used 5 times vdo-user-encode-client