[*] Binary protection state of algif_hash.ko
No RELRO Canary found NX disabled REL No RPATH No RUNPATH Symbols
[*] Function strcat tear down of algif_hash.ko
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/lib/modules/4.19.56-linux4sam-6.1/kernel/crypto/algif_hash.ko @ 0x80002a8 */
| #include <stdint.h>
|
; (fcn) sym.hash_accept_nokey () | void hash_accept_nokey (int32_t arg1, int32_t arg2) {
| r0 = arg1;
| r1 = arg2;
0x080002a8 push {r4, r5, r6, r7, r8, lr} |
0x080002ac mov r5, r1 | r5 = r1;
0x080002b0 mov r6, r2 | r6 = r2;
0x080002b4 mov r7, r3 | r7 = r3;
0x080002b8 mov r4, r0 | r4 = r0;
0x080002bc bl 0x8000058 | r0 = hash_check_key ();
0x080002c0 cmp r0, 0 |
| if (r0 != 0) {
0x080002c4 beq 0x80002d0 |
0x080002c8 pop {r4, r5, r6, r7, r8, lr} |
0x080002cc stmdaeq r0, {r7, r8, sb, sp} | __asm ("stmdaeq r0, {r7, r8, sb, sp}");
| }
0x080002d0 mov r3, r7 | r3 = r7;
0x080002d4 mov r2, r6 | r2 = r6;
0x080002d8 mov r1, r5 | r1 = r5;
0x080002dc mov r0, r4 | r0 = r4;
0x080002e0 pop {r4, r5, r6, r7, r8, lr} |
0x080002e4 b 0x8000108 | return void (*0x8000108)() ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/lib/modules/4.19.56-linux4sam-6.1/kernel/crypto/algif_hash.ko @ 0x80008c8 */
| #include <stdint.h>
|
; (fcn) sym.hash_recvmsg_nokey () | void hash_recvmsg_nokey (int32_t arg1, int32_t arg2) {
| r0 = arg1;
| r1 = arg2;
0x080008c8 push {r4, r5, r6, r7, r8, lr} |
0x080008cc mov r5, r1 | r5 = r1;
0x080008d0 mov r6, r2 | r6 = r2;
0x080008d4 mov r7, r3 | r7 = r3;
0x080008d8 mov r4, r0 | r4 = r0;
0x080008dc bl 0x8000058 | r0 = hash_check_key ();
0x080008e0 cmp r0, 0 |
| if (r0 != 0) {
0x080008e4 beq 0x80008f0 |
0x080008e8 pop {r4, r5, r6, r7, r8, lr} |
0x080008ec stmdaeq r0, {sl, sp} | __asm ("stmdaeq r0, {sl, sp}");
| }
0x080008f0 mov r3, r7 | r3 = r7;
0x080008f4 mov r2, r6 | r2 = r6;
0x080008f8 mov r1, r5 | r1 = r5;
0x080008fc mov r0, r4 | r0 = r4;
0x08000900 pop {r4, r5, r6, r7, r8, lr} |
0x08000904 b 0x80006c4 | return void (*0x80006c4)() ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/lib/modules/4.19.56-linux4sam-6.1/kernel/crypto/algif_hash.ko @ 0x8000b88 */
| #include <stdint.h>
|
; (fcn) sym.hash_sendmsg_nokey () | void hash_sendmsg_nokey (int32_t arg1, int32_t arg2) {
| r0 = arg1;
| r1 = arg2;
0x08000b88 push {r4, r5, r6, lr} |
0x08000b8c mov r5, r1 | r5 = r1;
0x08000b90 mov r6, r2 | r6 = r2;
0x08000b94 mov r4, r0 | r4 = r0;
0x08000b98 bl 0x8000058 | r0 = hash_check_key ();
0x08000b9c cmp r0, 0 |
| if (r0 != 0) {
0x08000ba0 beq 0x8000bac |
0x08000ba4 pop {r4, r5, r6, lr} |
0x08000ba8 stmdaeq r0, {r2, r5, sl, sp} | __asm ("stmdaeq r0, {r2, r5, sl, sp}");
| }
0x08000bac mov r2, r6 | r2 = r6;
0x08000bb0 mov r1, r5 | r1 = r5;
0x08000bb4 mov r0, r4 | r0 = r4;
0x08000bb8 pop {r4, r5, r6, lr} |
0x08000bbc b 0x8000908 | return void (*0x8000908)() ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/lib/modules/4.19.56-linux4sam-6.1/kernel/crypto/algif_hash.ko @ 0x800067c */
| #include <stdint.h>
|
; (fcn) sym.hash_sendpage_nokey () | void hash_sendpage_nokey (int32_t arg_18h, int32_t arg_18h_2, int32_t arg1, int32_t arg2) {
| r0 = arg1;
| r1 = arg2;
0x0800067c push {r4, r5, r6, r7, r8, lr} |
0x08000680 ldr r8, [sp, 0x18] | r8 = *(arg_18h);
0x08000684 mov r5, r1 | r5 = r1;
0x08000688 mov r6, r2 | r6 = r2;
0x0800068c mov r7, r3 | r7 = r3;
0x08000690 mov r4, r0 | r4 = r0;
0x08000694 bl 0x8000058 | r0 = hash_check_key ();
0x08000698 cmp r0, 0 |
| if (r0 != 0) {
0x0800069c beq 0x80006a8 |
0x080006a0 pop {r4, r5, r6, r7, r8, lr} |
0x080006a4 stmdaeq r0, {r3, r5, r6, r7, r8, sb, sp} | __asm ("stmdaeq r0, {r3, r5, r6, r7, r8, sb, sp}");
| }
0x080006a8 str r8, [sp, 0x18] | *(arg_18h) = r8;
0x080006ac mov r3, r7 | r3 = r7;
0x080006b0 mov r2, r6 | r2 = r6;
0x080006b4 mov r1, r5 | r1 = r5;
0x080006b8 mov r0, r4 | r0 = r4;
0x080006bc pop {r4, r5, r6, r7, r8, lr} |
0x080006c0 b 0x8000474 | return void (*0x8000474)() ();
| }
[*] Function strcat used 1 times algif_hash.ko