[*] Binary protection state of video-config-migrator
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of video-config-migrator
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/video-config-migrator @ 0x16c8 */
| #include <stdint.h>
|
; (fcn) sym.gkeyfile_config_new () | void gkeyfile_config_new () {
0x000016c8 lui gp, 2 |
0x000016cc addiu gp, gp, -0x6698 |
0x000016d0 addu gp, gp, t9 | gp += t9;
0x000016d4 addiu sp, sp, -0x28 |
0x000016d8 lw t9, -0x7f68(gp) | t9 = sym.imp.g_malloc0;
0x000016dc sw ra, 0x24(sp) | *(var_24h) = ra;
0x000016e0 sw s2, 0x20(sp) | *(var_20h) = s2;
0x000016e4 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x000016e8 sw s0, 0x18(sp) | *(var_18h) = s0;
0x000016ec sw gp, 0x10(sp) | *(var_10h) = gp;
0x000016f0 move s2, a0 | s2 = a0;
0x000016f4 addiu a0, zero, 0x24 | a0 = 0x24;
0x000016f8 move s1, a1 | s1 = a1;
0x000016fc jalr t9 | t9 ();
0x00001700 lw gp, 0x10(sp) | gp = *(var_10h);
0x00001704 move s0, v0 | s0 = v0;
0x00001708 sw zero, (v0) | *(v0) = 0;
0x0000170c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001710 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001714 addiu v0, v0, 0x1484 | v0 += 0x1484;
0x00001718 sw v0, 4(s0) | *((s0 + 1)) = v0;
0x0000171c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001720 lw t9, -0x7f44(gp) | t9 = sym.imp.g_strdup_printf
0x00001724 addiu v0, v0, 0x1420 | v0 += 0x1420;
0x00001728 sw v0, 8(s0) | *((s0 + 2)) = v0;
0x0000172c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001730 move a2, s1 | a2 = s1;
0x00001734 addiu v0, v0, 0x1310 | v0 += 0x1310;
0x00001738 move a1, s2 | a1 = s2;
0x0000173c addiu a0, a0, 0x26c8 | a0 += str._s_s;
0x00001740 sw v0, 0xc(s0) | *((s0 + 3)) = v0;
0x00001744 jalr t9 | t9 ();
0x00001748 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000174c sw v0, 0x1c(s0) | *((s0 + 7)) = v0;
0x00001750 move a1, s1 | a1 = s1;
0x00001754 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001758 lw t9, -0x7f38(gp) | t9 = sym.imp.g_printerr;
0x0000175c sw zero, 0x20(s0) | *((s0 + 8)) = 0;
0x00001760 addiu a0, a0, 0x26d0 | a0 += str._7_Loading__s_n;
0x00001764 jalr t9 | t9 ();
0x00001768 lw ra, 0x24(sp) | ra = *(var_24h);
0x0000176c move v0, s0 | v0 = s0;
0x00001770 lw s2, 0x20(sp) | s2 = *(var_20h);
0x00001774 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00001778 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0000177c addiu sp, sp, 0x28 |
0x00001780 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/video-config-migrator @ 0x1784 */
| #include <stdint.h>
|
; (fcn) sym.gkeyfile_writable_config_new () | void gkeyfile_writable_config_new () {
0x00001784 lui gp, 2 |
0x00001788 addiu gp, gp, -0x6754 |
0x0000178c addu gp, gp, t9 | gp += t9;
0x00001790 addiu sp, sp, -0x28 |
0x00001794 lw t9, -0x7f68(gp) | t9 = sym.imp.g_malloc0;
0x00001798 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0000179c sw s2, 0x20(sp) | *(var_20h) = s2;
0x000017a0 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x000017a4 sw s0, 0x18(sp) | *(var_18h) = s0;
0x000017a8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x000017ac move s2, a0 | s2 = a0;
0x000017b0 addiu a0, zero, 0x24 | a0 = 0x24;
0x000017b4 move s1, a1 | s1 = a1;
0x000017b8 jalr t9 | t9 ();
0x000017bc lw gp, 0x10(sp) | gp = *(var_10h);
0x000017c0 move s0, v0 | s0 = v0;
0x000017c4 sw zero, (v0) | *(v0) = 0;
0x000017c8 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000017cc lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x000017d0 addiu v0, v0, 0x1484 | v0 += 0x1484;
0x000017d4 sw v0, 4(s0) | *((s0 + 1)) = v0;
0x000017d8 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000017dc lw t9, -0x7f44(gp) | t9 = sym.imp.g_strdup_printf
0x000017e0 addiu v0, v0, 0x1420 | v0 += 0x1420;
0x000017e4 sw v0, 8(s0) | *((s0 + 2)) = v0;
0x000017e8 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000017ec move a2, s1 | a2 = s1;
0x000017f0 addiu v0, v0, 0x1310 | v0 += 0x1310;
0x000017f4 move a1, s2 | a1 = s2;
0x000017f8 addiu a0, a0, 0x26c8 | a0 += str._s_s;
0x000017fc sw v0, 0xc(s0) | *((s0 + 3)) = v0;
0x00001800 jalr t9 | t9 ();
0x00001804 lw gp, 0x10(sp) | gp = *(var_10h);
0x00001808 sw v0, 0x1c(s0) | *((s0 + 7)) = v0;
0x0000180c move a1, s1 | a1 = s1;
0x00001810 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001814 lw t9, -0x7f38(gp) | t9 = sym.imp.g_printerr;
0x00001818 sw zero, 0x20(s0) | *((s0 + 8)) = 0;
0x0000181c addiu a0, a0, 0x26d0 | a0 += str._7_Loading__s_n;
0x00001820 jalr t9 | t9 ();
0x00001824 lw gp, 0x10(sp) | gp = *(var_10h);
0x00001828 lw ra, 0x24(sp) | ra = *(var_24h);
0x0000182c lw s2, 0x20(sp) | s2 = *(var_20h);
0x00001830 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001834 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00001838 addiu v0, v0, 0x1608 | v0 += 0x1608;
0x0000183c sw v0, 0x14(s0) | *((s0 + 5)) = v0;
0x00001840 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001844 sw zero, 0x10(s0) | *((s0 + 4)) = 0;
0x00001848 addiu v0, v0, 0x154c | v0 += 0x154c;
0x0000184c sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x00001850 move v0, s0 | v0 = s0;
0x00001854 lw s0, 0x18(sp) | s0 = *(var_18h);
0x00001858 addiu sp, sp, 0x28 |
0x0000185c jr ra | return v0;
| }
[*] Function printf used 3 times video-config-migrator