[*] Binary protection state of liburcu-signal.so.8.0.0

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


[*] Function strcpy tear down of liburcu-signal.so.8.0.0

    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/liburcu-signal.so.8.0.0 @ 0x1524 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.urcu_signal_init ()                      | void urcu_signal_init () {
                                                         |     int16_t var_8h;
                                                         |     int16_t var_ch;
                                                         |     int16_t var_8ch;
                                                         |     int16_t var_94h;
    0x00001120 lsls r5, r2, 0x1c                         |     r5 = r2 << 0x1c;
    0x00001122 movs r0, r0                               |     
    0x00001124 ldr r7, [pc, 0x380]                       |     r7 = *(0x14a8);
    0x00001126 movs r1, r0                               |     r1 = r0;
    0x00001128 lsrs r5, r2, 8                            |     r5 = r2 >> 8;
    0x0000112a movs r0, r0                               |     
    0x0000112c ldr r7, [pc, 0x390]                       |     r7 = *(0x14c0);
    0x0000112e movs r1, r0                               |     r1 = r0;
    0x00001130 adds r7, 0x15                             |     r7 += 0x15;
    0x00001132 movs r0, r0                               |     
    0x00001134 ldr r7, [pc, 0x3a0]                       |     r7 = *(0x14d8);
    0x00001136 movs r1, r0                               |     r1 = r0;
    0x00001138 asrs r5, r2, 4                            |     r5 = r2 >> 4;
    0x0000113a movs r0, r0                               |     
    0x0000113c ldr r7, [pc, 0x3b0]                       |     r7 = *(0x14f0);
    0x0000113e movs r1, r0                               |     r1 = r0;
    0x00001140 asrs r5, r2, 0x18                         |     r5 = r2 >> 0x18;
    0x00001142 movs r0, r0                               |     
    0x00001144 ldr r7, [pc, 0x3c0]                       |     r7 = *(0x1508);
    0x00001146 movs r1, r0                               |     r1 = r0;
    0x00001148 ldr r0, [pc, 0x54]                        |     r0 = *(0x11a0);
    0x0000114a movs r0, r0                               |     
    0x0000114c ldr r7, [pc, 0x3d0]                       |     r7 = *(0x1520);
    0x0000114e movs r1, r0                               |     r1 = r0;
    0x00001150 adds r3, 0x11                             |     r3 += 0x11;
    0x00001152 movs r0, r0                               |     
    0x00001154 ldr r7, [pc, 0x3e0]                       |     r7 = *(0x1538);
    0x00001156 movs r1, r0                               |     r1 = r0;
    0x00001158 adds r3, 0x12                             |     r3 += 0x12;
    0x0000115a movs r0, r0                               |     
    0x0000115c ldr r7, [pc, 0x3f0]                       |     r7 = *(0x1550);
    0x0000115e movs r1, r0                               |     r1 = r0;
    0x00001160 movs r1, 0x15                             |     r1 = 0x15;
    0x00001162 movs r0, r0                               |     
                                                         |     /* [08] -r-- section size 344 named .rel.plt */
    0x00001164 ldr r7, [pc, 0x80]                        |     r7 = *(0x11e8);
    0x00001166 movs r1, r0                               |     r1 = r0;
    0x00001168 lsls r6, r2, 0xc                          |     r6 = r2 << 0xc;
    0x0000116a movs r0, r0                               |     
    0x0000116c ldr r7, [pc, 0x90]                        |     r7 = *(0x1200);
    0x0000116e movs r1, r0                               |     r1 = r0;
    0x00001170 cmp r3, 0x16                              |     
    0x00001172 movs r0, r0                               |     
    0x00001174 ldr r7, [pc, 0xa0]                        |     r7 = *(0x1218);
    0x00001176 movs r1, r0                               |     r1 = r0;
    0x00001178 lsls r6, r2, 0x10                         |     r6 = r2 << 0x10;
    0x0000117a movs r0, r0                               |     
    0x0000117c ldr r7, [pc, 0xb0]                        |     r7 = *(0x1230);
    0x0000117e movs r1, r0                               |     r1 = r0;
    0x00001180 lsls r6, r2, 0x14                         |     r6 = r2 << 0x14;
    0x00001182 movs r0, r0                               |     
    0x00001184 ldr r7, [pc, 0xc0]                        |     r7 = *(0x1248);
    0x00001186 movs r1, r0                               |     r1 = r0;
    0x00001188 subs r4, 0x16                             |     r4 -= 0x16;
    0x0000118a movs r0, r0                               |     
    0x0000118c ldr r7, [pc, 0xd0]                        |     r7 = *(0x1260);
    0x0000118e movs r1, r0                               |     r1 = r0;
    0x00001190 lsls r6, r2, 0x18                         |     r6 = r2 << 0x18;
    0x00001192 movs r0, r0                               |     
    0x00001194 ldr r7, [pc, 0xe0]                        |     r7 = *(0x1278);
    0x00001196 movs r1, r0                               |     r1 = r0;
    0x00001198 subs r7, 0x16                             |     r7 -= 0x16;
    0x0000119a movs r0, r0                               |     
    0x0000119c ldr r7, [pc, 0xf0]                        |     r7 = *(0x1290);
    0x0000119e movs r1, r0                               |     r1 = r0;
    0x000011a0 lsrs r6, r2, 0x20                         |     r6 = r2 >> 0x20;
    0x000011a2 movs r0, r0                               |     
    0x000011a4 ldr r7, [pc, 0x100]                       |     r7 = *(0x12a8);
    0x000011a6 movs r1, r0                               |     r1 = r0;
    0x000011a8 lsrs r6, r2, 4                            |     r6 = r2 >> 4;
    0x000011aa movs r0, r0                               |     
    0x000011ac ldr r7, [pc, 0x110]                       |     r7 = *(0x12c0);
    0x000011ae movs r1, r0                               |     r1 = r0;
    0x000011b0 lsrs r6, r2, 0xc                          |     r6 = r2 >> 0xc;
    0x000011b2 movs r0, r0                               |     
    0x000011b4 ldr r7, [pc, 0x120]                       |     r7 = *(0x12d8);
    0x000011b6 movs r1, r0                               |     r1 = r0;
    0x000011b8 lsrs r6, r2, 0x10                         |     r6 = r2 >> 0x10;
    0x000011ba movs r0, r0                               |     
    0x000011bc ldr r7, [pc, 0x130]                       |     r7 = *(0x12f0);
    0x000011be movs r1, r0                               |     r1 = r0;
    0x000011c0 lsrs r6, r2, 0x14                         |     r6 = r2 >> 0x14;
    0x000011c2 movs r0, r0                               |     
    0x000011c4 ldr r7, [pc, 0x140]                       |     r7 = *(0x1308);
    0x000011c6 movs r1, r0                               |     r1 = r0;
    0x000011c8 lsrs r6, r2, 0x18                         |     r6 = r2 >> 0x18;
    0x000011ca movs r0, r0                               |     
    0x000011cc ldr r7, [pc, 0x150]                       |     r7 = *(0x1320);
    0x000011ce movs r1, r0                               |     r1 = r0;
    0x000011d0 lsrs r6, r2, 0x1c                         |     r6 = r2 >> 0x1c;
    0x000011d2 movs r0, r0                               |     
    0x000011d4 ldr r7, [pc, 0x160]                       |     r7 = *(0x1338);
    0x000011d6 movs r1, r0                               |     r1 = r0;
    0x000011d8 asrs r6, r2, 0x20                         |     r6 = r2 >> 0x20;
    0x000011da movs r0, r0                               |     
    0x000011dc ldr r7, [pc, 0x170]                       |     r7 = *(0x1350);
    0x000011de movs r1, r0                               |     r1 = r0;
    0x000011e0 asrs r6, r2, 8                            |     r6 = r2 >> 8;
    0x000011e2 movs r0, r0                               |     
    0x000011e4 ldr r7, [pc, 0x180]                       |     r7 = *(0x1368);
    0x000011e6 movs r1, r0                               |     r1 = r0;
    0x000011e8 mov r6, r2                                |     r6 = r2;
    0x000011ea movs r0, r0                               |     
    0x000011ec ldr r7, [pc, 0x190]                       |     r7 = *(0x1380);
    0x000011ee movs r1, r0                               |     r1 = r0;
    0x000011f0 asrs r6, r2, 0xc                          |     r6 = r2 >> 0xc;
    0x000011f2 movs r0, r0                               |     
    0x000011f4 ldr r7, [pc, 0x1a0]                       |     r7 = *(0x1398);
    0x000011f6 movs r1, r0                               |     r1 = r0;
    0x000011f8 asrs r6, r2, 0x10                         |     r6 = r2 >> 0x10;
    0x000011fa movs r0, r0                               |     
    0x000011fc ldr r7, [pc, 0x1b0]                       |     r7 = *(0x13b0);
    0x000011fe movs r1, r0                               |     r1 = r0;
    0x00001200 asrs r6, r2, 0x14                         |     r6 = r2 >> 0x14;
    0x00001202 movs r0, r0                               |     
    0x00001204 ldr r7, [pc, 0x1c0]                       |     r7 = *(0x13c8);
    0x00001206 movs r1, r0                               |     r1 = r0;
    0x00001208 asrs r6, r2, 0x18                         |     r6 = r2 >> 0x18;
    0x0000120a movs r0, r0                               |     
    0x0000120c ldr r7, [pc, 0x1d0]                       |     r7 = *(0x13e0);
    0x0000120e movs r1, r0                               |     r1 = r0;
    0x00001210 asrs r6, r2, 0x1c                         |     r6 = r2 >> 0x1c;
    0x00001212 movs r0, r0                               |     
    0x00001214 ldr r7, [pc, 0x1e0]                       |     r7 = *(0x13f8);
    0x00001216 movs r1, r0                               |     r1 = r0;
    0x00001218 cmp r7, 0x16                              |     
    0x0000121a movs r0, r0                               |     
    0x0000121c ldr r7, [pc, 0x1f0]                       |     r7 = *(0x1410);
    0x0000121e movs r1, r0                               |     r1 = r0;
    0x00001220 adds r6, r2, r0                           |     r6 = r2 + r0;
    0x00001222 movs r0, r0                               |     
    0x00001224 ldr r7, [pc, 0x200]                       |     r7 = *(0x1428);
    0x00001226 movs r1, r0                               |     r1 = r0;
    0x00001228 adds r6, r2, r4                           |     r6 = r2 + r4;
    0x0000122a movs r0, r0                               |     
    0x0000122c ldr r7, [pc, 0x210]                       |     r7 = *(0x1440);
    0x0000122e movs r1, r0                               |     r1 = r0;
    0x00001230 asrs r6, r2                               |     r6 >>= r2;
    0x00001232 movs r0, r0                               |     
    0x00001234 ldr r7, [pc, 0x220]                       |     r7 = *(0x1458);
    0x00001236 movs r1, r0                               |     r1 = r0;
    0x00001238 subs r6, r2, r0                           |     r6 = r2 - r0;
    0x0000123a movs r0, r0                               |     
    0x0000123c ldr r7, [pc, 0x230]                       |     r7 = *(0x1470);
    0x0000123e movs r1, r0                               |     r1 = r0;
    0x00001240 subs r6, r2, r4                           |     r6 = r2 - r4;
    0x00001242 movs r0, r0                               |     
    0x00001244 ldr r7, [pc, 0x240]                       |     r7 = *(0x1488);
    0x00001246 movs r1, r0                               |     r1 = r0;
    0x00001248 adds r6, r2, 0                            |     r6 = r2 + 0;
    0x0000124a movs r0, r0                               |     
    0x0000124c ldr r7, [pc, 0x250]                       |     r7 = *(0x14a0);
    0x0000124e movs r1, r0                               |     r1 = r0;
    0x00001250 cmp r2, 0x16                              |     
    0x00001252 movs r0, r0                               |     
    0x00001254 ldr r7, [pc, 0x260]                       |     r7 = *(0x14b8);
    0x00001256 movs r1, r0                               |     r1 = r0;
    0x00001258 adds r6, r2, 4                            |     r6 = r2 + 4;
    0x0000125a movs r0, r0                               |     
    0x0000125c ldr r7, [pc, 0x270]                       |     r7 = *(0x14d0);
    0x0000125e movs r1, r0                               |     r1 = r0;
    0x00001260 subs r6, r2, 0                            |     r6 = r2 - 0;
    0x00001262 movs r0, r0                               |     
    0x00001264 ldr r7, [pc, 0x280]                       |     r7 = urcu_signal_exit;
    0x00001266 movs r1, r0                               |     r1 = r0;
    0x00001268 ands r6, r2                               |     r6 &= r2;
    0x0000126a movs r0, r0                               |     
    0x0000126c ldr r7, [pc, 0x290]                       |     r7 = *(0x1500);
    0x0000126e movs r1, r0                               |     r1 = r0;
    0x00001270 subs r6, r2, 4                            |     r6 = r2 - 4;
    0x00001272 movs r0, r0                               |     
    0x00001274 ldr r7, [pc, 0x2a0]                       |     r7 = *(0x1518);
    0x00001276 movs r1, r0                               |     r1 = r0;
    0x00001278 movs r0, 0x16                             |     r0 = 0x16;
    0x0000127a movs r0, r0                               |     
    0x0000127c ldr r7, [pc, 0x2b0]                       |     r7 = *(0x1530);
    0x0000127e movs r1, r0                               |     r1 = r0;
    0x00001280 movs r2, 0x16                             |     r2 = 0x16;
    0x00001282 movs r0, r0                               |     
    0x00001284 ldr r7, [pc, 0x2c0]                       |     r7 = *(0x1548);
    0x00001286 movs r1, r0                               |     r1 = r0;
    0x00001288 movs r3, 0x16                             |     r3 = 0x16;
    0x0000128a movs r0, r0                               |     
    0x0000128c ldr r7, [pc, 0x2d0]                       |     r7 = *(0x1560);
    0x0000128e movs r1, r0                               |     r1 = r0;
    0x00001290 cmp r6, r2                                |     
    0x00001292 movs r0, r0                               |     
    0x00001294 ldr r7, [pc, 0x2e0]                       |     r7 = *(0x1578);
    0x00001296 movs r1, r0                               |     r1 = r0;
    0x00001298 cmp r5, 0x16                              |     
    0x0000129a movs r0, r0                               |     
    0x0000129c ldr r7, [pc, 0x2f0]                       |     r7 = *(0x1590);
    0x0000129e movs r1, r0                               |     r1 = r0;
    0x000012a0 ldr r4, [pc, 0x58]                        |     r4 = *(0x12fc);
    0x000012a2 movs r0, r0                               |     
    0x000012a4 ldr r7, [pc, 0x300]                       |     r7 = *(0x15a8);
    0x000012a6 movs r1, r0                               |     r1 = r0;
    0x000012a8 subs r3, 0x16                             |     r3 -= 0x16;
    0x000012aa movs r0, r0                               |     
    0x000012ac ldr r7, [pc, 0x310]                       |     r7 = *(0x15c0);
    0x000012ae movs r1, r0                               |     r1 = r0;
    0x000012b0 movs r4, 0x16                             |     r4 = 0x16;
    0x000012b2 movs r0, r0                               |     
    0x000012b4 ldr r7, [pc, 0x320]                       |     r7 = *(0x15d8);
    0x000012b6 movs r1, r0                               |     r1 = r0;
    0x000012b8 movs r5, 0x16                             |     r5 = 0x16;
    0x000012ba movs r0, r0                               |     
                                                         |     /* [09] -r-x section size 12 named .init */
    0x000012bc ands r0, r1                               |     r0 &= r1;
    0x000012c0 bl 0x15dc                                 |     void (*0x15dc)() ();
    0x000012c4 pop {r3, pc}                              |     
    0x00001524 stmdbmi r5!, {r2, r5, r8, sb, fp, lr}     |     __asm ("stmdbmi r5!, {r2, r5, r8, sb, fp, lr}");
    0x00001528 ldr r2, [pc, 0x94]                        |     
    0x0000152a add r3, pc                                |     r3 += pc;
    0x0000152c push {r4, r5, r6, lr}                     |     
    0x0000152e add r1, pc                                |     r1 += pc;
    0x00001530 ldr r4, [r3, 0x64]                        |     r4 = *((r3 + 0x64));
    0x00001532 sub sp, 0x98                              |     
    0x00001534 ldr r5, [pc, 0x8c]                        |     
    0x00001536 ldr r2, [r1, r2]                          |     r2 = *((r1 + r2));
    0x00001538 add r5, pc                                |     r5 = 0x2b00;
    0x0000153a ldr r2, [r2]                              |     r2 = *(0x15c0);
    0x0000153c str r2, [sp, 0x94]                        |     var_94h = r2;
    0x0000153e mov.w r2, 0                               |     r2 = 0;
    0x00001542 cbz r4, 0x155c                            |     
                                                         |     while (r0 == 0) {
    0x00001544 ldr r2, [pc, 0x80]                        |         
    0x00001546 ldr r3, [pc, 0x78]                        |         r3 = *(0x15c2);
    0x00001548 add r2, pc                                |         r2 = 0x2b14;
    0x0000154a ldr r3, [r2, r3]                          |         r3 = *(0x2b14);
    0x0000154c ldr r2, [r3]                              |         r2 = *(0x2b14);
    0x0000154e ldr r3, [sp, 0x94]                        |         r3 = var_94h;
    0x00001550 eors r2, r3                               |         r2 ^= r3;
    0x00001552 mov.w r3, 0                               |         r3 = 0;
                                                         |         if (r2 != r3) {
    0x00001556 bne 0x15b4                                |             goto label_0;
                                                         |         }
    0x00001558 add sp, 0x98                              |         
    0x0000155a pop {r4, r5, r6, pc}                      |         
    0x0000155c ldr r2, [pc, 0x6c]                        |         
    0x0000155e movs r1, 4                                |         
    0x00001560 movt r1, 0x1000                           |         r1 = 0x10000004;
    0x00001564 movs r6, 1                                |         r6 = 1;
    0x00001566 add r0, sp, 0xc                           |         r0 += var_ch;
    0x00001568 str r1, [sp, 0x8c]                        |         var_8ch = r1;
    0x0000156a add r2, pc                                |         r2 = 0x2b3a;
    0x0000156c str r6, [r3, 0x64]                        |         *((r3 + 0x64)) = r6;
    0x0000156e str r2, [sp, 8]                           |         var_8h = r2;
    0x00001570 blx 0x1454                                |         fcn_00001454 ();
    0x00001574 mov r2, r4                                |         r2 = r4;
    0x00001576 add r1, sp, 8                             |         r1 += var_8h;
    0x00001578 movs r0, 0xa                              |         r0 = 0xa;
    0x0000157a blx 0x1388                                |         r0 = fcn_00001388 ();
    0x0000157e cmp r0, 0                                 |         
    0x00001580 beq 0x1544                                |         
                                                         |     }
    0x00001582 ldr r3, [pc, 0x4c]                        |     r3 = *(0x15d2);
    0x00001584 ldr r3, [r5, r3]                          |     r3 = *((r5 + r3));
    0x00001586 ldr r5, [r3]                              |     r5 = *(0x15d2);
    0x00001588 blx 0x13f4                                |     r0 = fcn_000013f4 ();
    0x0000158c ldr r0, [r0]                              |     r0 = *(r0);
    0x0000158e blx 0x13c4                                |     fcn_000013c4 ();
    0x00001592 mov.w r2, 0x280                           |     r2 = 0x280;
    0x00001596 mov r4, r0                                |     r4 = r0;
    0x00001598 ldr r3, [pc, 0x38]                        |     
    0x0000159a mov r1, r6                                |     r1 = r6;
    0x0000159c strd r2, r4, [sp]                         |     __asm ("strd r2, r4, [sp]");
    0x000015a0 mov r0, r5                                |     r0 = r5;
    0x000015a2 ldr r2, [pc, 0x34]                        |     
    0x000015a4 add r3, pc                                |     
    0x000015a6 add.w r3, r3, 0x184                       |     r3 = 0x2d00;
    0x000015aa add r2, pc                                |     r2 = 0x2b88;
    0x000015ac blx 0x1418                                |     fcn_00001418 ();
    0x000015b0 blx 0x14d0                                |     fcn_000014d0 ();
                                                         | label_0:
    0x000015b4 blx 0x1364                                |     fcn_00001364 ();
    0x000015b8 subs r3, 0xae                             |     r3 -= 0xae;
    0x000015ba movs r1, r0                               |     r1 = r0;
    0x000015bc subs r1, 0xe2                             |     r1 -= 0xe2;
    0x000015be movs r1, r0                               |     r1 = r0;
    0x000015c0 lsls r4, r1, 3                            |     r4 = r1 << 3;
    0x000015c2 movs r0, r0                               |     
    0x000015c4 subs r1, 0xd8                             |     r1 -= 0xd8;
    0x000015c6 movs r1, r0                               |     r1 = r0;
    0x000015c8 subs r1, 0xc8                             |     r1 -= 0xc8;
    0x000015ca movs r1, r0                               |     r1 = r0;
    0x000015cc lsls r7, r1, 5                            |     r7 = r1 << 5;
    0x000015ce movs r0, r0                               |     
    0x000015d0 lsls r4, r2, 3                            |     r4 = r2 << 3;
    0x000015d2 movs r0, r0                               |     
    0x000015d4 cmp r3, 0x40                              |     
    0x000015d6 movs r0, r0                               |     
    0x000015d8 movs r5, 0xc6                             |     r5 = 0xc6;
    0x000015da movs r0, r0                               |     
    0x000015dc adds r0, 0x14                             |     r0 += 0x14;
                                                         | }

[*] Function strcpy used 1 times liburcu-signal.so.8.0.0