[*] Binary protection state of libconfutils.so

  
  	Full RELRO     Canary found      NX enabled   DSO          No RPATH     No RUNPATH   No Symbols


[*] Function strcpy tear down of libconfutils.so

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libconfutils.so @ 0x1ee0 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.simpleconf_create ()                         | void simpleconf_create (int16_t arg_20h, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
                                                             |     r2 = arg3;
                                                             |     r3 = arg4;
    0x00001ee0 invalid                                       |     
    0x00001ee4 mov sb, r0                                    |     sb = r0;
    0x00001ee6 movs r0, 0x10                                 |     r0 = 0x10;
    0x00001ee8 mov r6, r1                                    |     r6 = r1;
    0x00001eea mov r8, r2                                    |     r8 = r2;
    0x00001eec mov r7, r3                                    |     r7 = r3;
    0x00001eee blx 0x1200                                    |     r0 = fcn_00001200 ();
    0x00001ef2 mov r5, r0                                    |     r5 = r0;
    0x00001ef4 mov r0, sb                                    |     r0 = sb;
    0x00001ef6 blx 0x10c0                                    |     fcn_000010c0 ();
    0x00001efa ldr r4, [pc, 0xd8]                            |     
    0x00001efc str r0, [r5]                                  |     *(r5) = r0;
    0x00001efe mov r0, r8                                    |     r0 = r8;
    0x00001f00 blx 0x1190                                    |     g_key_file_unref ();
    0x00001f04 ldr r3, [pc, 0xd0]                            |     r3 = *(0x1fd8);
    0x00001f06 add r4, pc                                    |     r4 = 0x3ee0;
    0x00001f08 ldr r2, [pc, 0xd0]                            |     r2 = *(0x1fdc);
    0x00001f0a ldr r1, [pc, 0xd4]                            |     r1 = *(0x1fe2);
    0x00001f0c strd r7, r6, [r5, 8]                          |     __asm ("strd r7, r6, [r5, 8]");
    0x00001f10 str r0, [r5, 4]                               |     *((r5 + 4)) = r0;
    0x00001f12 ldr r1, [r4, r1]                              |     r1 = *(0x3ee0);
    0x00001f14 ldr r0, [r4, r3]                              |     r0 = *(0x3ee0);
    0x00001f16 movs r3, 0                                    |     r3 = 0;
    0x00001f18 ldr r2, [r4, r2]                              |     r2 = *(0x3ee0);
    0x00001f1a blx 0x10a8                                    |     fcn_000010a8 ();
    0x00001f1e ldr r1, [r5, 8]                               |     r1 = *((r5 + 8));
    0x00001f20 mov r6, r0                                    |     r6 = r0;
    0x00001f22 ldr r3, [r1]                                  |     r3 = *(0x3ee0);
                                                             |     if (r3 == 0) {
    0x00001f24 cbz r3, 0x1f8e                                |         goto label_1;
                                                             |     }
    0x00001f26 movs r4, 0                                    |     r4 = 0;
    0x00001f28 b 0x1f5e                                      |     
                                                             |     while (r3 >= 0) {
    0x00001f2a blx 0xff4                                     |         r0 = fcn_00000ff4 ();
    0x00001f2e mov r3, r0                                    |         r3 = r0;
    0x00001f30 movs r0, 4                                    |         r0 = 4;
                                                             |         if (r3 != 0) {
    0x00001f32 cbnz r3, 0x1f9a                               |             goto label_2;
                                                             |         }
    0x00001f34 ldr r3, [r5, 8]                               |         r3 = *((r5 + 8));
    0x00001f36 ldr r3, [r3, r4]                              |         r3 = *((r3 + r4));
    0x00001f38 subs r3, 1                                    |         r3--;
    0x00001f3a cmp r3, 2                                     |         
                                                             |         if (r3 > 2) {
    0x00001f3c bhi 0x1fba                                    |             goto label_3;
                                                             |         }
    0x00001f3e blx 0xf80                                     |         g_malloc ();
    0x00001f42 ldr r3, [r5, 8]                               |         r3 = *((r5 + 8));
    0x00001f44 mov r2, r0                                    |         r2 = r0;
    0x00001f46 mov r1, r0                                    |         r1 = r0;
    0x00001f48 mov r0, r6                                    |         r0 = r6;
    0x00001f4a add r3, r4                                    |         r3 += r4;
    0x00001f4c adds r4, 0xc                                  |         r4 += 0xc;
    0x00001f4e ldr r3, [r3, 8]                               |         r3 = *((r3 + 8));
    0x00001f50 str r3, [r2]                                  |         *(r2) = r3;
    0x00001f52 blx 0x112c                                    |         fcn_0000112c ();
    0x00001f56 ldr r1, [r5, 8]                               |         r1 = *((r5 + 8));
    0x00001f58 ldr r3, [r1, r4]                              |         r3 = *((r1 + r4));
    0x00001f5a add r1, r4                                    |         r1 += r4;
                                                             |         if (r3 == 0) {
    0x00001f5c cbz r3, 0x1f8e                                |             goto label_1;
                                                             |         }
    0x00001f5e ldr r3, [r1, 8]                               |         r3 = *((r1 + 8));
    0x00001f60 mov r0, r6                                    |         r0 = r6;
    0x00001f62 adds r1, 8                                    |         r1 += 8;
    0x00001f64 cmp r3, 0                                     |         
    0x00001f66 bge 0x1f2a                                    |         
                                                             |     }
    0x00001f68 blx 0x1060                                    |     fcn_00001060 ();
    0x00001f6c ldr r2, [pc, 0x74]                            |     
    0x00001f6e movs r1, 7                                    |     r1 = 7;
    0x00001f70 add r2, pc                                    |     r2 = 0x3f58;
    0x00001f72 blx 0xf50                                     |     g_error_new ();
    0x00001f76 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00001f78 str r0, [r3]                                  |     *(r3) = r0;
    0x00001f7a mov r0, r6                                    |     r0 = r6;
    0x00001f7c blx 0x1144                                    |     fcn_00001144 ();
                                                             |     do {
                                                             | label_0:
    0x00001f80 mov r0, r5                                    |         r0 = r5;
    0x00001f82 movs r5, 0                                    |         r5 = 0;
    0x00001f84 blx 0x1184                                    |         g_strdup ();
    0x00001f88 mov r0, r5                                    |         r0 = r5;
    0x00001f8a pop.w {r3, r4, r5, r6, r7, r8, sb, pc}        |         
                                                             | label_1:
    0x00001f8e mov r0, r6                                    |         r0 = r6;
    0x00001f90 blx 0x1144                                    |         fcn_00001144 ();
    0x00001f94 mov r0, r5                                    |         r0 = r5;
    0x00001f96 pop.w {r3, r4, r5, r6, r7, r8, sb, pc}        |         
                                                             | label_2:
    0x00001f9a blx 0x1060                                    |         fcn_00001060 ();
    0x00001f9e ldr r3, [r5, 8]                               |         r3 = *((r5 + 8));
    0x00001fa0 movs r1, 7                                    |         r1 = 7;
    0x00001fa2 ldr r2, [pc, 0x44]                            |         
    0x00001fa4 add r3, r4                                    |         r3 += r4;
    0x00001fa6 ldr r3, [r3, 8]                               |         r3 = *((r3 + 8));
    0x00001fa8 add r2, pc                                    |         r2 = 0x3f96;
    0x00001faa blx 0xf50                                     |         g_error_new ();
    0x00001fae ldr r3, [sp, 0x20]                            |         r3 = *(arg_20h);
    0x00001fb0 str r0, [r3]                                  |         *(r3) = r0;
    0x00001fb2 mov r0, r6                                    |         r0 = r6;
    0x00001fb4 blx 0x1144                                    |         fcn_00001144 ();
    0x00001fb8 b 0x1f80                                      |         
                                                             |     } while (1);
                                                             | label_3:
    0x00001fba blx 0x1060                                    |     fcn_00001060 ();
    0x00001fbe ldr r3, [r5, 8]                               |     r3 = *((r5 + 8));
    0x00001fc0 movs r1, 6                                    |     r1 = 6;
    0x00001fc2 ldr r2, [pc, 0x28]                            |     
    0x00001fc4 ldr r3, [r3, r4]                              |     r3 = *((r3 + r4));
    0x00001fc6 add r2, pc                                    |     r2 = 0x3fb8;
    0x00001fc8 blx 0xf50                                     |     g_error_new ();
    0x00001fcc ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00001fce str r0, [r3]                                  |     *(r3) = r0;
    0x00001fd0 b 0x1f80                                      |     goto label_0;
                                                             | }

[*] Function strcpy used 1 times libconfutils.so