[*] Binary protection state of libliveMedia.so.52.0.3
No RELRO No Canary found NX disabled DSO No RPATH No RUNPATH Symbols
[*] Function strcpy tear down of libliveMedia.so.52.0.3
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libliveMedia.so.52.0.3 @ 0x6f6a0 */
| #include <stdint.h>
|
; (fcn) method.ServerMediaSubsession.trackId__ () | void method_ServerMediaSubsession_trackId_ () {
| /* ServerMediaSubsession::trackId() */
0x0006f6a0 lui gp, 4 |
0x0006f6a4 addiu gp, gp, 0xd90 |
0x0006f6a8 addu gp, gp, t9 | gp += t9;
0x0006f6ac addiu sp, sp, -0x90 |
0x0006f6b0 sw ra, 0x8c(sp) | *(var_8ch) = ra;
0x0006f6b4 sw s1, 0x88(sp) | *(var_88h) = s1;
0x0006f6b8 sw s0, 0x84(sp) | *(var_84h) = s0;
0x0006f6bc lw a2, 0xbc(a0) | a2 = *((a0 + 47));
0x0006f6c0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0006f6c4 move s0, a0 | s0 = a0;
| if (a2 == 0) {
0x0006f6c8 beqz a2, 0x6f728 | goto label_0;
| }
0x0006f6cc lw v0, 0xc0(a0) | v0 = *((a0 + 48));
0x0006f6d0 lw ra, 0x8c(sp) | ra = *(var_8ch);
| if (v0 != 0) {
0x0006f6d4 beqz v0, 0x6f6e8 |
0x0006f6d8 lw s1, 0x88(sp) | s1 = *(var_88h);
0x0006f6dc lw s0, 0x84(sp) | s0 = *(var_84h);
0x0006f6e0 addiu sp, sp, 0x90 |
0x0006f6e4 jr ra | return v0;
| }
0x0006f6e8 lw a1, 0xc4(a0) | a1 = *((a0 + 49));
0x0006f6ec lw t9, -0x71c0(gp) | t9 = sym.imp.strcpy
| if (a1 == 0) {
0x0006f6f0 beqz a1, 0x6f740 | goto label_1;
| }
0x0006f6f4 addiu s1, sp, 0x18 | s1 = sp + 0x18;
0x0006f6f8 move a0, s1 | a0 = s1;
0x0006f6fc jalr t9 | t9 ();
0x0006f700 lw gp, 0x10(sp) | gp = *(var_10h);
| do {
0x0006f704 lw t9, -0x70ec(gp) | t9 = *(gp);
0x0006f708 move a0, s1 | a0 = s1;
0x0006f70c jalr t9 | t9 ();
0x0006f710 sw v0, 0xc0(s0) | *((s0 + 48)) = v0;
0x0006f714 lw ra, 0x8c(sp) | ra = *(var_8ch);
0x0006f718 lw s1, 0x88(sp) | s1 = *(var_88h);
0x0006f71c lw s0, 0x84(sp) | s0 = *(var_84h);
0x0006f720 addiu sp, sp, 0x90 |
0x0006f724 jr ra | return v0;
| label_0:
0x0006f728 lw ra, 0x8c(sp) | ra = *(var_8ch);
0x0006f72c move v0, zero | v0 = 0;
0x0006f730 lw s1, 0x88(sp) | s1 = *(var_88h);
0x0006f734 lw s0, 0x84(sp) | s0 = *(var_84h);
0x0006f738 addiu sp, sp, 0x90 |
0x0006f73c jr ra | return v0;
| label_1:
0x0006f740 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0006f744 addiu s1, sp, 0x18 | s1 = sp + 0x18;
0x0006f748 lw t9, -0x7e38(gp) | t9 = *(gp);
0x0006f74c move a0, s1 | a0 = s1;
| /* str.track_d */
0x0006f750 addiu a1, a1, -0xf18 | a1 += -0xf18;
0x0006f754 jalr t9 | t9 ();
0x0006f758 lw gp, 0x10(sp) | gp = *(var_10h);
0x0006f75c b 0x6f704 |
| } while (1);
| }
[*] Function strcpy used 2 times libliveMedia.so.52.0.3