[*] Binary protection state of indexer

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


[*] Function sprintf tear down of indexer

    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/indexer @ 0x45950 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.rec_cont_get_recording_parameters ()     | void rec_cont_get_recording_parameters () {
    0x00045950 lui gp, 4                                 |     
    0x00045954 addiu gp, gp, 0x7b0                       |     
    0x00045958 addu gp, gp, t9                           |     gp += t9;
    0x0004595c addiu sp, sp, -0x48                       |     
    0x00045960 lw t9, -0x7688(gp)                        |     t9 = sym.imp.g_rec_mutex_lock;
    0x00045964 sw s0, 0x3c(sp)                           |     *(var_3ch) = s0;
    0x00045968 move s0, a0                               |     s0 = a0;
    0x0004596c lw a0, 4(a0)                              |     a0 = *((a0 + 1));
    0x00045970 sw gp, 0x30(sp)                           |     *(var_30h) = gp;
    0x00045974 sw ra, 0x44(sp)                           |     *(var_44h) = ra;
    0x00045978 sw a1, 0x4c(sp)                           |     *(arg_4ch) = a1;
    0x0004597c sw s1, 0x40(sp)                           |     *(var_40h) = s1;
    0x00045980 jalr t9                                   |     t9 ();
    0x00045984 nop                                       |     
    0x00045988 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x0004598c lw a1, 0x4c(sp)                           |     a1 = *(arg_4ch);
    0x00045990 lw t9, -0x7a8c(gp)                        |     t9 = *(gp);
                                                         |     /* fcn.00044f20 */
    0x00045994 addiu t9, t9, 0x4f20                      |     t9 += 0x4f20;
    0x00045998 move a0, s0                               |     a0 = s0;
    0x0004599c bal 0x44f20                               |     fcn_00044f20 ();
    0x000459a0 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 == 0) {
    0x000459a4 beqz v0, 0x45a28                          |         goto label_0;
                                                         |     }
    0x000459a8 lw v0, 0x18(v0)                           |     v0 = *((v0 + 6));
    0x000459ac lw t9, -0x79ec(gp)                        |     t9 = sym.create_recording_parameter_struct;
    0x000459b0 lw v1, 0x28(v0)                           |     v1 = *((v0 + 10));
    0x000459b4 lw a3, 0xc(v0)                            |     a3 = *((v0 + 3));
    0x000459b8 lw a2, 8(v0)                              |     a2 = *((v0 + 2));
    0x000459bc lw a1, 4(v0)                              |     a1 = *((v0 + 1));
    0x000459c0 lw a0, (v0)                               |     a0 = *(v0);
    0x000459c4 sw v1, 0x28(sp)                           |     *(var_28h) = v1;
    0x000459c8 lw v1, 0x24(v0)                           |     v1 = *((v0 + 9));
    0x000459cc sw v1, 0x24(sp)                           |     *(var_24h) = v1;
    0x000459d0 lw v1, 0x20(v0)                           |     v1 = *((v0 + 8));
    0x000459d4 sw v1, 0x20(sp)                           |     *(var_20h) = v1;
    0x000459d8 lw v1, 0x1c(v0)                           |     v1 = *((v0 + 7));
    0x000459dc sw v1, 0x1c(sp)                           |     *(var_1ch) = v1;
    0x000459e0 lw v1, 0x18(v0)                           |     v1 = *((v0 + 6));
    0x000459e4 sw v1, 0x18(sp)                           |     *(var_18h) = v1;
    0x000459e8 lw v1, 0x14(v0)                           |     v1 = *((v0 + 5));
    0x000459ec sw v1, 0x14(sp)                           |     *(var_14h) = v1;
    0x000459f0 lw v0, 0x10(v0)                           |     v0 = *((v0 + 4));
    0x000459f4 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x000459f8 bal 0x44ba0                               |     sym_create_recording_parameter_struct ();
    0x000459fc lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00045a00 move s1, v0                               |     s1 = v0;
                                                         |     do {
    0x00045a04 lw t9, -0x76cc(gp)                        |         t9 = sym.imp.g_rec_mutex_unlock;
    0x00045a08 lw a0, 4(s0)                              |         a0 = *((s0 + 1));
    0x00045a0c jalr t9                                   |         t9 ();
    0x00045a10 lw ra, 0x44(sp)                           |         ra = *(var_44h);
    0x00045a14 move v0, s1                               |         v0 = s1;
    0x00045a18 lw s0, 0x3c(sp)                           |         s0 = *(var_3ch);
    0x00045a1c lw s1, 0x40(sp)                           |         s1 = *(var_40h);
    0x00045a20 addiu sp, sp, 0x48                        |         
    0x00045a24 jr ra                                     |         return v0;
                                                         | label_0:
    0x00045a28 move s1, zero                             |         s1 = 0;
    0x00045a2c b 0x45a04                                 |         
                                                         |     } while (1);
                                                         | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/indexer @ 0x46378 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.rec_cont_is_recorder_oneshot ()      | void rec_cont_is_recorder_oneshot () {
    0x00046378 lui gp, 4                             |     
    0x0004637c addiu gp, gp, -0x278                  |     
    0x00046380 addu gp, gp, t9                       |     gp += t9;
    0x00046384 addiu sp, sp, -0x28                   |     
    0x00046388 lw t9, -0x7688(gp)                    |     t9 = sym.imp.g_rec_mutex_lock;
    0x0004638c sw s0, 0x1c(sp)                       |     *(var_1ch) = s0;
    0x00046390 move s0, a0                           |     s0 = a0;
    0x00046394 lw a0, 4(a0)                          |     a0 = *((a0 + 1));
    0x00046398 sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x0004639c sw ra, 0x24(sp)                       |     *(var_24h) = ra;
    0x000463a0 sw a1, 0x2c(sp)                       |     *(arg_2ch) = a1;
    0x000463a4 sw s1, 0x20(sp)                       |     *(var_20h) = s1;
    0x000463a8 jalr t9                               |     t9 ();
    0x000463ac nop                                   |     
    0x000463b0 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x000463b4 lw a1, 0x2c(sp)                       |     a1 = *(arg_2ch);
    0x000463b8 lw t9, -0x7a8c(gp)                    |     t9 = *(gp);
                                                     |     /* fcn.00044f20 */
    0x000463bc addiu t9, t9, 0x4f20                  |     t9 += 0x4f20;
    0x000463c0 move a0, s0                           |     a0 = s0;
    0x000463c4 bal 0x44f20                           |     fcn_00044f20 ();
    0x000463c8 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x000463cc beqz v0, 0x46400                      |         goto label_0;
                                                     |     }
    0x000463d0 lw v0, 0x18(v0)                       |     v0 = *((v0 + 6));
    0x000463d4 lw s1, (v0)                           |     s1 = *(v0);
    0x000463d8 sltiu s1, s1, 1                       |     s1 = (s1 < 1) ? 1 : 0;
                                                     |     do {
    0x000463dc lw t9, -0x76cc(gp)                    |         t9 = sym.imp.g_rec_mutex_unlock;
    0x000463e0 lw a0, 4(s0)                          |         a0 = *((s0 + 1));
    0x000463e4 jalr t9                               |         t9 ();
    0x000463e8 lw ra, 0x24(sp)                       |         ra = *(var_24h);
    0x000463ec move v0, s1                           |         v0 = s1;
    0x000463f0 lw s0, 0x1c(sp)                       |         s0 = *(var_1ch);
    0x000463f4 lw s1, 0x20(sp)                       |         s1 = *(var_20h);
    0x000463f8 addiu sp, sp, 0x28                    |         
    0x000463fc jr ra                                 |         return v0;
                                                     | label_0:
    0x00046400 move s1, zero                         |         s1 = 0;
    0x00046404 b 0x463dc                             |         
                                                     |     } while (1);
                                                     | }

[*] Function sprintf used 1 times indexer