[*] Binary protection state of libip6t_dst.so
Partial RELRO No Canary found NX disabled DSO No RPATH No RUNPATH No Symbols
[*] Function printf tear down of libip6t_dst.so
; 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/usr/lib/xtables/libip6t_dst.so @ 0xa64 */
| #include <stdint.h>
|
; (fcn) fcn.00000a64 () | void fcn_00000a64 (int32_t arg1, int32_t arg2) {
| r0 = arg1;
| r1 = arg2;
0x00000a64 push {r4, r5, r6, r7, r8, sb, sl, lr} |
0x00000a68 ldr r7, [pc, 0x68] | r7 = *(0xad4);
0x00000a6c mov r6, r0 | r6 = r0;
0x00000a70 mov r0, 0x20 | r0 = 0x20;
0x00000a74 mov r4, r1 | r4 = r1;
0x00000a78 bl 0x524 | putchar (r0);
0x00000a7c ldr r8, [pc, 0x58] | r8 = "CloneTable";
0x00000a80 sub r4, r4, 2 | r4 -= 2;
0x00000a84 mov r5, 0 | r5 = 0;
0x00000a88 add r7, pc, r7 | r7 = pc + r7;
0x00000a8c add r8, pc, r8 | r8 = pc + r8;
0x00000a90 sub sb, r6, 1 | sb = r6 - 1;
| do {
0x00000a94 cmp r5, r6 |
0x00000a98 popeq {r4, r5, r6, r7, r8, sb, sl, pc} |
0x00000a9c ldrh r1, [r4, 2]! | r1 = *((r4 += 2));
0x00000aa0 mov r0, r7 | r0 = r7;
0x00000aa4 lsr r1, r1, 8 | r1 >>= 8;
0x00000aa8 bl 0x530 | printf (r0, r1, r2, r3, r4, r5)
0x00000aac ldrb r1, [r4] | r1 = *(r4);
0x00000ab0 cmp r1, 0xff |
| if (r1 != 0xff) {
0x00000ab4 beq 0xac0 |
0x00000ab8 mov r0, r8 | r0 = r8;
0x00000abc bl 0x530 | printf (r0)
| }
0x00000ac0 cmp sb, r5 |
| if (sb == r5) {
0x00000ac4 movne r0, 0x2c | r0 = 0x2c;
| }
| if (sb != r5) {
0x00000ac8 moveq r0, 0x20 | r0 = 0x20;
| }
0x00000acc bl 0x524 | putchar (r0);
0x00000ad0 add r5, r5, 1 | r5++;
0x00000ad4 b 0xa94 |
| } while (1);
| }
[*] Function printf used 3 times libip6t_dst.so