[*] Binary protection state of systemd-run

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  RPATH        No RUNPATH   No Symbols


[*] Function sprintf tear down of systemd-run

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/systemd-run @ 0x62b4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000062b4 ()              | void fcn_000062b4 () {
    0x000062b4 lui gp, 2                 |     
    0x000062b8 addiu gp, gp, -0x2284     |     
    0x000062bc addu gp, gp, t9           |     gp += t9;
    0x000062c0 addiu sp, sp, -0x98       |     
    0x000062c4 sw s1, 0x80(sp)           |     *(var_80h) = s1;
    0x000062c8 lw s1, -0x7ec4(gp)        |     s1 = *((gp - 8113));
    0x000062cc sw gp, 0x50(sp)           |     *(var_50h) = gp;
    0x000062d0 sw ra, 0x94(sp)           |     *(var_94h) = ra;
    0x000062d4 sw s5, 0x90(sp)           |     *(var_90h) = s5;
    0x000062d8 sw s4, 0x8c(sp)           |     *(var_8ch) = s4;
    0x000062dc sw s3, 0x88(sp)           |     *(var_88h) = s3;
    0x000062e0 sw s2, 0x84(sp)           |     *(var_84h) = s2;
    0x000062e4 sw s0, 0x7c(sp)           |     *(var_7ch) = s0;
    0x000062e8 lw v0, (s1)               |     v0 = *(s1);
    0x000062ec sw v0, 0x74(sp)           |     *(var_74h) = v0;
    0x000062f0 lw t9, -0x7eac(gp)        |     t9 = sym.imp.sd_bus_get_unique_name;
                                         |     if (a0 == 0) {
    0x000062f4 beqz a0, 0x64a4           |         goto label_1;
                                         |     }
    0x000062f8 move s2, a1               |     s2 = a1;
    0x000062fc addiu a1, sp, 0x5c        |     a1 = sp + 0x5c;
    0x00006300 move s3, a2               |     s3 = a2;
    0x00006304 jalr t9                   |     t9 ();
    0x00006308 lw gp, 0x50(sp)           |     gp = *(var_50h);
                                         |     if (v0 < 0) {
    0x0000630c bltz v0, 0x63d4           |         goto label_2;
                                         |     }
    0x00006310 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00006314 lw s4, 0x5c(sp)           |     s4 = *(var_5ch_2);
    0x00006318 lw t9, -0x7f60(gp)        |     t9 = sym.imp.strncmp;
    0x0000631c addiu a2, zero, 3         |     a2 = 3;
    0x00006320 addiu a1, a1, -0x66b8     |     a1 += -0x66b8;
    0x00006324 move a0, s4               |     a0 = s4;
    0x00006328 jalr t9                   |     t9 ();
    0x0000632c move s0, v0               |     s0 = v0;
    0x00006330 lw gp, 0x50(sp)           |     gp = *(var_50h);
                                         |     if (v0 != 0) {
    0x00006334 bnez v0, 0x63b4           |         goto label_3;
                                         |     }
    0x00006338 addiu s5, s4, 3           |     s5 = s4 + 3;
    0x0000633c lw t9, -0x7dfc(gp)        |     t9 = sym.imp.unit_type_to_string;
                                         |     if (s5 == 0) {
    0x00006340 beqz s5, 0x63b4           |         goto label_3;
                                         |     }
    0x00006344 move a0, s2               |     a0 = s2;
    0x00006348 jalr t9                   |     t9 ();
    0x0000634c lw gp, 0x50(sp)           |     gp = *(var_50h);
    0x00006350 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00006354 move a3, v0               |     a3 = v0;
    0x00006358 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x0000635c lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00006360 lw t9, -0x7e2c(gp)        |     t9 = sym.imp.strjoin_real;
    0x00006364 addiu a2, a2, -0x62a8     |     a2 += -0x62a8;
    0x00006368 move a1, s5               |     a1 = s5;
    0x0000636c addiu a0, a0, -0x668c     |     a0 += -0x668c;
    0x00006370 jalr t9                   |     t9 ();
    0x00006374 lw gp, 0x50(sp)           |     gp = *(var_50h);
                                         |     if (v0 == 0) {
    0x00006378 beqz v0, 0x653c           |         goto label_4;
                                         |     }
    0x0000637c sw v0, (s3)               |     *(s3) = v0;
                                         |     do {
                                         | label_0:
    0x00006380 lw a0, 0x74(sp)           |         a0 = *(var_74h);
    0x00006384 lw v1, (s1)               |         v1 = *(s1);
    0x00006388 move v0, s0               |         v0 = s0;
                                         |         if (a0 != v1) {
    0x0000638c bne a0, v1, 0x65bc        |             goto label_5;
                                         |         }
    0x00006390 lw ra, 0x94(sp)           |         ra = *(var_94h);
    0x00006394 lw s5, 0x90(sp)           |         s5 = *(var_90h);
    0x00006398 lw s4, 0x8c(sp)           |         s4 = *(var_8ch);
    0x0000639c lw s3, 0x88(sp)           |         s3 = *(var_88h);
    0x000063a0 lw s2, 0x84(sp)           |         s2 = *(var_84h);
    0x000063a4 lw s1, 0x80(sp)           |         s1 = *(var_80h);
    0x000063a8 lw s0, 0x7c(sp)           |         s0 = *(var_7ch);
    0x000063ac addiu sp, sp, 0x98        |         
    0x000063b0 jr ra                     |         return v0;
                                         | label_3:
    0x000063b4 lw t9, -0x7fa4(gp)        |         t9 = sym.imp.log_get_max_level_realm;
    0x000063b8 move a0, zero             |         a0 = 0;
    0x000063bc jalr t9                   |         t9 ();
    0x000063c0 slti v0, v0, 3            |         v0 = (v0 < 3) ? 1 : 0;
    0x000063c4 lw gp, 0x50(sp)           |         gp = *(var_50h);
                                         |         if (v0 == 0) {
    0x000063c8 beqz v0, 0x64f4           |             goto label_6;
                                         |         }
    0x000063cc addiu s0, zero, -0x16     |         s0 = -0x16;
    0x000063d0 b 0x6380                  |         
                                         |     } while (1);
                                         | label_2:
    0x000063d4 lw t9, -0x7e30(gp)        |     t9 = sym.imp.sd_id128_randomize;
    0x000063d8 addiu a0, sp, 0x60        |     a0 = sp + 0x60;
    0x000063dc jalr t9                   |     t9 ();
    0x000063e0 move s0, v0               |     s0 = v0;
    0x000063e4 lw gp, 0x50(sp)           |     gp = *(var_50h);
                                         |     if (v0 >= 0) {
    0x000063e8 bltz v0, 0x64cc           |         
    0x000063ec lw t9, -0x7dfc(gp)        |         t9 = sym.imp.unit_type_to_string;
    0x000063f0 move a0, s2               |         a0 = s2;
    0x000063f4 jalr t9                   |         t9 ();
    0x000063f8 lw gp, 0x50(sp)           |         gp = *(var_50h);
    0x000063fc lbu a2, 0x64(sp)          |         a2 = *(var_64h_2);
    0x00006400 lbu t9, 0x6f(sp)          |         t9 = *(var_6fh);
    0x00006404 lbu t8, 0x6e(sp)          |         t8 = *(var_6eh);
    0x00006408 lbu t7, 0x6d(sp)          |         t7 = *(var_6dh);
    0x0000640c lbu t6, 0x6c(sp)          |         t6 = *(var_6ch_2);
    0x00006410 lbu t5, 0x6b(sp)          |         t5 = *(var_6bh);
    0x00006414 lbu t4, 0x6a(sp)          |         t4 = *(var_6ah);
    0x00006418 lbu t3, 0x69(sp)          |         t3 = *(var_69h);
    0x0000641c lbu t2, 0x68(sp)          |         t2 = *(var_68h_2);
    0x00006420 lbu t1, 0x67(sp)          |         t1 = *(var_67h);
    0x00006424 lbu t0, 0x66(sp)          |         t0 = *(var_66h);
    0x00006428 lbu a1, 0x63(sp)          |         a1 = *(var_63h);
    0x0000642c lbu a0, 0x62(sp)          |         a0 = *(var_62h);
    0x00006430 lbu v1, 0x61(sp)          |         v1 = *(var_61h);
    0x00006434 lbu a3, 0x65(sp)          |         a3 = *(var_65h);
    0x00006438 sw a2, 0x1c(sp)           |         *(var_1ch) = a2;
    0x0000643c lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00006440 sw v0, 0x4c(sp)           |         *(var_4ch_2) = v0;
    0x00006444 sw t9, 0x48(sp)           |         *(var_48h_2) = t9;
    0x00006448 sw t8, 0x44(sp)           |         *(var_44h_2) = t8;
    0x0000644c lw t9, -0x7e74(gp)        |         t9 = sym.imp.__asprintf_chk
    0x00006450 sw t7, 0x40(sp)           |         *(var_40h_2) = t7;
    0x00006454 sw t6, 0x3c(sp)           |         *(var_3ch_2) = t6;
    0x00006458 sw t5, 0x38(sp)           |         *(var_38h_2) = t5;
    0x0000645c sw t4, 0x34(sp)           |         *(var_34h_2) = t4;
    0x00006460 sw t3, 0x30(sp)           |         *(var_30h_2) = t3;
    0x00006464 sw t2, 0x2c(sp)           |         *(var_2ch_2) = t2;
    0x00006468 sw t1, 0x28(sp)           |         *(var_28h_2) = t1;
    0x0000646c sw t0, 0x24(sp)           |         *(var_24h) = t0;
    0x00006470 sw a1, 0x18(sp)           |         *(var_18h) = a1;
    0x00006474 sw a0, 0x14(sp)           |         *(var_14h) = a0;
    0x00006478 sw v1, 0x10(sp)           |         *(var_10h) = v1;
    0x0000647c sw a3, 0x20(sp)           |         *(var_20h_2) = a3;
    0x00006480 lbu a3, 0x60(sp)          |         a3 = *(var_60h_2);
    0x00006484 addiu a2, a2, -0x6704     |         a2 += -0x6704;
    0x00006488 addiu a1, zero, 1         |         a1 = 1;
    0x0000648c move a0, s3               |         a0 = s3;
    0x00006490 jalr t9                   |         t9 ();
    0x00006494 lw gp, 0x50(sp)           |         gp = *(var_50h);
                                         |         if (v0 < 0) {
    0x00006498 bltz v0, 0x6568           |             goto label_7;
                                         |         }
    0x0000649c move s0, zero             |         s0 = 0;
    0x000064a0 b 0x6380                  |         goto label_0;
                                         | label_1:
    0x000064a4 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x000064a8 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x000064ac lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x000064b0 addiu v0, v0, -0x45e8     |         v0 += -0x45e8;
    0x000064b4 lw t9, -0x7e38(gp)        |         t9 = sym.imp.log_assert_failed_realm;
    0x000064b8 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000064bc addiu a3, zero, 0x381     |         a3 = 0x381;
    0x000064c0 addiu a2, a2, -0x6991     |         a2 += -0x6991;
    0x000064c4 addiu a1, a1, -0x6734     |         a1 += -0x6734;
    0x000064c8 jalr t9                   |         t9 ();
                                         |     }
    0x000064cc lw t9, -0x7fa4(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x000064d0 move a0, zero             |     a0 = 0;
    0x000064d4 jalr t9                   |     t9 ();
    0x000064d8 slti v0, v0, 3            |     v0 = (v0 < 3) ? 1 : 0;
    0x000064dc lw gp, 0x50(sp)           |     gp = *(var_50h);
                                         |     if (v0 == 0) {
    0x000064e0 beqz v0, 0x657c           |         goto label_8;
                                         |     }
    0x000064e4 negu s0, s0               |     __asm ("negu s0, s0");
    0x000064e8 andi s0, s0, 0xff         |     s0 &= 0xff;
    0x000064ec negu s0, s0               |     __asm ("negu s0, s0");
    0x000064f0 b 0x6380                  |     goto label_0;
                                         | label_6:
    0x000064f4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000064f8 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x000064fc addiu v0, v0, -0x66b4     |     v0 += -0x66b4;
    0x00006500 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00006504 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00006508 lw t9, -0x7f00(gp)        |     t9 = sym.imp.log_internal_realm;
    0x0000650c addiu v0, v0, -0x45f8     |     v0 += -0x45f8;
    0x00006510 lui a1, 0x4000            |     a1 = 0x40000000;
    0x00006514 sw s4, 0x18(sp)           |     *(var_18h) = s4;
    0x00006518 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000651c addiu a3, zero, 0x39f     |     a3 = 0x39f;
    0x00006520 addiu a2, a2, -0x6991     |     a2 += -0x6991;
    0x00006524 addiu a1, a1, 0x16        |     a1 += 0x16;
    0x00006528 addiu a0, zero, 3         |     a0 = 3;
    0x0000652c jalr t9                   |     t9 ();
    0x00006530 move s0, v0               |     s0 = v0;
    0x00006534 lw gp, 0x50(sp)           |     gp = *(var_50h);
    0x00006538 b 0x6380                  |     goto label_0;
                                         | label_4:
    0x0000653c lw a3, -0x7fd8(gp)        |     a3 = *((gp - 8182));
    0x00006540 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.log_oom_internal;
    0x00006544 addiu a3, a3, -0x45f8     |     a3 += -0x45f8;
    0x00006548 addiu a2, zero, 0x3a3     |     a2 = 0x3a3;
                                         |     do {
    0x0000654c lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x00006550 move a0, zero             |         a0 = 0;
    0x00006554 addiu a1, a1, -0x6991     |         a1 += -0x6991;
    0x00006558 jalr t9                   |         t9 ();
    0x0000655c move s0, v0               |         s0 = v0;
    0x00006560 lw gp, 0x50(sp)           |         gp = *(var_50h);
    0x00006564 b 0x6380                  |         goto label_0;
                                         | label_7:
    0x00006568 lw a3, -0x7fd8(gp)        |         a3 = *((gp - 8182));
    0x0000656c lw t9, -0x7fa0(gp)        |         t9 = sym.imp.log_oom_internal;
    0x00006570 addiu a3, a3, -0x45f8     |         a3 += -0x45f8;
    0x00006574 addiu a2, zero, 0x393     |         a2 = 0x393;
    0x00006578 b 0x654c                  |         
                                         |     } while (1);
                                         | label_8:
    0x0000657c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00006580 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00006584 addiu v0, v0, -0x6730     |     v0 += -0x6730;
    0x00006588 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000658c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00006590 lw t9, -0x7f00(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00006594 addiu v0, v0, -0x45f8     |     v0 += -0x45f8;
    0x00006598 move a1, s0               |     a1 = s0;
    0x0000659c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000065a0 addiu a3, zero, 0x390     |     a3 = 0x390;
    0x000065a4 addiu a2, a2, -0x6991     |     a2 += -0x6991;
    0x000065a8 addiu a0, zero, 3         |     a0 = 3;
    0x000065ac jalr t9                   |     t9 ();
    0x000065b0 move s0, v0               |     s0 = v0;
    0x000065b4 lw gp, 0x50(sp)           |     gp = *(var_50h);
    0x000065b8 b 0x6380                  |     goto label_0;
                                         | label_5:
    0x000065bc lw t9, -0x7f14(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000065c0 jalr t9                   |     t9 ();
    0x000065c4 nop                       |     
                                         | }

[*] Function sprintf used 2 times systemd-run