[*] Binary protection state of audio_file
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of audio_file
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/audio_file @ 0xdc0 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 4400 named .text */
0x00000dc0 lui gp, 2 |
0x00000dc4 addiu gp, gp, -0x5d50 |
0x00000dc8 addu gp, gp, t9 | gp += t9;
0x00000dcc addiu sp, sp, -0x20 |
0x00000dd0 slti a0, a0, 3 | a0 = (a0 < 3) ? 1 : 0;
0x00000dd4 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00000dd8 sw s0, 0x18(sp) | *(var_18h) = s0;
0x00000ddc sw ra, 0x1c(sp) | *(var_1ch) = ra;
0x00000de0 move s0, a1 | s0 = a1;
| if (a0 == 0) {
0x00000de4 bnez a0, 0xe04 |
0x00000de8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00000dec lw t9, -0x7f48(gp) | t9 = sym.imp.strcasecmp;
0x00000df0 lw a1, 4(a1) | a1 = *((a1 + 1));
0x00000df4 addiu a0, a0, 0x2034 | a0 += str.is_supported_audio;
0x00000df8 jalr t9 | t9 ();
0x00000dfc lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00000e00 beqz v0, 0xe40 | goto label_0;
| }
| }
0x00000e04 lw t9, -0x7f1c(gp) | t9 = sym.imp.basename;
0x00000e08 lw a0, (s0) | a0 = *(s0);
0x00000e0c jalr t9 | t9 ();
0x00000e10 lw gp, 0x10(sp) | gp = *(var_10h);
0x00000e14 move a2, v0 | a2 = v0;
0x00000e18 addiu a0, zero, 1 | a0 = 1;
0x00000e1c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00000e20 lw t9, -0x7f54(gp) | t9 = sym.imp.__printf_chk
0x00000e24 addiu a1, a1, 0x2048 | a1 += str.Usage:__s__commands__ncommands_are:_is_supported_audio___file_path___n;
0x00000e28 jalr t9 | t9 ();
0x00000e2c addiu v0, zero, 1 | v0 = 1;
| do {
0x00000e30 lw ra, 0x1c(sp) | ra = *(var_1ch);
0x00000e34 lw s0, 0x18(sp) | s0 = *(var_18h);
0x00000e38 addiu sp, sp, 0x20 |
0x00000e3c jr ra | return v0;
| label_0:
0x00000e40 lw t9, -0x7fd8(gp) | t9 = sym.is_supported_audio;
0x00000e44 lw a0, 8(s0) | a0 = *((s0 + 2));
0x00000e48 bal 0x1dd0 | sym_is_supported_audio ();
0x00000e4c xori v0, v0, 1 | v0 ^= 1;
0x00000e50 andi v0, v0, 0xff | v0 &= 0xff;
0x00000e54 b 0xe30 |
| } while (1);
| }
[*] Function printf used 2 times audio_file