[*] Binary protection state of libdbus-1.so.3.19.13

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


[*] Function sprintf tear down of libdbus-1.so.3.19.13

    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libdbus-1.so.3.19.13 @ 0x1fc80 */
                                                         | #include <stdint.h>
                                                         |  
                                                         | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                         |  
    ; (fcn) sym.dbus_signature_iter_recurse ()           | void dbus_signature_iter_recurse (int16_t arg1, int16_t arg2) {
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x0001fc80 invalid                                   |     
    0x0001fc84 mov r5, r0                                |     r5 = r0;
    0x0001fc86 blx 0x9d9c                                |     vsprintf_chk ()
    0x0001fc8a blx 0xafac                                |     r0 = fcn_0000afac ();
                                                         |     if (r0 != 0) {
    0x0001fc8e cbz r0, 0x1fcba                           |         
    0x0001fc90 ldm.w r5, {r0, r1}                        |         r0 = *(r5);
                                                         |         r1 = *((r5 + 4));
    0x0001fc94 stm.w r4, {r0, r1}                        |         *(r4) = r0;
                                                         |         *((r4 + 4)) = r1;
    0x0001fc98 mov r3, r0                                |         r3 = r0;
    0x0001fc9a ldrb r2, [r4, 4]                          |         r2 = *((r4 + 4));
    0x0001fc9c adds r3, 1                                |         r3++;
    0x0001fc9e str r3, [r4]                              |         *(r4) = r3;
    0x0001fca0 mov r0, r5                                |         r0 = r5;
    0x0001fca2 bfc r2, 1, 1                              |         value_0 = BIT_MASK (1, );
                                                         |         value_0 = ~value_0;
                                                         |         r2 &= value_0;
    0x0001fca6 strb r2, [r4, 4]                          |         *((r4 + 4)) = r2;
    0x0001fca8 blx 0x9d9c                                |         r0 = vsprintf_chk ()
    0x0001fcac cmp r0, 0x61                              |         
    0x0001fcae ittt eq                                   |         
                                                         |         if (r0 != 0x61) {
    0x0001fcb0 ldrbeq r3, [r4, 4]                        |             r3 = *((r4 + 4));
                                                         |         }
                                                         |         if (r0 != 0x61) {
    0x0001fcb2 orreq r3, r3, 2                           |             r3 |= 2;
                                                         |         }
                                                         |         if (r0 == 0x61) {
    0x0001fcb6 strb r3, [r4, 4]                          |             *((r4 + 4)) = r3;
                                                         |         }
    0x0001fcb8 pop {r4, r5, r6, pc}                      |         
                                                         |     }
    0x0001fcba ldr r0, [pc, 0x18]                        |     
    0x0001fcbc movs r3, 0xd5                             |     r3 = 0xd5;
    0x0001fcbe ldr r2, [pc, 0x18]                        |     
    0x0001fcc0 ldr r1, [pc, 0x18]                        |     
    0x0001fcc2 add r0, pc                                |     r0 = 0x3f99c;
    0x0001fcc4 pop.w {r4, r5, r6, lr}                    |     
    0x0001fcc8 add r2, pc                                |     r2 = 0x3f9a6;
    0x0001fcca adds r0, 0x40                             |     r0 += 0x40;
    0x0001fccc add r1, pc                                |     r1 = 0x3f9ac;
    0x0001fcce b.w 0x9f44                                |     return void (*0x9f44)() ();
                                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libdbus-1.so.3.19.13 @ 0x1fb90 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.dbus_signature_validate_single ()        | void dbus_signature_validate_single (int16_t arg1, int16_t arg2) {
                                                         |     int16_t var_0h;
                                                         |     int16_t var_14h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x0001fb90 ldr r2, [pc, 0x68]                        |     
    0x0001fb92 ldr r3, [pc, 0x6c]                        |     r3 = *(0x1fc02);
    0x0001fb94 push {r4, r5, r6, lr}                     |     
    0x0001fb96 sub sp, 0x18                              |     
    0x0001fb98 add r2, pc                                |     r2 = 0x3f798;
    0x0001fb9a mov r4, r0                                |     r4 = r0;
    0x0001fb9c mov r5, r1                                |     r5 = r1;
    0x0001fb9e ldr r3, [r2, r3]                          |     
    0x0001fba0 ldr r3, [r3]                              |     r3 = *(0x3f798);
    0x0001fba2 str r3, [sp, 0x14]                        |     var_14h = r3;
    0x0001fba4 mov.w r3, 0                               |     r3 = 0;
    0x0001fba8 blx 0xad2c                                |     r0 = fcn_0000ad2c ();
    0x0001fbac cbnz r0, 0x1fbc6                          |     
                                                         |     while (1) {
                                                         | label_0:
    0x0001fbae ldr r2, [pc, 0x54]                        |         
    0x0001fbb0 ldr r3, [pc, 0x4c]                        |         r3 = *(0x1fc00);
    0x0001fbb2 add r2, pc                                |         r2 = 0x3f7bc;
    0x0001fbb4 ldr r3, [r2, r3]                          |         r3 = *(0x3f7bc);
    0x0001fbb6 ldr r2, [r3]                              |         r2 = *(0x3f7bc);
    0x0001fbb8 ldr r3, [sp, 0x14]                        |         r3 = var_14h;
    0x0001fbba eors r2, r3                               |         r2 ^= r3;
    0x0001fbbc mov.w r3, 0                               |         r3 = 0;
                                                         |         if (r2 != r3) {
    0x0001fbc0 bne 0x1fbf6                               |             goto label_1;
                                                         |         }
    0x0001fbc2 add sp, 0x18                              |         
    0x0001fbc4 pop {r4, r5, r6, pc}                      |         
    0x0001fbc6 mov r6, sp                                |         r6 = sp;
    0x0001fbc8 mov r1, r4                                |         r1 = r4;
    0x0001fbca mov r0, r6                                |         r0 = r6;
    0x0001fbcc blx 0xa174                                |         fcn_0000a174 ();
    0x0001fbd0 mov r0, r6                                |         r0 = r6;
    0x0001fbd2 blx 0x9d9c                                |         r0 = vsprintf_chk ()
                                                         |         if (r0 != 0) {
    0x0001fbd6 cbz r0, 0x1fbe0                           |             
    0x0001fbd8 mov r0, r6                                |             r0 = r6;
    0x0001fbda blx 0xab30                                |             r0 = fcn_0000ab30 ();
                                                         |             if (r0 == 0) {
    0x0001fbde cbz r0, 0x1fbf2                           |                 goto label_2;
                                                         |             }
                                                         |         }
    0x0001fbe0 ldr r2, [pc, 0x24]                        |         
    0x0001fbe2 mov r0, r5                                |         r0 = r5;
    0x0001fbe4 ldr r1, [pc, 0x24]                        |         
    0x0001fbe6 add r2, pc                                |         r2 = 0x3f7f2;
    0x0001fbe8 add r1, pc                                |         r1 = 0x3f7f8;
    0x0001fbea blx 0xa60c                                |         mkdir ();
    0x0001fbee movs r0, 0                                |         r0 = 0;
    0x0001fbf0 b 0x1fbae                                 |         
                                                         |     }
                                                         | label_2:
    0x0001fbf2 movs r0, 1                                |     r0 = 1;
    0x0001fbf4 b 0x1fbae                                 |     goto label_0;
                                                         | label_1:
    0x0001fbf6 blx 0x9e60                                |     fcn_00009e60 ();
    0x0001fbfa nop                                       |     
    0x0001fbfc adds r4, r7, 2                            |     r4 = r7 + 2;
    0x0001fbfe movs r2, r0                               |     r2 = r0;
    0x0001fc00 lsls r4, r5, 0x1d                         |     r4 = r5 << 0x1d;
    0x0001fc02 movs r0, r0                               |     
    0x0001fc04 adds r2, r4, 2                            |     r2 = r4 + 2;
    0x0001fc06 movs r2, r0                               |     r2 = r0;
    0x0001fc08 rsbs.w r0, r6, 0                          |     r0 = r6 - ;
    0x0001fc0c sub.w r0, r8, 0                           |     r0 = r8 - 0;
                                                         | }

[*] Function sprintf used 4 times libdbus-1.so.3.19.13