[*] Binary protection state of libgroupsock.so.8.1.0

  
  	No RELRO       No Canary found   NX disabled  DSO          No RPATH     No RUNPATH   Symbols


[*] Function strcpy tear down of libgroupsock.so.8.1.0

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libgroupsock.so.8.1.0 @ 0x9370 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.our_inet_addr ()         | void our_inet_addr () {
    0x00009370 lui gp, 2                 |     
    0x00009374 addiu gp, gp, 0x17a0      |     
    0x00009378 addu gp, gp, t9           |     gp += t9;
    0x0000937c addiu sp, sp, -0x128      |     
    0x00009380 sw ra, 0x124(sp)          |     *(var_124h) = ra;
    0x00009384 sw s2, 0x120(sp)          |     *(var_120h) = s2;
    0x00009388 sw s1, 0x11c(sp)          |     *(var_11ch) = s1;
    0x0000938c sw s0, 0x118(sp)          |     *(var_118h) = s0;
    0x00009390 addiu s2, sp, 0x18        |     s2 = sp + 0x18;
    0x00009394 lw t9, -0x7eac(gp)        |     t9 = sym.imp.memset;
    0x00009398 move s1, a0               |     s1 = a0;
    0x0000939c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000093a0 move a1, zero             |     a1 = 0;
    0x000093a4 move a0, s2               |     a0 = s2;
    0x000093a8 addiu a2, zero, 0xff      |     a2 = 0xff;
    0x000093ac jalr t9                   |     t9 ();
    0x000093b0 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (s1 == 0) {
    0x000093b4 beqz s1, 0x94ec           |         goto label_2;
                                         |     }
    0x000093b8 lw t9, -0x7f8c(gp)        |     t9 = sym.imp.strchr;
    0x000093bc move a0, s1               |     a0 = s1;
    0x000093c0 addiu a1, zero, 0x3a      |     a1 = 0x3a;
    0x000093c4 jalr t9                   |     t9 ();
    0x000093c8 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 == 0) {
    0x000093cc beqz v0, 0x949c           |         goto label_3;
                                         |     }
    0x000093d0 lb v0, (s1)               |     v0 = *(s1);
    0x000093d4 addiu t8, zero, 0x5b      |     t8 = 0x5b;
    0x000093d8 lw t9, -0x7cdc(gp)        |     t9 = sym._MIPS_STUBS_;
                                         |     if (v0 == t8) {
    0x000093dc beq v0, t8, 0x9464        |         goto label_4;
                                         |     }
    0x000093e0 move a0, s2               |     a0 = s2;
    0x000093e4 move a1, s1               |     a1 = s1;
    0x000093e8 jalr t9                   |     t9 ();
    0x000093ec lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     do {
    0x000093f0 lw t9, -0x7d84(gp)        |         t9 = sym.imp.malloc;
    0x000093f4 addiu a0, zero, 0x1c      |         a0 = 0x1c;
    0x000093f8 jalr t9                   |         t9 ();
    0x000093fc addiu a0, zero, 0xa       |         a0 = 0xa;
    0x00009400 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00009404 move s0, v0               |         s0 = v0;
    0x00009408 sw zero, (v0)             |         *(v0) = 0;
    0x0000940c move a1, s2               |         a1 = s2;
    0x00009410 lw t9, -0x7d20(gp)        |         t9 = sym.imp.inet_pton;
    0x00009414 addiu a2, v0, 8           |         a2 = v0 + 8;
    0x00009418 sw zero, 4(v0)            |         *((v0 + 1)) = 0;
    0x0000941c addiu t8, zero, 0xa       |         t8 = 0xa;
    0x00009420 sw zero, 8(v0)            |         *((v0 + 2)) = 0;
    0x00009424 sw zero, 0xc(v0)          |         *((v0 + 3)) = 0;
    0x00009428 sw zero, 0x10(v0)         |         *((v0 + 4)) = 0;
    0x0000942c sw zero, 0x14(v0)         |         *((v0 + 5)) = 0;
    0x00009430 sw zero, 0x18(v0)         |         *((v0 + 6)) = 0;
                                         | label_0:
    0x00009434 sh t8, (s0)               |         *(s0) = t8;
    0x00009438 jalr t9                   |         t9 ();
    0x0000943c move a0, s0               |         a0 = s0;
    0x00009440 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x00009444 beqz v0, 0x94d8           |             goto label_5;
                                         |         }
                                         | label_1:
    0x00009448 lw ra, 0x124(sp)          |         ra = *(var_124h);
    0x0000944c move v0, a0               |         v0 = a0;
    0x00009450 lw s2, 0x120(sp)          |         s2 = *(var_120h);
    0x00009454 lw s1, 0x11c(sp)          |         s1 = *(var_11ch);
    0x00009458 lw s0, 0x118(sp)          |         s0 = *(var_118h);
    0x0000945c addiu sp, sp, 0x128       |         
    0x00009460 jr ra                     |         return v0;
                                         | label_4:
    0x00009464 lw t9, -0x7f8c(gp)        |         t9 = sym.imp.strchr;
    0x00009468 move a0, s1               |         a0 = s1;
    0x0000946c addiu a1, zero, 0x5d      |         a1 = 0x5d;
    0x00009470 jalr t9                   |         t9 ();
    0x00009474 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x00009478 beqz v0, 0x94ec           |             goto label_2;
                                         |         }
    0x0000947c lw t9, -0x7d68(gp)        |         t9 = sym.imp.memcpy;
    0x00009480 subu a2, v0, s1           |         __asm ("subu a2, v0, s1");
    0x00009484 move a0, s2               |         a0 = s2;
    0x00009488 addiu a1, s1, 1           |         a1 = s1 + 1;
    0x0000948c addiu a2, a2, -1          |         a2 += -1;
    0x00009490 jalr t9                   |         t9 ();
    0x00009494 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00009498 b 0x93f0                  |         
                                         |     } while (1);
                                         | label_3:
    0x0000949c lw t9, -0x7d84(gp)        |     t9 = sym.imp.malloc;
    0x000094a0 addiu a0, zero, 0x10      |     a0 = 0x10;
    0x000094a4 jalr t9                   |     t9 ();
    0x000094a8 addiu a0, zero, 2         |     a0 = 2;
    0x000094ac lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000094b0 move s0, v0               |     s0 = v0;
    0x000094b4 sw zero, (v0)             |     *(v0) = 0;
    0x000094b8 move a1, s1               |     a1 = s1;
    0x000094bc lw t9, -0x7d20(gp)        |     t9 = sym.imp.inet_pton;
    0x000094c0 addiu a2, v0, 4           |     a2 = v0 + 4;
    0x000094c4 sw zero, 4(v0)            |     *((v0 + 1)) = 0;
    0x000094c8 addiu t8, zero, 2         |     t8 = 2;
    0x000094cc sw zero, 8(v0)            |     *((v0 + 2)) = 0;
    0x000094d0 sw zero, 0xc(v0)          |     *((v0 + 3)) = 0;
    0x000094d4 b 0x9434                  |     goto label_0;
                                         | label_5:
    0x000094d8 lw t9, -0x7fb8(gp)        |     t9 = sym.imp.free;
    0x000094dc jalr t9                   |     t9 ();
    0x000094e0 nop                       |     
    0x000094e4 move a0, zero             |     a0 = 0;
    0x000094e8 b 0x9448                  |     goto label_1;
                                         | label_2:
    0x000094ec move a0, zero             |     a0 = 0;
    0x000094f0 b 0x9448                  |     goto label_1;
                                         | }

[*] Function strcpy used 1 times libgroupsock.so.8.1.0