[*] Binary protection state of libupnp.so.17.1.8

  
  	Full RELRO     Canary found      NX enabled   DSO          No RPATH     No RUNPATH   No Symbols


[*] Function strcat tear down of libupnp.so.17.1.8

    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libupnp.so.17.1.8 @ 0x172f0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.UpnpActionRequest_assign ()      | void UpnpActionRequest_assign (uint32_t arg1, int16_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
                                                 |     if (? >= ?) {
    0x000172f0 ldrlt r4, [r8, -0x288]!           |         r4 = *((r8 -= 0x288));
                                                 |     }
    0x000172f4 mov r4, r0                        |     r4 = r0;
    0x000172f6 mov r5, r1                        |     r5 = r1;
                                                 |     if (? == ?) {
    0x000172f8 beq 0x173c6                       |         goto label_2;
                                                 |     }
    0x000172fa mov r0, r1                        |     r0 = r1;
    0x000172fc blx 0x8efc                        |     r0 = fcn_00008efc ();
    0x00017300 mov r1, r0                        |     r1 = r0;
    0x00017302 mov r0, r4                        |     r0 = r4;
    0x00017304 blx 0x91b8                        |     r0 = fcn_000091b8 ();
    0x00017308 cbnz r0, 0x1730e                  |     
                                                 |     while (r0 == 0) {
                                                 | label_0:
    0x0001730a movs r0, 0                        |         r0 = 0;
                                                 | label_1:
    0x0001730c pop {r3, r4, r5, pc}              |         
    0x0001730e mov r0, r5                        |         r0 = r5;
    0x00017310 blx 0x8c10                        |         r0 = fcn_00008c10 ();
    0x00017314 mov r1, r0                        |         r1 = r0;
    0x00017316 mov r0, r4                        |         r0 = r4;
    0x00017318 blx 0x94e0                        |         r0 = fcn_000094e0 ();
    0x0001731c cmp r0, 0                         |         
    0x0001731e beq 0x1730a                       |         
                                                 |     }
    0x00017320 mov r0, r5                        |     r0 = r5;
    0x00017322 blx 0x9254                        |     r0 = fcn_00009254 ();
    0x00017326 mov r1, r0                        |     r1 = r0;
    0x00017328 mov r0, r4                        |     r0 = r4;
    0x0001732a blx 0x8714                        |     r0 = fcn_00008714 ();
    0x0001732e cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x00017330 beq 0x1730a                       |         goto label_0;
                                                 |     }
    0x00017332 mov r0, r5                        |     r0 = r5;
    0x00017334 blx 0x9384                        |     r0 = fcn_00009384 ();
    0x00017338 mov r1, r0                        |     r1 = r0;
    0x0001733a mov r0, r4                        |     r0 = r4;
    0x0001733c blx 0x95cc                        |     r0 = fcn_000095cc ();
    0x00017340 cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x00017342 beq 0x1730a                       |         goto label_0;
                                                 |     }
    0x00017344 mov r0, r5                        |     r0 = r5;
    0x00017346 blx 0x8cbc                        |     r0 = strcat (r0, r1)
    0x0001734a mov r1, r0                        |     r1 = r0;
    0x0001734c mov r0, r4                        |     r0 = r4;
    0x0001734e blx 0x8cd4                        |     r0 = pthread_getschedparam ();
    0x00017352 cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x00017354 beq 0x1730a                       |         goto label_0;
                                                 |     }
    0x00017356 mov r0, r5                        |     r0 = r5;
    0x00017358 blx 0x8d28                        |     r0 = fcn_00008d28 ();
    0x0001735c mov r1, r0                        |     r1 = r0;
    0x0001735e mov r0, r4                        |     r0 = r4;
    0x00017360 blx 0x8de0                        |     r0 = fcn_00008de0 ();
    0x00017364 cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x00017366 beq 0x1730a                       |         goto label_0;
                                                 |     }
    0x00017368 mov r0, r5                        |     r0 = r5;
    0x0001736a blx 0x8850                        |     r0 = fcn_00008850 ();
    0x0001736e mov r1, r0                        |     r1 = r0;
    0x00017370 mov r0, r4                        |     r0 = r4;
    0x00017372 blx 0x893c                        |     r0 = fcn_0000893c ();
    0x00017376 cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x00017378 beq 0x1730a                       |         goto label_0;
                                                 |     }
    0x0001737a mov r0, r5                        |     r0 = r5;
    0x0001737c blx 0x9510                        |     r0 = fcn_00009510 ();
    0x00017380 mov r1, r0                        |     r1 = r0;
    0x00017382 mov r0, r4                        |     r0 = r4;
    0x00017384 blx 0x8af4                        |     r0 = recvfrom (r0, r1, r2, r3, r4, r5);
    0x00017388 cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x0001738a beq 0x1730a                       |         goto label_0;
                                                 |     }
    0x0001738c mov r0, r5                        |     r0 = r5;
    0x0001738e blx 0x8720                        |     r0 = fcn_00008720 ();
    0x00017392 mov r1, r0                        |     r1 = r0;
    0x00017394 mov r0, r4                        |     r0 = r4;
    0x00017396 blx 0x9474                        |     r0 = fcn_00009474 ();
    0x0001739a cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x0001739c beq 0x1730a                       |         goto label_0;
                                                 |     }
    0x0001739e mov r0, r5                        |     r0 = r5;
    0x000173a0 blx 0x8c40                        |     r0 = fcn_00008c40 ();
    0x000173a4 mov r1, r0                        |     r1 = r0;
    0x000173a6 mov r0, r4                        |     r0 = r4;
    0x000173a8 blx 0x87cc                        |     r0 = fcn_000087cc ();
    0x000173ac cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x000173ae beq 0x1730a                       |         goto label_0;
                                                 |     }
    0x000173b0 mov r0, r5                        |     r0 = r5;
    0x000173b2 blx 0x9348                        |     r0 = fcn_00009348 ();
    0x000173b6 mov r1, r0                        |     r1 = r0;
    0x000173b8 mov r0, r4                        |     r0 = r4;
    0x000173ba blx 0x8868                        |     fcn_00008868 ();
    0x000173be subs r0, 0                        |     
    0x000173c0 it ne                             |     
                                                 |     if (r0 == 0) {
    0x000173c2 movne r0, 1                       |         r0 = 1;
                                                 |     }
    0x000173c4 b 0x1730c                         |     goto label_1;
                                                 | label_2:
    0x000173c6 movs r0, 1                        |     r0 = 1;
    0x000173c8 b 0x1730c                         |     goto label_1;
                                                 | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libupnp.so.17.1.8 @ 0x17230 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.UpnpActionRequest_get_DevUDN_cstr ()     | void UpnpActionRequest_get_DevUDN_cstr (char * s1, const char * s2) {
                                                         |     r0 = s1;
                                                         |     r1 = s2;
    0x00017230 push {r3, lr}                             |     
    0x00017232 blx 0x8cbc                                |     strcat (r0, r1)
    0x00017236 pop.w {r3, lr}                            |     
    0x0001723a b.w 0x9180                                |     return void (*0x9180)() ();
                                                         | }

[*] Function strcat used 3 times libupnp.so.17.1.8