[*] Binary protection state of base64encode.cgi
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of base64encode.cgi
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/base64encode.cgi @ 0x13a0 */
| #include <stdint.h>
|
; (fcn) fcn.000013a0 () | void fcn_000013a0 () {
0x000013a0 lui gp, 2 |
0x000013a4 addiu gp, gp, -0x7390 |
0x000013a8 addu gp, gp, t9 | gp += t9;
0x000013ac addiu sp, sp, -0x28 |
0x000013b0 lw t9, -0x7fa8(gp) | t9 = sym.imp.CGI_xml_setup;
0x000013b4 sw ra, 0x24(sp) | *(var_24h) = ra;
0x000013b8 sw s2, 0x20(sp) | *(var_20h) = s2;
0x000013bc sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x000013c0 sw s0, 0x18(sp) | *(var_18h) = s0;
0x000013c4 sw gp, 0x10(sp) | *(var_10h) = gp;
0x000013c8 lw s0, -0x7f88(gp) | s0 = *((gp - 8162));
0x000013cc move s2, a0 | s2 = a0;
0x000013d0 move s1, a1 | s1 = a1;
0x000013d4 jalr t9 | t9 ();
0x000013d8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000013dc lw a3, (s0) | a3 = *(s0);
0x000013e0 addiu a2, zero, 0x16 | a2 = 0x16;
0x000013e4 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000013e8 lw t9, -0x7f60(gp) | t9 = sym.imp.fwrite;
0x000013ec addiu a1, zero, 1 | a1 = 1;
0x000013f0 addiu a0, a0, 0x17f8 | a0 += str.__xml_version_1.0____n;
0x000013f4 jalr t9 | t9 ();
0x000013f8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000013fc lw a3, (s0) | a3 = *(s0);
0x00001400 addiu a2, zero, 0x16 | a2 = 0x16;
0x00001404 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001408 lw t9, -0x7f60(gp) | t9 = sym.imp.fwrite;
0x0000140c addiu a1, zero, 1 | a1 = 1;
0x00001410 addiu a0, a0, 0x1810 | a0 += str._Base64EncodeResponse_;
0x00001414 jalr t9 | t9 ();
0x00001418 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000141c lw a3, (s0) | a3 = *(s0);
0x00001420 addiu a2, zero, 7 | a2 = 7;
0x00001424 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001428 lw t9, -0x7f60(gp) | t9 = sym.imp.fwrite;
0x0000142c addiu a1, zero, 1 | a1 = 1;
0x00001430 addiu a0, a0, 0x1828 | a0 += str._Error_;
0x00001434 jalr t9 | t9 ();
0x00001438 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000143c lw a3, (s0) | a3 = *(s0);
0x00001440 addiu a2, zero, 0xb | a2 = 0xb;
0x00001444 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001448 lw t9, -0x7f60(gp) | t9 = sym.imp.fwrite;
0x0000144c addiu a1, zero, 1 | a1 = 1;
0x00001450 addiu a0, a0, 0x1830 | a0 += str._ErrorCode_;
0x00001454 jalr t9 | t9 ();
0x00001458 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000145c lw a0, (s0) | a0 = *(s0);
0x00001460 move a3, s2 | a3 = s2;
0x00001464 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001468 lw t9, -0x7fa4(gp) | t9 = sym.imp.__fprintf_chk
0x0000146c addiu a2, a2, 0x183c | a2 += 0x183c;
0x00001470 addiu a1, zero, 1 | a1 = 1;
0x00001474 jalr t9 | t9 ();
0x00001478 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000147c lw a3, (s0) | a3 = *(s0);
0x00001480 addiu a2, zero, 0xc | a2 = 0xc;
0x00001484 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001488 lw t9, -0x7f60(gp) | t9 = sym.imp.fwrite;
0x0000148c addiu a1, zero, 1 | a1 = 1;
0x00001490 addiu a0, a0, 0x1840 | a0 += str.__ErrorCode_;
0x00001494 jalr t9 | t9 ();
0x00001498 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000149c lw a3, (s0) | a3 = *(s0);
0x000014a0 addiu a2, zero, 0x12 | a2 = 0x12;
0x000014a4 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000014a8 lw t9, -0x7f60(gp) | t9 = sym.imp.fwrite;
0x000014ac addiu a1, zero, 1 | a1 = 1;
0x000014b0 addiu a0, a0, 0x1850 | a0 += str._ErrorDescription_;
0x000014b4 jalr t9 | t9 ();
0x000014b8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000014bc lw a1, (s0) | a1 = *(s0);
0x000014c0 lw t9, -0x7fb0(gp) | t9 = sym.imp.fputs;
0x000014c4 move a0, s1 | a0 = s1;
0x000014c8 jalr t9 | t9 ();
0x000014cc lw gp, 0x10(sp) | gp = *(var_10h);
0x000014d0 lw a3, (s0) | a3 = *(s0);
0x000014d4 addiu a2, zero, 0x13 | a2 = 0x13;
0x000014d8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000014dc lw t9, -0x7f60(gp) | t9 = sym.imp.fwrite;
0x000014e0 addiu a1, zero, 1 | a1 = 1;
0x000014e4 addiu a0, a0, 0x1864 | a0 += str.__ErrorDescription_;
0x000014e8 jalr t9 | t9 ();
0x000014ec lw gp, 0x10(sp) | gp = *(var_10h);
0x000014f0 lw a3, (s0) | a3 = *(s0);
0x000014f4 addiu a2, zero, 8 | a2 = 8;
0x000014f8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000014fc lw t9, -0x7f60(gp) | t9 = sym.imp.fwrite;
0x00001500 addiu a1, zero, 1 | a1 = 1;
0x00001504 addiu a0, a0, 0x1878 | a0 += str.__Error_;
0x00001508 jalr t9 | t9 ();
0x0000150c lw gp, 0x10(sp) | gp = *(var_10h);
0x00001510 lw a3, (s0) | a3 = *(s0);
0x00001514 addiu a2, zero, 0x17 | a2 = 0x17;
0x00001518 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000151c lw t9, -0x7f60(gp) | t9 = sym.imp.fwrite;
0x00001520 addiu a0, a0, 0x1884 | a0 += str.__Base64EncodeResponse_;
0x00001524 addiu a1, zero, 1 | a1 = 1;
0x00001528 jalr t9 | t9 ();
0x0000152c lw gp, 0x10(sp) | gp = *(var_10h);
0x00001530 lw a0, (s0) | a0 = *(s0);
0x00001534 lw ra, 0x24(sp) | ra = *(var_24h);
0x00001538 lw s2, 0x20(sp) | s2 = *(var_20h);
0x0000153c lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00001540 lw s0, 0x18(sp) | s0 = *(var_18h);
0x00001544 lw t9, -0x7f48(gp) | t9 = sym.imp.fflush;
0x00001548 addiu sp, sp, 0x28 |
0x0000154c jr t9 | return t9 ();
| }
[*] Function printf used 2 times base64encode.cgi