[*] Binary protection state of presettourd

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


[*] Function fprintf tear down of presettourd

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/presettourd @ 0x28b0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 34128 named .text */
    0x000028b0 lui gp, 2                 |     
    0x000028b4 addiu gp, gp, 0x3060      |     
    0x000028b8 addu gp, gp, t9           |     gp += t9;
    0x000028bc addiu sp, sp, -0x30       |     
    0x000028c0 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x000028c4 lw t9, -0x7e20(gp)        |     t9 = sym.imp.__syslog_chk;
    0x000028c8 addiu a2, a2, -0x3940     |     a2 += -0x3940;
    0x000028cc sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x000028d0 sw s1, 0x24(sp)           |     *(var_24h) = s1;
    0x000028d4 sw s0, 0x20(sp)           |     *(var_20h) = s0;
    0x000028d8 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x000028dc sw s2, 0x28(sp)           |     *(var_28h) = s2;
    0x000028e0 move s1, a0               |     s1 = a0;
    0x000028e4 move s0, a1               |     s0 = a1;
    0x000028e8 addiu a0, zero, 6         |     a0 = 6;
    0x000028ec addiu a1, zero, 1         |     a1 = 1;
    0x000028f0 jalr t9                   |     t9 ();
    0x000028f4 addiu v0, zero, 2         |     v0 = 2;
    0x000028f8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (s1 == v0) {
    0x000028fc beq s1, v0, 0x2a88        |         goto label_3;
                                         |     }
    0x00002900 lw t9, -0x7d18(gp)        |     t9 = sym.imp.daemon;
                                         | label_0:
    0x00002904 addiu a1, zero, 1         |     a1 = 1;
    0x00002908 move a0, zero             |     a0 = 0;
    0x0000290c jalr t9                   |     t9 ();
    0x00002910 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00002914 bltz v0, 0x2acc           |         goto label_4;
                                         |     }
                                         |     do {
    0x00002918 lw t9, -0x7d2c(gp)        |         t9 = sym.imp.g_path_get_basename;
    0x0000291c lw s2, -0x7fd8(gp)        |         s2 = *((gp - 8182));
    0x00002920 lw a0, (s0)               |         a0 = *(s0);
    0x00002924 jalr t9                   |         t9 ();
    0x00002928 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000292c move a0, v0               |         a0 = v0;
    0x00002930 addiu a2, zero, 0x18      |         a2 = 0x18;
    0x00002934 lw t9, -0x7dbc(gp)        |         t9 = sym.imp.openlog;
    0x00002938 addiu a1, zero, 1         |         a1 = 1;
    0x0000293c jalr t9                   |         t9 ();
    0x00002940 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002944 lw t9, -0x7ee4(gp)        |         t9 = sym.imp.getpwnam;
    0x00002948 addiu a0, s2, -0x3910     |         a0 = s2 + -0x3910;
    0x0000294c jalr t9                   |         t9 ();
    0x00002950 move s1, v0               |         s1 = v0;
    0x00002954 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00002958 beqz v0, 0x2b80           |             goto label_5;
                                         |         }
    0x0000295c lw t9, -0x7d58(gp)        |         t9 = sym.imp.getgrnam;
    0x00002960 addiu a0, s2, -0x3910     |         a0 = s2 + -0x3910;
    0x00002964 jalr t9                   |         t9 ();
    0x00002968 move s0, v0               |         s0 = v0;
    0x0000296c lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00002970 beqz v0, 0x2b58           |             goto label_6;
                                         |         }
    0x00002974 lw t9, -0x7ec4(gp)        |         t9 = sym.imp.setgid;
    0x00002978 lw a0, 8(v0)              |         a0 = *((v0 + 2));
    0x0000297c jalr t9                   |         t9 ();
    0x00002980 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x00002984 bltz v0, 0x2b30           |             goto label_7;
                                         |         }
    0x00002988 lw t9, -0x7e28(gp)        |         t9 = sym.imp.initgroups;
    0x0000298c lw a1, 8(s0)              |         a1 = *((s0 + 2));
    0x00002990 lw a0, (s1)               |         a0 = *(s1);
    0x00002994 jalr t9                   |         t9 ();
    0x00002998 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x0000299c bltz v0, 0x2adc           |             goto label_8;
                                         |         }
    0x000029a0 lw t9, -0x7de4(gp)        |         t9 = sym.imp.setuid;
    0x000029a4 lw a0, 8(s1)              |         a0 = *((s1 + 2));
    0x000029a8 jalr t9                   |         t9 ();
    0x000029ac lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x000029b0 bltz v0, 0x2ba8           |             goto label_9;
                                         |         }
    0x000029b4 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x000029b8 lw t9, -0x7db8(gp)        |         t9 = sym.imp.g_unix_signal_add;
    0x000029bc move a2, zero             |         a2 = 0;
    0x000029c0 addiu a1, a1, -0x5bd0     |         a1 += -0x5bd0;
    0x000029c4 addiu a0, zero, 0xf       |         a0 = 0xf;
    0x000029c8 jalr t9                   |         t9 ();
    0x000029cc lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x000029d0 beqz v0, 0x2bd0           |             goto label_10;
                                         |         }
    0x000029d4 lw t9, -0x7d98(gp)        |         t9 = sym.imp.g_main_loop_new;
    0x000029d8 move a1, zero             |         a1 = 0;
    0x000029dc lw s0, -0x7fdc(gp)        |         s0 = *((gp - 8183));
    0x000029e0 move a0, zero             |         a0 = 0;
    0x000029e4 jalr t9                   |         t9 ();
    0x000029e8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000029ec lw t9, -0x7fd4(gp)        |         t9 = sym.tour_handler_get_type;
    0x000029f0 sw v0, -0x23a0(s0)        |         *((s0 - 2280)) = v0;
    0x000029f4 bal 0x80d8                |         sym_tour_handler_get_type ();
    0x000029f8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000029fc move a1, zero             |         a1 = 0;
    0x00002a00 lw t9, -0x7db0(gp)        |         t9 = sym.imp.g_object_new;
    0x00002a04 lw s1, -0x7fdc(gp)        |         s1 = *((gp - 8183));
    0x00002a08 move a0, v0               |         a0 = v0;
    0x00002a0c jalr t9                   |         t9 ();
    0x00002a10 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002a14 sw v0, -0x239c(s1)        |         *((s1 - 2279)) = v0;
                                         |         if (v0 == 0) {
    0x00002a18 beqz v0, 0x2aac           |             goto label_11;
                                         |         }
    0x00002a1c lw v1, -0x23a0(s0)        |         v1 = *((s0 - 2280));
    0x00002a20 lw t9, -0x7ed8(gp)        |         t9 = sym.imp.g_main_loop_run;
    0x00002a24 move a0, v1               |         a0 = v1;
    0x00002a28 sw v1, 0x24(v0)           |         *((v0 + 9)) = v1;
    0x00002a2c jalr t9                   |         t9 ();
    0x00002a30 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002a34 lw t9, -0x7e7c(gp)        |         t9 = sym.imp.g_main_loop_unref;
    0x00002a38 lw a0, -0x23a0(s0)        |         a0 = *((s0 - 2280));
    0x00002a3c jalr t9                   |         t9 ();
    0x00002a40 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002a44 lw t9, -0x7d44(gp)        |         t9 = sym.imp.g_object_unref;
    0x00002a48 lw a0, -0x239c(s1)        |         a0 = *((s1 - 2279));
    0x00002a4c jalr t9                   |         t9 ();
    0x00002a50 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002a54 addiu a1, zero, 1         |         a1 = 1;
    0x00002a58 addiu a0, zero, 6         |         a0 = 6;
    0x00002a5c lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002a60 lw t9, -0x7e20(gp)        |         t9 = sym.imp.__syslog_chk;
    0x00002a64 addiu a2, a2, -0x37ec     |         a2 += -0x37ec;
    0x00002a68 jalr t9                   |         t9 ();
    0x00002a6c move v0, zero             |         v0 = 0;
                                         | label_1:
    0x00002a70 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x00002a74 lw s2, 0x28(sp)           |         s2 = *(var_28h);
    0x00002a78 lw s1, 0x24(sp)           |         s1 = *(var_24h);
    0x00002a7c lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x00002a80 addiu sp, sp, 0x30        |         
    0x00002a84 jr ra                     |         return v0;
                                         | label_3:
    0x00002a88 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x00002a8c lw t9, -0x7d48(gp)        |         t9 = sym.imp.g_strcmp0;
    0x00002a90 lw a0, 4(s0)              |         a0 = *((s0 + 1));
    0x00002a94 addiu a1, a1, -0x3930     |         a1 += -0x3930;
    0x00002a98 jalr t9                   |         t9 ();
    0x00002a9c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002aa0 beqz v0, 0x2918           |         
                                         |     } while (v0 == 0);
    0x00002aa4 lw t9, -0x7d18(gp)        |     t9 = sym.imp.daemon;
    0x00002aa8 b 0x2904                  |     goto label_0;
                                         | label_11:
    0x00002aac lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002ab0 lw t9, -0x7e20(gp)        |     t9 = sym.imp.__syslog_chk;
    0x00002ab4 addiu a2, a2, -0x3810     |     a2 += -0x3810;
                                         |     do {
    0x00002ab8 addiu a1, zero, 1         |         a1 = 1;
    0x00002abc addiu a0, zero, 3         |         a0 = 3;
    0x00002ac0 jalr t9                   |         t9 ();
    0x00002ac4 addiu v0, zero, 1         |         v0 = 1;
    0x00002ac8 b 0x2a70                  |         goto label_1;
                                         | label_4:
    0x00002acc lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002ad0 lw t9, -0x7e20(gp)        |         t9 = sym.imp.__syslog_chk;
    0x00002ad4 addiu a2, a2, -0x392c     |         a2 += -0x392c;
    0x00002ad8 b 0x2ab8                  |         
                                         |     } while (1);
                                         | label_8:
    0x00002adc lw v1, -0x7df4(gp)        |     v1 = *((gp - 8061));
    0x00002ae0 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002ae4 lw v0, 8(s0)              |     v0 = *((s0 + 2));
    0x00002ae8 lw t9, -0x7d38(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00002aec lw a3, (s1)               |     a3 = *(s1);
    0x00002af0 lw a0, (v1)               |     a0 = *(v1);
    0x00002af4 addiu a2, a2, -0x38a0     |     a2 += -0x38a0;
    0x00002af8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002afc addiu a1, zero, 1         |     a1 = 1;
    0x00002b00 jalr t9                   |     t9 ();
    0x00002b04 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     do {
                                         | label_2:
    0x00002b08 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002b0c lw t9, -0x7e20(gp)        |         t9 = sym.imp.__syslog_chk;
    0x00002b10 addiu a0, zero, 3         |         a0 = 3;
    0x00002b14 addiu a2, a2, -0x3844     |         a2 += -0x3844;
    0x00002b18 addiu a1, zero, 1         |         a1 = 1;
    0x00002b1c jalr t9                   |         t9 ();
    0x00002b20 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002b24 lw t9, -0x7ef0(gp)        |         t9 = sym.imp.exit;
    0x00002b28 addiu a0, zero, 1         |         a0 = 1;
    0x00002b2c jalr t9                   |         t9 ();
                                         | label_7:
    0x00002b30 lw v0, -0x7df4(gp)        |         v0 = *((gp - 8061));
    0x00002b34 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002b38 lw t9, -0x7d38(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00002b3c lw a3, 8(s0)              |         a3 = *((s0 + 2));
    0x00002b40 lw a0, (v0)               |         a0 = *(v0);
    0x00002b44 addiu a2, a2, -0x38c0     |         a2 += -0x38c0;
    0x00002b48 addiu a1, zero, 1         |         a1 = 1;
    0x00002b4c jalr t9                   |         t9 ();
    0x00002b50 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002b54 b 0x2b08                  |         
                                         |     } while (1);
                                         | label_6:
    0x00002b58 lw v0, -0x7df4(gp)        |     v0 = *((gp - 8061));
    0x00002b5c lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002b60 lw t9, -0x7d38(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00002b64 lw a0, (v0)               |     a0 = *(v0);
    0x00002b68 addiu a3, s2, -0x3910     |     a3 = s2 + -0x3910;
    0x00002b6c addiu a2, a2, -0x38e4     |     a2 += -0x38e4;
    0x00002b70 addiu a1, zero, 1         |     a1 = 1;
    0x00002b74 jalr t9                   |     t9 ();
    0x00002b78 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b7c b 0x2b08                  |     goto label_2;
                                         | label_5:
    0x00002b80 lw v0, -0x7df4(gp)        |     v0 = *((gp - 8061));
    0x00002b84 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002b88 lw t9, -0x7d38(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00002b8c lw a0, (v0)               |     a0 = *(v0);
    0x00002b90 addiu a3, s2, -0x3910     |     a3 = s2 + -0x3910;
    0x00002b94 addiu a2, a2, -0x3908     |     a2 += -0x3908;
    0x00002b98 addiu a1, zero, 1         |     a1 = 1;
    0x00002b9c jalr t9                   |     t9 ();
    0x00002ba0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002ba4 b 0x2b08                  |     goto label_2;
                                         | label_9:
    0x00002ba8 lw v0, -0x7df4(gp)        |     v0 = *((gp - 8061));
    0x00002bac lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002bb0 lw t9, -0x7d38(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00002bb4 lw a3, 8(s1)              |     a3 = *((s1 + 2));
    0x00002bb8 lw a0, (v0)               |     a0 = *(v0);
    0x00002bbc addiu a2, a2, -0x3864     |     a2 += -0x3864;
    0x00002bc0 addiu a1, zero, 1         |     a1 = 1;
    0x00002bc4 jalr t9                   |     t9 ();
    0x00002bc8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002bcc b 0x2b08                  |     goto label_2;
                                         | label_10:
    0x00002bd0 lw a3, -0x7fd8(gp)        |     a3 = *((gp - 8182));
    0x00002bd4 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00002bd8 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00002bdc lw t9, -0x7d90(gp)        |     t9 = sym.imp.__assert_fail;
    0x00002be0 addiu a3, a3, -0x37e0     |     a3 += -0x37e0;
    0x00002be4 addiu a2, zero, 0x96      |     a2 = 0x96;
    0x00002be8 addiu a1, a1, -0x382c     |     a1 += -0x382c;
    0x00002bec addiu a0, a0, -0x3820     |     a0 += -0x3820;
    0x00002bf0 jalr t9                   |     t9 ();
    0x00002bf4 nop                       |     
    0x00002bf8 nop                       |     
    0x00002bfc nop                       |     
                                         | }

[*] Function fprintf used 6 times presettourd