[*] Binary protection state of libsecret-storage.so.0.0.0

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


[*] Function printf tear down of libsecret-storage.so.0.0.0

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libsecret-storage.so.0.0.0 @ 0x1050 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.secret_storage_deinit ()     | void secret_storage_deinit () {
                                             |     int16_t var_0h;
                                             |     if (? >= ?) {
    0x00001050 ldrlt r4, [r0, -0xb0c]!       |         r4 = *((r0 -= 0xb0c));
                                             |     }
    0x00001054 sub sp, 0xc                   |     
    0x00001056 add r3, pc                    |     r3 += pc;
    0x00001058 ldr r4, [r3]                  |     r4 = *(r3);
                                             |     if (r4 != 0) {
    0x0000105a cbz r4, 0x1074                |         
    0x0000105c ldr r3, [pc, 0x28]            |         
    0x0000105e movs r2, 0x51                 |         r2 = 0x51;
    0x00001060 ldr r4, [pc, 0x28]            |         
    0x00001062 movs r0, 0                    |         r0 = 0;
    0x00001064 ldr r1, [pc, 0x28]            |         
    0x00001066 add r3, pc                    |         r3 = 0x20f2;
    0x00001068 add r4, pc                    |         r4 = 0x20f8;
    0x0000106a adds r3, 0x14                 |         r3 += 0x14;
    0x0000106c add r1, pc                    |         r1 = 0x2100;
    0x0000106e str r4, [sp]                  |         *(sp) = r4;
    0x00001070 blx 0xd78                     |         g_strdup_printf ()
                                             |     }
    0x00001074 ldr r5, [pc, 0x1c]            |     
    0x00001076 add r5, pc                    |     r5 = 0x210e;
    0x00001078 ldr r0, [r5]                  |     r0 = *(0x210e);
    0x0000107a blx 0xcd4                     |     fcn_00000cd4 ();
    0x0000107e str r4, [r5]                  |     *(r5) = r4;
    0x00001080 add sp, 0xc                   |     
    0x00001082 pop {r4, r5, pc}              |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libsecret-storage.so.0.0.0 @ 0xfa4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.secret_storage_init ()       | void secret_storage_init (uint32_t arg1) {
                                             |     int16_t var_0h;
                                             |     int16_t var_ch;
                                             |     int16_t var_10h;
                                             |     char * s;
                                             |     r0 = arg1;
    0x00000fa4 bmi 0x7d3c24                  |     
    0x00000fa8 push {r4, lr}                 |     
    0x00000faa sub sp, 0x18                  |     
    0x00000fac add r3, pc                    |     r3 += pc;
    0x00000fae dmb ish                       |     __asm ("dmb ish");
    0x00000fb2 add r2, pc                    |     r2 += pc;
                                             |     do {
    0x00000fb4 ldrex r1, [r3]                |         __asm ("ldrex r1, [r3]");
    0x00000fb8 subs r1, 1                    |         r1--;
    0x00000fba strex r0, r1, [r3]            |         __asm ("strex r0, r1, [r3]");
    0x00000fbe cmp r0, 0                     |         
    0x00000fc0 bne 0xfb4                     |         
                                             |     } while (r0 != 0);
    0x00000fc2 dmb ish                       |     __asm ("dmb ish");
                                             |     if (r1 == 0) {
    0x00000fc6 cbnz r1, 0x100c               |         
    0x00000fc8 ldr.w ip, [pc, 0x5c]          |         ip = *(0x1028);
    0x00000fcc ldr r0, [pc, 0x5c]            |         r0 = *(0x102c);
    0x00000fce ldr r1, [pc, 0x60]            |         r1 = *(0x1032);
    0x00000fd0 ldr.w r4, [r2, ip]            |         r4 = *((r2 + ip));
    0x00000fd4 ldr r3, [pc, 0x5c]            |         
    0x00000fd6 str r4, [sp, 0xc]             |         var_ch = r4;
    0x00000fd8 ldr r0, [r2, r0]              |         r0 = *((r2 + r0));
    0x00000fda add r3, pc                    |         r3 = 0x2012;
    0x00000fdc str r0, [sp, 0x10]            |         var_10h = r0;
    0x00000fde ldr r2, [r2, r1]              |         r2 = *((r2 + r1));
    0x00000fe0 mov r1, r0                    |         r1 = r0;
    0x00000fe2 str r2, [sp, 0x14]            |         s = r2;
    0x00000fe4 mov r2, r4                    |         r2 = r4;
    0x00000fe6 ldr r0, [sp, 0x14]            |         r0 = s;
    0x00000fe8 blx 0xd90                     |         strlen (r0);
    0x00000fec ldr r2, [pc, 0x48]            |         
    0x00000fee add r2, pc                    |         r2 = 0x202a;
    0x00000ff0 str r0, [r2]                  |         *(r2) = r0;
                                             |         if (r0 != 0) {
    0x00000ff2 cbz r0, 0xff8                 |             
    0x00000ff4 add sp, 0x18                  |             
    0x00000ff6 pop {r4, pc}                  |             
                                             |         }
    0x00000ff8 ldr r4, [pc, 0x40]            |         
    0x00000ffa movs r2, 0x48                 |         r2 = 0x48;
    0x00000ffc ldr r3, [pc, 0x40]            |         
    0x00000ffe ldr r1, [pc, 0x44]            |         
    0x00001000 add r4, pc                    |         r4 = 0x2040;
    0x00001002 add r3, pc                    |         r3 = 0x2046;
    0x00001004 str r4, [sp]                  |         *(sp) = r4;
    0x00001006 add r1, pc                    |         r1 = 0x2050;
    0x00001008 blx 0xd78                     |         g_strdup_printf ()
                                             |     }
    0x0000100c ldr r3, [pc, 0x38]            |     
    0x0000100e movs r0, 0                    |     r0 = 0;
    0x00001010 ldr r1, [pc, 0x38]            |     
    0x00001012 movs r2, 0x4b                 |     r2 = 0x4b;
    0x00001014 str r0, [sp]                  |     *(sp) = r0;
    0x00001016 add r3, pc                    |     r3 = 0x2062;
    0x00001018 add r1, pc                    |     r1 = 0x2068;
    0x0000101a blx 0xd78                     |     g_strdup_printf ()
    0x0000101e nop                           |     
    0x00001020 movs r0, 0x54                 |     r0 = 0x54;
    0x00001022 movs r0, r0                   |     
    0x00001024 subs r6, r1, 6                |     r6 = r1 - 6;
    0x00001026 movs r0, r0                   |     
    0x00001028 lsls r4, r3, 2                |     r4 = r3 << 2;
    0x0000102a movs r0, r0                   |     
    0x0000102c lsls r4, r6, 2                |     r4 = r6 << 2;
    0x0000102e movs r0, r0                   |     
    0x00001030 lsls r0, r4, 2                |     r0 = r4 << 2;
    0x00001032 movs r0, r0                   |     
    0x00001034 invalid                       |     
                                             | }

[*] Function printf used 4 times libsecret-storage.so.0.0.0