[*] Binary protection state of libaxhttp.so.1.0
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function printf tear down of libaxhttp.so.1.0
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libaxhttp.so.1.0 @ 0x1964 */
| #include <stdint.h>
|
; (fcn) sym.ax_http_server_socket_new () | void ax_http_server_socket_new (int16_t arg1, int16_t arg2, int16_t arg3) {
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
0x00001964 invalid |
0x00001968 movs r0, 0x20 | r0 = 0x20;
0x0000196a mov r6, r1 | r6 = r1;
0x0000196c mov r5, r2 | r5 = r2;
0x0000196e blx 0x10a0 | g_slice_alloc ();
0x00001972 movs r2, 0x20 | r2 = 0x20;
0x00001974 movs r1, 0 | r1 = 0;
0x00001976 mov r4, r0 | r4 = r0;
0x00001978 blx 0xfec | memset (r0, r1, r2);
0x0000197c mov r0, r7 | r0 = r7;
0x0000197e blx 0xfa4 | g_strdup ();
0x00001982 ldr r1, [pc, 0xb4] |
0x00001984 mov r2, r0 | r2 = r0;
0x00001986 str r0, [r4] | *(r4) = r0;
0x00001988 mov.w r3, -1 | r3 = -1;
0x0000198c ldr r0, [pc, 0xac] |
0x0000198e add r1, pc | r1 = 0x33cc;
0x00001990 strd r6, r5, [r4, 0x18] | __asm ("strd r6, r5, [r4, 0x18]");
0x00001994 str r3, [r4, 0xc] | *((r4 + 0xc)) = r3;
0x00001996 add r0, pc | r0 = 0x33d6;
0x00001998 blx 0x1010 | g_strdup_printf ()
0x0000199c movw r1, 0x1fd | r1 = 0x1fd;
0x000019a0 str r0, [r4, 4] | *((r4 + 4)) = r0;
0x000019a2 blx 0xf2c | r0 = g_mkdir_with_parents ();
| if (r0 != 0) {
0x000019a6 cbnz r0, 0x1a02 | goto label_4;
| }
| label_1:
0x000019a8 ldr r2, [pc, 0x94] |
0x000019aa ldr r0, [pc, 0x98] |
0x000019ac ldr r1, [r4, 4] | r1 = *((r4 + 4));
0x000019ae add r2, pc | r2 = 0x33f2;
0x000019b0 add r0, pc | r0 = 0x33fa;
0x000019b2 blx 0x1010 | g_strdup_printf ()
0x000019b6 movs r1, 0x10 | r1 = 0x10;
0x000019b8 str r0, [r4, 8] | *((r4 + 8)) = r0;
0x000019ba blx 0x11f8 | r0 = fcn_000011f8 ();
0x000019be cbnz r0, 0x19f6 |
| while (r0 == 0) {
0x000019c0 ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x000019c2 mov.w r1, 0x1b6 | r1 = 0x1b6;
0x000019c6 blx 0xfd4 | r0 = fdipc_server_socket ();
0x000019ca cmp r0, 0 |
0x000019cc str r0, [r4, 0xc] | *((r4 + 0xc)) = r0;
| if (r0 >= 0) {
0x000019ce blt 0x19e4 |
0x000019d0 blx 0xf80 | g_io_channel_unix_new ();
0x000019d4 movs r2, 0 | r2 = 0;
0x000019d6 str r0, [r4, 0x14] | *((r4 + 0x14)) = r0;
0x000019d8 mov r1, r2 | r1 = r2;
0x000019da blx 0xf68 | r0 = g_io_channel_set_encoding ();
0x000019de cmp r0, 1 |
0x000019e0 mov r1, r0 | r1 = r0;
| if (r0 == 1) {
0x000019e2 beq 0x1a24 | goto label_5;
| }
| }
| label_0:
0x000019e4 mov r0, r4 | r0 = r4;
0x000019e6 bl 0x18d8 | fcn_000018d8 (r0);
| label_2:
0x000019ea mov r0, r4 | r0 = r4;
0x000019ec movs r4, 0 | r4 = 0;
0x000019ee blx 0xf50 | fcn_00000f50 ();
| label_3:
0x000019f2 mov r0, r4 | r0 = r4;
0x000019f4 pop {r3, r4, r5, r6, r7, pc} |
0x000019f6 ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x000019f8 blx 0xf44 | r0 = g_unlink ();
0x000019fc cmp r0, 0 |
0x000019fe beq 0x19c0 |
| }
0x00001a00 b 0x19e4 | goto label_0;
| label_4:
0x00001a02 ldr r0, [r4, 4] | r0 = *((r4 + 4));
0x00001a04 movs r1, 4 | r1 = 4;
0x00001a06 blx 0x11f8 | r0 = fcn_000011f8 ();
0x00001a0a mov r5, r0 | r5 = r0;
0x00001a0c cmp r0, 0 |
| if (r0 != 0) {
0x00001a0e bne 0x19a8 | goto label_1;
| }
0x00001a10 ldr r0, [r4, 4] | r0 = *((r4 + 4));
0x00001a12 cmp r0, 0 |
| if (r0 == 0) {
0x00001a14 beq 0x19ea | goto label_2;
| }
0x00001a16 blx 0x1094 | g_rmdir ();
0x00001a1a ldr r0, [r4, 4] | r0 = *((r4 + 4));
0x00001a1c blx 0xf20 | g_free ();
0x00001a20 str r5, [r4, 4] | *((r4 + 4)) = r5;
0x00001a22 b 0x19ea | goto label_2;
| label_5:
0x00001a24 ldr r2, [pc, 0x20] |
0x00001a26 mov r3, r4 | r3 = r4;
0x00001a28 ldr r0, [r4, 0x14] | r0 = *((r4 + 0x14));
0x00001a2a add r2, pc | r2 = 0x3476;
0x00001a2c blx 0x1034 | g_io_add_watch ();
0x00001a30 str r0, [r4, 0x10] | *((r4 + 0x10)) = r0;
0x00001a32 cmp r0, 0 |
| if (r0 != 0) {
0x00001a34 bne 0x19f2 | goto label_3;
| }
0x00001a36 b 0x19e4 | goto label_0;
| }
[*] Function printf used 3 times libaxhttp.so.1.0