[*] Binary protection state of libxt_CT.so
Partial RELRO No Canary found NX disabled DSO No RPATH No RUNPATH No Symbols
[*] Function printf tear down of libxt_CT.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/libxt_CT.so @ 0xa78 */
| #include <stdint.h>
|
; (fcn) fcn.00000a78 () | void fcn_00000a78 (int32_t arg1, int32_t arg2) {
| r0 = arg1;
| r1 = arg2;
0x00000a78 push {r4, r5, r6, r7, r8, sb, sl, lr} |
0x00000a7c ldr r8, [pc, 0x60] | r8 = *(0xae0);
0x00000a80 mov r4, r1 | r4 = r1;
0x00000a84 mov r1, r0 | r1 = r0;
0x00000a88 ldr r0, [pc, 0x58] | r0 = *(0xae4);
0x00000a8c mov r5, r2 | r5 = r2;
0x00000a90 add r0, pc, r0 | r0 = pc + r0;
0x00000a94 mov r6, r3 | r6 = r3;
0x00000a98 ldr sb, [pc, 0x4c] | sb = *(0xae8);
0x00000a9c bl 0x6fc | printf (r0, r1, r2, r3, r4, r5, r6)
0x00000aa0 ldr r1, [pc, 0x48] | r1 = *(0xaec);
0x00000aa4 add r5, r4, r5, lsl 3 | r5 = r4 + (r5 << 3);
0x00000aa8 add r1, pc, r1 | r1 = pc + r1;
0x00000aac mov r7, 1 | r7 = 1;
0x00000ab0 add r8, pc, r8 | r8 = pc + r8;
0x00000ab4 add sb, pc, sb | sb = pc + sb;
| do {
0x00000ab8 ldr r3, [r4, 4] | r3 = *((r4 + 4));
0x00000abc ands r3, r6, r7, lsl r3 | r3 = r6 & (r7 << r3);
| if (r3 != r6) {
0x00000ac0 beq 0xad4 |
0x00000ac4 ldr r2, [r4] | r2 = *(r4);
0x00000ac8 mov r0, r8 | r0 = r8;
0x00000acc bl 0x6fc | printf (r0, r1, r2)
0x00000ad0 mov r1, sb | r1 = sb;
| }
0x00000ad4 add r4, r4, 8 | r4 += 8;
0x00000ad8 cmp r5, r4 |
0x00000adc bne 0xab8 |
| } while (r5 != r4);
0x00000ae0 pop {r4, r5, r6, r7, r8, sb, sl, pc} |
| }
[*] Function printf used 3 times libxt_CT.so