[*] Binary protection state of systemd-cgls
Full RELRO Canary found NX disabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function printf tear down of systemd-cgls
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/systemd-cgls @ 0x1e88 */
| #include <stdint.h>
|
; (fcn) fcn.00001e88 () | void fcn_00001e88 () {
0x00001e88 lui gp, 2 |
0x00001e8c addiu gp, gp, -0x6e78 |
0x00001e90 addu gp, gp, t9 | gp += t9;
0x00001e94 addiu sp, sp, -0x28 |
0x00001e98 lw t9, -0x7f14(gp) | t9 = sym.imp.cg_all_unified;
0x00001e9c sw gp, 0x10(sp) | *(var_10h) = gp;
0x00001ea0 sw s1, 0x20(sp) | *(var_20h) = s1;
0x00001ea4 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00001ea8 sw ra, 0x24(sp) | *(var_24h) = ra;
0x00001eac move s1, a0 | s1 = a0;
0x00001eb0 move s0, a1 | s0 = a1;
0x00001eb4 jalr t9 | t9 ();
0x00001eb8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00001ebc bnez v0, 0x1ee0 | goto label_0;
| }
0x00001ec0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
| if (s1 == 0) {
0x00001ec4 beqz s1, 0x1ee0 | goto label_0;
| }
0x00001ec8 lw t9, -0x7f9c(gp) | t9 = sym.imp.strcmp;
0x00001ecc addiu a1, a1, 0x228c | a1 += str._systemd;
0x00001ed0 move a0, s1 | a0 = s1;
0x00001ed4 jalr t9 | t9 ();
0x00001ed8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00001edc bnez v0, 0x1f38 |
| if (s0 != 0) {
| while (1) {
| label_0:
0x00001ee0 beql s0, zero, 0x1ef8 |
0x00001ee4 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x00001ee8 lb v0, (s0) | v0 = *(s0);
0x00001eec lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
| if (v0 == 0) {
0x00001ef0 bnel v0, zero, 0x1f00 | goto label_1;
| }
0x00001ef4 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
| }
0x00001ef8 addiu s0, s0, 0x2288 | s0 += 0x2288;
0x00001efc lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
| label_1:
0x00001f00 lw t9, -0x7f0c(gp) | t9 = sym.imp.__printf_chk
0x00001f04 addiu a0, zero, 1 | a0 = 1;
0x00001f08 move a2, s0 | a2 = s0;
0x00001f0c addiu a1, a1, 0x22a8 | a1 += str.Control_group__s:_n;
0x00001f10 jalr t9 | t9 ();
0x00001f14 lw gp, 0x10(sp) | gp = *(var_10h);
0x00001f18 lw ra, 0x24(sp) | ra = *(var_24h);
0x00001f1c lw s1, 0x20(sp) | s1 = *(var_20h);
0x00001f20 lw v0, -0x7f88(gp) | v0 = *((gp - 8162));
0x00001f24 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00001f28 lw t9, -0x7f34(gp) | t9 = sym.imp.fflush;
0x00001f2c lw a0, (v0) | a0 = *(v0);
0x00001f30 addiu sp, sp, 0x28 |
0x00001f34 jr t9 | t9 ();
0x00001f38 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001f3c lw t9, -0x7f0c(gp) | t9 = sym.imp.__printf_chk
0x00001f40 move a2, s1 | a2 = s1;
0x00001f44 addiu a1, a1, 0x2298 | a1 += str.Controller__s__;
0x00001f48 addiu a0, zero, 1 | a0 = 1;
0x00001f4c jalr t9 | t9 ();
0x00001f50 lw gp, 0x10(sp) | gp = *(var_10h);
0x00001f54 b 0x1ee0 |
| }
| }
[*] Function printf used 3 times systemd-cgls