[*] Binary protection state of session.so

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


[*] Function popen tear down of session.so

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/lib/php/session.so @ 0xd020 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000d020 ()                  | void fcn_0000d020 () {
    0x0000d020 lui gp, 2                     |     
    0x0000d024 addiu gp, gp, -0x2d30         |     
    0x0000d028 addu gp, gp, t9               |     gp += t9;
    0x0000d02c addiu sp, sp, -0x10c8         |     
    0x0000d030 lw v0, 0x18(a0)               |     v0 = *((a0 + 6));
    0x0000d034 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000d038 sw s2, 0x10bc(sp)             |     *(var_10bch) = s2;
    0x0000d03c sw s1, 0x10b8(sp)             |     *(var_10b8h) = s1;
    0x0000d040 sw s0, 0x10b4(sp)             |     *(var_10b4h) = s0;
    0x0000d044 sw ra, 0x10c4(sp)             |     *(var_10c4h) = ra;
    0x0000d048 sw s3, 0x10c0(sp)             |     *(var_10c0h) = s3;
    0x0000d04c move s0, a0                   |     s0 = a0;
    0x0000d050 move s1, a1                   |     s1 = a1;
    0x0000d054 lw s2, (a0)                   |     s2 = *(a0);
                                             |     if (v0 < 0) {
    0x0000d058 bltz v0, 0xd094               |         goto label_6;
                                             |     }
    0x0000d05c lw t9, -0x7d1c(gp)            |     t9 = *((gp - 8007));
                                             |     if (s2 == 0) {
    0x0000d060 beqz s2, 0xd0b0               |         goto label_7;
                                             |     }
    0x0000d064 move a1, s2                   |     a1 = s2;
    0x0000d068 move a0, s1                   |     a0 = s1;
    0x0000d06c jalr t9                       |     t9 ();
    0x0000d070 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0000d074 bnez v0, 0xd09c               |         goto label_8;
                                             |     }
                                             | label_1:
    0x0000d078 lw ra, 0x10c4(sp)             |     ra = *(var_10c4h);
                                             |     do {
    0x0000d07c lw s3, 0x10c0(sp)             |         s3 = *(var_10c0h);
    0x0000d080 lw s2, 0x10bc(sp)             |         s2 = *(var_10bch);
    0x0000d084 lw s1, 0x10b8(sp)             |         s1 = *(var_10b8h);
    0x0000d088 lw s0, 0x10b4(sp)             |         s0 = *(var_10b4h);
    0x0000d08c addiu sp, sp, 0x10c8          |         
    0x0000d090 jr ra                         |         return v1;
                                             |         if (s2 != 0) {
                                             | label_6:
    0x0000d094 beqz s2, 0xd0b0               |             
    0x0000d098 nop                           |             
                                             | label_8:
    0x0000d09c lw t9, -0x7efc(gp)            |             t9 = *((gp - 8127));
    0x0000d0a0 move a0, s2                   |             a0 = s2;
    0x0000d0a4 jalr t9                       |             t9 ();
    0x0000d0a8 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0000d0ac sw zero, (s0)                 |             *(s0) = 0;
                                             |         }
                                             | label_7:
    0x0000d0b0 lw a0, 0x18(s0)               |         a0 = *((s0 + 6));
    0x0000d0b4 addiu s2, zero, -1            |         s2 = -1;
    0x0000d0b8 lw t9, -0x7f9c(gp)            |         t9 = *((gp - 8167));
                                             |         if (a0 != s2) {
    0x0000d0bc beq a0, s2, 0xd0d0            |             
    0x0000d0c0 jalr t9                       |             t9 ();
    0x0000d0c4 nop                           |             
    0x0000d0c8 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0000d0cc sw s2, 0x18(s0)               |             *((s0 + 6)) = s2;
                                             |         }
    0x0000d0d0 lw t9, -0x7ddc(gp)            |         t9 = *((gp - 8055));
    0x0000d0d4 move a0, s1                   |         a0 = s1;
    0x0000d0d8 jalr t9                       |         t9 ();
    0x0000d0dc addiu s3, zero, -1            |         s3 = -1;
    0x0000d0e0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == s3) {
    0x0000d0e4 bne v0, s3, 0xd108            |             
    0x0000d0e8 lw a2, -0x7fd8(gp)            |             a2 = *((gp - 8182));
    0x0000d0ec addiu a2, a2, 0xb04           |             a2 += 0xb04;
                                             | label_0:
    0x0000d0f0 lw t9, -0x7e44(gp)            |             t9 = *((gp - 8081));
    0x0000d0f4 addiu a1, zero, 2             |             a1 = 2;
    0x0000d0f8 move a0, zero                 |             a0 = 0;
    0x0000d0fc jalr t9                       |             t9 ();
    0x0000d100 b 0xd148                      |             goto label_2;
    0x0000d104 nop                           |             
                                             |         }
    0x0000d108 lw t9, -0x7fd8(gp)            |         t9 = *((gp - 8182));
    0x0000d10c addiu s2, sp, 0x20            |         s2 = sp + 0x20;
    0x0000d110 move a2, s1                   |         a2 = s1;
    0x0000d114 move a1, s0                   |         a1 = s0;
    0x0000d118 addiu t9, t9, -0x32d4         |         t9 += -0x32d4;
    0x0000d11c move a0, s2                   |         a0 = s2;
    0x0000d120 bal 0xcd2c                    |         fcn_0000cd2c ();
    0x0000d124 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x0000d128 bnez v0, 0xd150               |             goto label_9;
                                             |         }
    0x0000d12c lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x0000d130 lw t9, -0x7e44(gp)            |         t9 = *((gp - 8081));
    0x0000d134 addiu a3, zero, 0x1000        |         a3 = 0x1000;
    0x0000d138 addiu a2, a2, 0xb6c           |         a2 += 0xb6c;
    0x0000d13c addiu a1, zero, 2             |         a1 = 2;
    0x0000d140 move a0, zero                 |         a0 = 0;
    0x0000d144 jalr t9                       |         t9 ();
                                             | label_2:
    0x0000d148 lw ra, 0x10c4(sp)             |         ra = *(var_10c4h);
    0x0000d14c b 0xd07c                      |         
                                             |     } while (1);
                                             | label_9:
    0x0000d150 lw t9, -0x7d9c(gp)            |     t9 = *((gp - 8039));
    0x0000d154 move a0, s1                   |     a0 = s1;
    0x0000d158 jalr t9                       |     t9 ();
    0x0000d15c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000d160 lw a2, 0x14(s0)               |     a2 = *((s0 + 5));
    0x0000d164 lui a1, 2                     |     a1 = 0x20000;
    0x0000d168 lw t9, -0x7e4c(gp)            |     t9 = *((gp - 8083));
    0x0000d16c sw v0, (s0)                   |     *(s0) = v0;
    0x0000d170 addiu a1, a1, 0x102           |     a1 += 0x102;
    0x0000d174 move a0, s2                   |     a0 = s2;
    0x0000d178 jalr t9                       |     t9 ();
    0x0000d17c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000d180 sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
                                             |     if (v0 == s3) {
    0x0000d184 beq v0, s3, 0xd2b8            |         goto label_10;
                                             |     }
    0x0000d188 lw t9, -0x7fc8(gp)            |     t9 = *((gp - 8178));
    0x0000d18c addiu a1, sp, 0x1020          |     a1 = sp + 0x1020;
    0x0000d190 move a0, v0                   |     a0 = v0;
    0x0000d194 bal 0xe6d0                    |     fcn_0000e6d0 ();
    0x0000d198 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0000d19c beqz v0, 0xd1c4               |         
    0x0000d1a0 lw t9, -0x7f9c(gp)            |         t9 = *((gp - 8167));
                                             | label_4:
    0x0000d1a4 lw a0, 0x18(s0)               |         a0 = *((s0 + 6));
    0x0000d1a8 jalr t9                       |         t9 ();
    0x0000d1ac lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000d1b0 addiu v0, zero, -1            |         v0 = -1;
    0x0000d1b4 sw v0, 0x18(s0)               |         *((s0 + 6)) = v0;
    0x0000d1b8 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x0000d1bc addiu a2, a2, 0xbe4           |         a2 += 0xbe4;
    0x0000d1c0 b 0xd0f0                      |         goto label_0;
                                             |     }
    0x0000d1c4 lw s1, 0x103c(sp)             |     s1 = *(var_103ch);
    0x0000d1c8 lw t9, -0x7dc4(gp)            |     t9 = *((gp - 8049));
                                             |     if (s1 != 0) {
    0x0000d1cc bnez s1, 0xd278               |         goto label_11;
                                             |     }
                                             | label_3:
    0x0000d1d0 addiu s2, zero, -1            |     s2 = -1;
    0x0000d1d4 addiu s1, zero, 4             |     s1 = 4;
                                             |     do {
    0x0000d1d8 lw t9, -0x7e54(gp)            |         t9 = *((gp - 8085));
    0x0000d1dc lw a0, 0x18(s0)               |         a0 = *((s0 + 6));
    0x0000d1e0 addiu a1, zero, 2             |         a1 = 2;
    0x0000d1e4 jalr t9                       |         t9 ();
    0x0000d1e8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != s2) {
    0x0000d1ec bne v0, s2, 0xd208            |             goto label_12;
                                             |         }
    0x0000d1f0 lw t9, -0x7ec4(gp)            |         t9 = *((gp - 8113));
    0x0000d1f4 jalr t9                       |         t9 ();
    0x0000d1f8 nop                           |         
    0x0000d1fc lw v0, (v0)                   |         v0 = *(v0);
    0x0000d200 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000d204 beq v0, s1, 0xd1d8            |         
                                             |     } while (v0 == s1);
                                             | label_12:
    0x0000d208 lw t9, -0x7e9c(gp)            |     t9 = *((gp - 8103));
    0x0000d20c lw a0, 0x18(s0)               |     a0 = *((s0 + 6));
    0x0000d210 addiu a2, zero, 1             |     a2 = 1;
    0x0000d214 addiu a1, zero, 2             |     a1 = 2;
    0x0000d218 jalr t9                       |     t9 ();
    0x0000d21c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0000d220 beqz v0, 0xd078               |         goto label_1;
                                             |     }
    0x0000d224 lw t9, -0x7ec4(gp)            |     t9 = *((gp - 8113));
    0x0000d228 lw s1, 0x18(s0)               |     s1 = *((s0 + 6));
    0x0000d22c jalr t9                       |     t9 ();
    0x0000d230 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000d234 lw a0, (v0)                   |     a0 = *(v0);
    0x0000d238 lw t9, -0x7e34(gp)            |     t9 = *((gp - 8077));
    0x0000d23c move s0, v0                   |     s0 = v0;
    0x0000d240 jalr t9                       |     t9 ();
    0x0000d244 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000d248 lw v1, (s0)                   |     v1 = *(s0);
    0x0000d24c move a3, s1                   |     a3 = s1;
    0x0000d250 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0000d254 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0000d258 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000d25c addiu a2, a2, 0xc14           |     a2 += 0xc14;
                                             | label_5:
    0x0000d260 lw t9, -0x7e44(gp)            |     t9 = *((gp - 8081));
    0x0000d264 addiu a1, zero, 2             |     a1 = 2;
    0x0000d268 move a0, zero                 |     a0 = 0;
    0x0000d26c jalr t9                       |     t9 ();
    0x0000d270 b 0xd148                      |     goto label_2;
    0x0000d274 nop                           |     
                                             | label_11:
    0x0000d278 jalr t9                       |     t9 ();
    0x0000d27c nop                           |     
    0x0000d280 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s1 == v0) {
    0x0000d284 beq s1, v0, 0xd1d0            |         goto label_3;
                                             |     }
    0x0000d288 lw t9, -0x7dd8(gp)            |     t9 = *((gp - 8054));
    0x0000d28c lw s1, 0x103c(sp)             |     s1 = *(var_103ch);
    0x0000d290 jalr t9                       |     t9 ();
    0x0000d294 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s1 == v0) {
    0x0000d298 beq s1, v0, 0xd1d0            |         goto label_3;
                                             |     }
    0x0000d29c lw t9, -0x7dc4(gp)            |     t9 = *((gp - 8049));
    0x0000d2a0 jalr t9                       |     t9 ();
    0x0000d2a4 nop                           |     
    0x0000d2a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0000d2ac beqz v0, 0xd1d0               |         goto label_3;
                                             |     }
    0x0000d2b0 lw t9, -0x7f9c(gp)            |     t9 = *((gp - 8167));
    0x0000d2b4 b 0xd1a4                      |     goto label_4;
                                             | label_10:
    0x0000d2b8 lw t9, -0x7ec4(gp)            |     t9 = *((gp - 8113));
    0x0000d2bc jalr t9                       |     t9 ();
    0x0000d2c0 nop                           |     
    0x0000d2c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000d2c8 lw a0, (v0)                   |     a0 = *(v0);
    0x0000d2cc lw t9, -0x7e34(gp)            |     t9 = *((gp - 8077));
    0x0000d2d0 move s0, v0                   |     s0 = v0;
    0x0000d2d4 jalr t9                       |     t9 ();
    0x0000d2d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000d2dc lw v1, (s0)                   |     v1 = *(s0);
    0x0000d2e0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000d2e4 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0000d2e8 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0000d2ec move a3, s2                   |     a3 = s2;
    0x0000d2f0 addiu a2, a2, 0xc44           |     a2 += 0xc44;
    0x0000d2f4 b 0xd260                      |     goto label_5;
                                             | }

[*] Function popen used 1 times session.so