[*] Binary protection state of libjsoncgi.so.0.1
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function printf tear down of libjsoncgi.so.0.1
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libjsoncgi.so.0.1 @ 0x4184 */
| #include <stdint.h>
|
; (fcn) sym.jsoncgi_run () | void jsoncgi_run (int16_t arg1) {
| r0 = arg1;
0x00004184 mvnsmi lr, sp, lsr 18 | __asm ("mvnsmi lr, sp, lsr 18");
0x00004188 movs r1, 0 | r1 = 0;
0x0000418a mov r5, r0 | r5 = r0;
0x0000418c ldr r4, [pc, 0x54] |
0x0000418e movs r0, 4 | r0 = 4;
0x00004190 movs r6, 1 | r6 = 1;
0x00004192 blx 0x1e54 | fcn_00001e54 ();
0x00004196 ldr r2, [pc, 0x50] | r2 = *(0x41ea);
0x00004198 add r4, pc | r4 = 0x8380;
0x0000419a mov r3, r4 | r3 = r4;
0x0000419c ldr r3, [r4, r2] | r3 = *(0x8380);
0x0000419e strb r6, [r3] | *(r3) = r6;
0x000041a0 blx 0x1d70 | fcn_00001d70 ();
0x000041a4 mov r0, r5 | r0 = r5;
0x000041a6 blx 0x1c90 | fcn_00001c90 ();
0x000041aa ldr r0, [pc, 0x40] |
0x000041ac add r0, pc | r0 = 0x839e;
0x000041ae blx 0x1bbc | r0 = printf_chk ()
0x000041b2 mov r4, r0 | r4 = r0;
0x000041b4 ldr r0, [pc, 0x38] |
0x000041b6 add r0, pc | r0 = 0x83aa;
0x000041b8 blx 0x1bbc | r0 = printf_chk ()
0x000041bc mov r5, r0 | r5 = r0;
0x000041be ldr r0, [pc, 0x34] |
0x000041c0 add r0, pc | r0 = 0x83ba;
0x000041c2 blx 0x1bbc | printf_chk ()
| if (r4 != 0) {
0x000041c6 cbz r4, 0x41de |
0x000041c8 mov r7, r0 | r7 = r0;
0x000041ca blx 0x1ea8 | fcn_00001ea8 ();
0x000041ce mov r2, r7 | r2 = r7;
0x000041d0 mov r1, r5 | r1 = r5;
0x000041d2 mov r0, r4 | r0 = r4;
0x000041d4 movs r3, 0 | r3 = 0;
0x000041d6 pop.w {r4, r5, r6, r7, r8, lr} |
0x000041da b.w 0x1be0 | void (*0x1be0)() ();
| }
0x000041de mov r0, r6 | r0 = r6;
0x000041e0 pop.w {r4, r5, r6, r7, r8, pc} |
| }
[*] Function printf used 4 times libjsoncgi.so.0.1