[*] Binary protection state of customhttpheader.cgi
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function system tear down of customhttpheader.cgi
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/html/axis-cgi/customhttpheader.cgi @ 0x1dbc */
| #include <stdint.h>
|
; (fcn) fcn.00001dbc () | void fcn_00001dbc (int16_t arg1, int16_t arg2, int16_t arg3) {
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int16_t var_ch;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
| do {
0x00000ec8 bx pc | return void (*pc)() ();
| label_1:
0x00000efc bx pc | return void (*pc)() ();
0x00001dbc push {r4, r5, r6, lr} |
0x00001dbe sub sp, 0x10 |
0x00001dc0 ldr r4, [pc, 0x9c] |
0x00001dc2 mov r6, r2 | r6 = r2;
0x00001dc4 str r1, [sp, 0xc] | var_ch = r1;
0x00001dc6 add r4, pc | r4 = 0x3c2a;
0x00001dc8 str r0, [sp, 4] | var_4h = r0;
0x00001dca add.w r1, r4, 0x30 | r1 = r4 + 0x30;
0x00001dce add.w r2, r4, 0x38 | r2 = r4 + 0x38;
0x00001dd2 str r1, [sp, 8] | var_8h = r1;
0x00001dd4 mov r3, r4 | r3 = r4;
0x00001dd6 str r2, [sp] | *(sp) = r2;
0x00001dd8 add.w r1, r4, 0xc | r1 = r4 + 0xc;
0x00001ddc add.w r2, r4, 8 | r2 = r4 + 8;
0x00001de0 add.w r0, r4, 0x18 | r0 = r4 + 0x18;
0x00001de4 blx 0xe74 | r0 = fcn_00000e74 ();
0x00001de8 cmp r0, 0 |
0x00001dea it ne |
| if (r0 != 0) {
0x00001dec cmpne r6, 0 | __asm ("cmpne r6, 0");
| }
0x00001dee mov r5, r0 | r5 = r0;
| if (r0 != 0) {
0x00001df0 bne 0x1e30 | goto label_2;
| }
| label_0:
0x00001df2 ldr r6, [pc, 0x70] |
0x00001df4 mov.w r1, 0x100 | r1 = 0x100;
0x00001df8 mov r0, r5 | r0 = r5;
0x00001dfa blx 0x1060 | fcn_00001060 ();
0x00001dfe add r6, pc | r6 = 0x3c68;
0x00001e00 mov r4, r0 | r4 = r0;
0x00001e02 add.w r0, r6, 0x48 | r0 = r6 + 0x48;
0x00001e06 blx 0xff0 | g_key_file_free ();
| if (r4 == 0) {
0x00001e0a cbz r4, 0x1e44 | goto label_3;
| }
0x00001e0c mov r0, r4 | r0 = r4;
0x00001e0e blx 0xf18 | json_object_iter_key ();
0x00001e12 blx 0xfd8 | cgi_request_read_restricted ();
0x00001e16 blx 0x1048 | fcn_00001048 ();
0x00001e1a mov r1, r4 | r1 = r4;
0x00001e1c add.w r0, r6, 0x5c | r0 = r6 + 0x5c;
0x00001e20 blx 0xf00 | policykit_system_reload_service ()
0x00001e24 mov r0, r4 | r0 = r4;
0x00001e26 add sp, 0x10 |
0x00001e28 pop.w {r4, r5, r6, lr} |
0x00001e2c b.w 0xec8 |
| } while (1);
| label_2:
0x00001e30 mov r0, r6 | r0 = r6;
0x00001e32 blx 0xfc0 | cgi_request_parse ();
0x00001e36 add.w r1, r4, 0x40 | r1 = r4 + 0x40;
0x00001e3a mov r2, r0 | r2 = r0;
0x00001e3c mov r0, r5 | r0 = r5;
0x00001e3e blx 0xf3c | strtol (r0, r1, r2);
0x00001e42 b 0x1df2 | goto label_0;
| label_3:
0x00001e44 movs r0, 0x7c | r0 = 0x7c;
0x00001e46 blx 0xfd8 | cgi_request_read_restricted ();
0x00001e4a blx 0x1048 | fcn_00001048 ();
0x00001e4e add.w r1, r6, 0x60 | r1 = r6 + 0x60;
0x00001e52 add.w r0, r6, 0x5c | r0 = r6 + 0x5c;
0x00001e56 add sp, 0x10 |
0x00001e58 pop.w {r4, r5, r6, lr} |
0x00001e5c b.w 0xefc | goto label_1;
| }
[*] Function system used 2 times customhttpheader.cgi