[*] Binary protection state of essiv.ko

  
  	No RELRO       No Canary found   NX disabled  REL          No RPATH     No RUNPATH   Symbols


[*] Function strcpy tear down of essiv.ko

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/modules/5.10.52-axis9/kernel/crypto/essiv.ko @ 0x8000194 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.essiv_skcipher_decrypt ()                        | void essiv_skcipher_decrypt (int32_t arg1) {
                                                                 |     r0 = arg1;
    0x08000194 push {r4, r5, r6, lr}                             |     
    0x08000198 mov r4, r0                                        |     r4 = r0;
    0x0800019c ldr r5, [r0, 0x20]                                |     r5 = *((r0 + 0x20));
    0x080001a0 ldr r2, [r0, 4]                                   |     r2 = *((r0 + 4));
    0x080001a4 ldr r0, [r5, 0x44]                                |     r0 = *((r5 + 0x44));
    0x080001a8 mov r1, r2                                        |     r1 = r2;
    0x080001ac stmdaeq r0, {r1, r2, r4, r5, r8, sl, sp}          |     __asm ("stmdaeq r0, {r1, r2, r4, r5, r8, sl, sp}");
    0x080001b0 ldr r3, [r5, 0x40]                                |     r3 = *((r5 + 0x40));
    0x080001b4 ldr r2, [r4, 4]                                   |     r2 = *((r4 + 4));
    0x080001b8 ldr r0, [r4]                                      |     r0 = *(r4);
    0x080001bc add r3, r3, 0x40                                  |     r3 += 0x40;
    0x080001c0 ldr r1, [r4, 8]                                   |     r1 = *((r4 + 8));
    0x080001c4 str r2, [r4, 0x44]                                |     *((r4 + 0x44)) = r2;
    0x080001c8 str r0, [r4, 0x40]                                |     *((r4 + 0x40)) = r0;
    0x080001cc ldr r2, [r4, 0xc]                                 |     r2 = *((r4 + 0xc));
    0x080001d0 ldr r0, [r4, 0x24]                                |     r0 = *((r4 + 0x24));
    0x080001d4 str r0, [r4, 0x64]                                |     *((r4 + 0x64)) = r0;
    0x080001d8 add r0, r4, 0x40                                  |     r0 = r4 + 0x40;
    0x080001dc str r3, [r4, 0x60]                                |     *((r4 + 0x60)) = r3;
    0x080001e0 stmdaeq r0, {r4, r5, r6}                          |     __asm ("stmdaeq r0, {r4, r5, r6}");
    0x080001e4 stmdaeq r0, {r4, r5, r6}                          |     __asm ("stmdaeq r0, {r4, r5, r6}");
    0x080001e8 str r1, [r4, 0x48]                                |     *((r4 + 0x48)) = r1;
    0x080001ec str r2, [r4, 0x4c]                                |     *((r4 + 0x4c)) = r2;
    0x080001f0 str r3, [r4, 0x58]                                |     *((r4 + 0x58)) = r3;
    0x080001f4 str r4, [r4, 0x5c]                                |     *((r4 + 0x5c)) = r4;
    0x080001f8 pop {r4, r5, r6, lr}                              |     
    0x080001fc stmdaeq r0, {r1, r3, r4, r5, r8, sl, sp}          |     __asm ("stmdaeq r0, {r1, r3, r4, r5, r8, sl, sp}");
                                                                 | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/modules/5.10.52-axis9/kernel/crypto/essiv.ko @ 0x8000434 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.essiv_skcipher_encrypt ()                            | void essiv_skcipher_encrypt (int32_t arg1) {
                                                                     |     r0 = arg1;
    0x08000434 push {r4, r5, r6, lr}                                 |     
    0x08000438 mov r4, r0                                            |     r4 = r0;
    0x0800043c ldr r5, [r0, 0x20]                                    |     r5 = *((r0 + 0x20));
    0x08000440 ldr r2, [r0, 4]                                       |     r2 = *((r0 + 4));
    0x08000444 ldr r0, [r5, 0x44]                                    |     r0 = *((r5 + 0x44));
    0x08000448 mov r1, r2                                            |     r1 = r2;
    0x0800044c stmdaeq r0, {r1, r2, r4, r5, r8, sl, sp}              |     __asm ("stmdaeq r0, {r1, r2, r4, r5, r8, sl, sp}");
    0x08000450 ldr r3, [r5, 0x40]                                    |     r3 = *((r5 + 0x40));
    0x08000454 ldr r2, [r4, 4]                                       |     r2 = *((r4 + 4));
    0x08000458 ldr r0, [r4]                                          |     r0 = *(r4);
    0x0800045c add r3, r3, 0x40                                      |     r3 += 0x40;
    0x08000460 ldr r1, [r4, 8]                                       |     r1 = *((r4 + 8));
    0x08000464 str r2, [r4, 0x44]                                    |     *((r4 + 0x44)) = r2;
    0x08000468 str r0, [r4, 0x40]                                    |     *((r4 + 0x40)) = r0;
    0x0800046c ldr r2, [r4, 0xc]                                     |     r2 = *((r4 + 0xc));
    0x08000470 ldr r0, [r4, 0x24]                                    |     r0 = *((r4 + 0x24));
    0x08000474 str r0, [r4, 0x64]                                    |     *((r4 + 0x64)) = r0;
    0x08000478 add r0, r4, 0x40                                      |     r0 = r4 + 0x40;
    0x0800047c str r3, [r4, 0x60]                                    |     *((r4 + 0x60)) = r3;
    0x08000480 stmdaeq r0, {r4, r5, r6}                              |     __asm ("stmdaeq r0, {r4, r5, r6}");
    0x08000484 stmdaeq r0, {r4, r5, r6}                              |     __asm ("stmdaeq r0, {r4, r5, r6}");
    0x08000488 str r1, [r4, 0x48]                                    |     *((r4 + 0x48)) = r1;
    0x0800048c str r2, [r4, 0x4c]                                    |     *((r4 + 0x4c)) = r2;
    0x08000490 str r3, [r4, 0x58]                                    |     *((r4 + 0x58)) = r3;
    0x08000494 str r4, [r4, 0x5c]                                    |     *((r4 + 0x5c)) = r4;
    0x08000498 pop {r4, r5, r6, lr}                                  |     
    0x0800049c stmdaeq r0, {r1, r2, r3, r4, r6, r8, sl, sp}          |     __asm ("stmdaeq r0, {r1, r2, r3, r4, r6, r8, sl, sp}");
                                                                     | }

[*] Function strcpy used 1 times essiv.ko