[*] Binary protection state of time-service

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function system tear down of time-service

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/time-service @ 0x48a4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.time_service_dbus_init ()    | void time_service_dbus_init () {
    0x000048a4 lui gp, 2                     |     
    0x000048a8 addiu gp, gp, -0x4894         |     
    0x000048ac addu gp, gp, t9               |     gp += t9;
    0x000048b0 addiu sp, sp, -0x38           |     
    0x000048b4 lw t9, -0x7ebc(gp)            |     t9 = sym.imp.sd_bus_open_system
    0x000048b8 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x000048bc lw s1, -0x7fd0(gp)            |     s1 = *((gp - 8180));
    0x000048c0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000048c4 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x000048c8 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x000048cc sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x000048d0 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x000048d4 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x000048d8 move s3, a0                   |     s3 = a0;
    0x000048dc addiu a0, s1, -0x7d98         |     a0 = s1 + -0x7d98;
    0x000048e0 jalr t9                       |     t9 ();
    0x000048e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x000048e8 bltz v0, 0x4a8c               |         goto label_1;
                                             |     }
    0x000048ec lw v0, -0x7f98(gp)            |     v0 = *((gp - 8166));
    0x000048f0 lw s2, -0x7fd8(gp)            |     s2 = *((gp - 8182));
    0x000048f4 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000048f8 lw t9, -0x7f50(gp)            |     t9 = sym.imp.sd_bus_add_object_vtable;
    0x000048fc addiu v0, v0, 0x7ea0          |     v0 += 0x7ea0;
    0x00004900 lw a0, -0x7d98(s1)            |     a0 = *((s1 - 8038));
    0x00004904 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00004908 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000490c addiu a3, s2, 0x6fe4          |     a3 = s2 + str.com.axis.TimeService1;
    0x00004910 addiu a2, a2, 0x6ffc          |     a2 += str._com_axis_TimeService1;
    0x00004914 move a1, zero                 |     a1 = 0;
    0x00004918 jalr t9                       |     t9 ();
    0x0000491c move s0, v0                   |     s0 = v0;
    0x00004920 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x00004924 bltz v0, 0x4b34               |         goto label_2;
                                             |     }
    0x00004928 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x0000492c lw t9, -0x7f6c(gp)            |     t9 = sym.imp.g_file_test;
    0x00004930 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x00004934 addiu a0, a0, 0x7474          |     a0 += str._usr_lib_legacyconfig;
    0x00004938 jalr t9                       |     t9 ();
    0x0000493c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00004940 bnez v0, 0x49b0               |     
                                             |     while (v0 >= 0) {
    0x00004944 lw t9, -0x7f28(gp)            |         t9 = sym.imp.sd_bus_request_name;
    0x00004948 lw a0, -0x7d98(s1)            |         a0 = *((s1 - 8038));
    0x0000494c move a2, zero                 |         a2 = 0;
    0x00004950 move a3, zero                 |         a3 = 0;
    0x00004954 addiu a1, s2, 0x6fe4          |         a1 = s2 + str.com.axis.TimeService1;
    0x00004958 jalr t9                       |         t9 ();
    0x0000495c move s0, v0                   |         s0 = v0;
    0x00004960 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x00004964 bltz v0, 0x4b70               |             goto label_3;
                                             |         }
    0x00004968 lw t9, -0x7f18(gp)            |         t9 = sym.imp.sd_bus_attach_event;
    0x0000496c lw a0, -0x7d98(s1)            |         a0 = *((s1 - 8038));
    0x00004970 move a2, zero                 |         a2 = 0;
    0x00004974 move a1, s3                   |         a1 = s3;
    0x00004978 jalr t9                       |         t9 ();
    0x0000497c move s0, v0                   |         s0 = v0;
    0x00004980 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x00004984 bltz v0, 0x4a50               |             goto label_4;
                                             |         }
    0x00004988 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x0000498c move s0, zero                 |         s0 = 0;
    0x00004990 move v0, s0                   |         v0 = s0;
    0x00004994 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00004998 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x0000499c lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x000049a0 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x000049a4 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x000049a8 addiu sp, sp, 0x38            |         
    0x000049ac jr ra                         |         return v0;
    0x000049b0 lw s4, -0x7fd0(gp)            |         s4 = *((gp - 8180));
    0x000049b4 lw t9, -0x7ebc(gp)            |         t9 = sym.imp.sd_bus_open_system
    0x000049b8 addiu a0, s4, -0x7d9c         |         a0 = s4 + -0x7d9c;
    0x000049bc jalr t9                       |         t9 ();
    0x000049c0 move s0, v0                   |         s0 = v0;
    0x000049c4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x000049c8 bltz v0, 0x4af8               |             goto label_5;
                                             |         }
    0x000049cc lw v0, -0x7f98(gp)            |         v0 = *((gp - 8166));
    0x000049d0 lw a3, -0x7fd8(gp)            |         a3 = *((gp - 8182));
    0x000049d4 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x000049d8 lw t9, -0x7f50(gp)            |         t9 = sym.imp.sd_bus_add_object_vtable;
                                             |         /* section..data.rel.ro */
    0x000049dc addiu v0, v0, 0x7e20          |         v0 += 0x7e20;
    0x000049e0 lw a0, -0x7d9c(s4)            |         a0 = *((s4 - 8039));
    0x000049e4 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x000049e8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000049ec addiu a3, a3, 0x7360          |         a3 += str.com.axis.Configuration.Legacy;
    0x000049f0 addiu a2, a2, 0x7380          |         a2 += str._com_axis_TimeService_Legacy;
    0x000049f4 move a1, zero                 |         a1 = 0;
    0x000049f8 jalr t9                       |         t9 ();
    0x000049fc move s0, v0                   |         s0 = v0;
    0x00004a00 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x00004a04 bltz v0, 0x4bac               |             goto label_6;
                                             |         }
    0x00004a08 lw a1, -0x7fd8(gp)            |         a1 = *((gp - 8182));
    0x00004a0c lw t9, -0x7f28(gp)            |         t9 = sym.imp.sd_bus_request_name;
    0x00004a10 lw a0, -0x7d9c(s4)            |         a0 = *((s4 - 8039));
    0x00004a14 move a2, zero                 |         a2 = 0;
    0x00004a18 move a3, zero                 |         a3 = 0;
    0x00004a1c addiu a1, a1, 0x74ec          |         a1 += str.com.axis.TimeService.Legacy;
    0x00004a20 jalr t9                       |         t9 ();
    0x00004a24 move s0, v0                   |         s0 = v0;
    0x00004a28 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x00004a2c bltz v0, 0x4b70               |             goto label_3;
                                             |         }
    0x00004a30 lw t9, -0x7f18(gp)            |         t9 = sym.imp.sd_bus_attach_event;
    0x00004a34 lw a0, -0x7d9c(s4)            |         a0 = *((s4 - 8039));
    0x00004a38 move a2, zero                 |         a2 = 0;
    0x00004a3c move a1, s3                   |         a1 = s3;
    0x00004a40 jalr t9                       |         t9 ();
    0x00004a44 move s0, v0                   |         s0 = v0;
    0x00004a48 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00004a4c bgez v0, 0x4944               |         
                                             |     }
                                             | label_4:
    0x00004a50 lw t9, -0x7e10(gp)            |     t9 = sym.imp.strerror;
    0x00004a54 negu a0, s0                   |     __asm ("negu a0, s0");
    0x00004a58 jalr t9                       |     t9 ();
    0x00004a5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00004a60 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00004a64 addiu a1, zero, 0x100         |     a1 = aav.0x00000100;
    0x00004a68 lw a3, -0x7fd8(gp)            |     a3 = *((gp - 8182));
    0x00004a6c lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00004a70 lw t9, -0x7f68(gp)            |     t9 = sym.imp.g_log;
    0x00004a74 addiu a3, a3, 0x6d20          |     a3 += 0x6d20;
    0x00004a78 addiu a2, a2, 0x7530          |     a2 += str._sFailed_to_attach_bus_to_event_loop:__s;
    0x00004a7c move a0, zero                 |     a0 = 0;
    0x00004a80 jalr t9                       |     t9 ();
    0x00004a84 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00004a88 b 0x4ac8                      |     goto label_0;
                                             | label_1:
    0x00004a8c lw t9, -0x7e10(gp)            |     t9 = sym.imp.strerror;
    0x00004a90 negu a0, v0                   |     __asm ("negu a0, v0");
    0x00004a94 move s0, v0                   |     s0 = v0;
    0x00004a98 jalr t9                       |     t9 ();
    0x00004a9c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00004aa0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00004aa4 addiu a1, zero, 0x100         |     a1 = aav.0x00000100;
    0x00004aa8 lw a3, -0x7fd8(gp)            |     a3 = *((gp - 8182));
    0x00004aac lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00004ab0 lw t9, -0x7f68(gp)            |     t9 = sym.imp.g_log;
    0x00004ab4 addiu a3, a3, 0x6d20          |     a3 += 0x6d20;
    0x00004ab8 addiu a2, a2, 0x7424          |     a2 += str._sFailed_to_connect_to_the_system_bus:__s
    0x00004abc move a0, zero                 |     a0 = 0;
    0x00004ac0 jalr t9                       |     t9 ();
    0x00004ac4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
                                             | label_0:
    0x00004ac8 lw t9, -0x7ee8(gp)            |         t9 = sym.imp.sd_bus_unref;
    0x00004acc lw a0, -0x7d98(s1)            |         a0 = *((s1 - 8038));
    0x00004ad0 jalr t9                       |         t9 ();
    0x00004ad4 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00004ad8 move v0, s0                   |         v0 = s0;
    0x00004adc lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00004ae0 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x00004ae4 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00004ae8 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x00004aec lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00004af0 addiu sp, sp, 0x38            |         
    0x00004af4 jr ra                         |         return v0;
                                             | label_5:
    0x00004af8 lw t9, -0x7e10(gp)            |         t9 = sym.imp.strerror;
    0x00004afc negu a0, v0                   |         __asm ("negu a0, v0");
    0x00004b00 jalr t9                       |         t9 ();
    0x00004b04 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00004b08 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00004b0c addiu a1, zero, 0x100         |         a1 = aav.0x00000100;
    0x00004b10 lw a3, -0x7fd8(gp)            |         a3 = *((gp - 8182));
    0x00004b14 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x00004b18 lw t9, -0x7f68(gp)            |         t9 = sym.imp.g_log;
    0x00004b1c addiu a3, a3, 0x6d20          |         a3 += 0x6d20;
    0x00004b20 addiu a2, a2, 0x748c          |         a2 += str._sFailed_to_connect_to_the_system_legacy_bus:__s
    0x00004b24 move a0, zero                 |         a0 = 0;
    0x00004b28 jalr t9                       |         t9 ();
    0x00004b2c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00004b30 b 0x4ac8                      |         
                                             |     } while (1);
                                             | label_2:
    0x00004b34 lw t9, -0x7e10(gp)            |     t9 = sym.imp.strerror;
    0x00004b38 negu a0, v0                   |     __asm ("negu a0, v0");
    0x00004b3c jalr t9                       |     t9 ();
    0x00004b40 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00004b44 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00004b48 addiu a1, zero, 0x100         |     a1 = aav.0x00000100;
    0x00004b4c lw a3, -0x7fd8(gp)            |     a3 = *((gp - 8182));
    0x00004b50 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00004b54 lw t9, -0x7f68(gp)            |     t9 = sym.imp.g_log;
    0x00004b58 addiu a3, a3, 0x6d20          |     a3 += 0x6d20;
    0x00004b5c addiu a2, a2, 0x7450          |     a2 += str._sFailed_to_register_bus_object:__s;
    0x00004b60 move a0, zero                 |     a0 = 0;
    0x00004b64 jalr t9                       |     t9 ();
    0x00004b68 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00004b6c b 0x4ac8                      |     goto label_0;
                                             | label_3:
    0x00004b70 lw t9, -0x7e10(gp)            |     t9 = sym.imp.strerror;
    0x00004b74 negu a0, s0                   |     __asm ("negu a0, s0");
    0x00004b78 jalr t9                       |     t9 ();
    0x00004b7c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00004b80 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00004b84 addiu a1, zero, 0x100         |     a1 = aav.0x00000100;
    0x00004b88 lw a3, -0x7fd8(gp)            |     a3 = *((gp - 8182));
    0x00004b8c lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00004b90 lw t9, -0x7f68(gp)            |     t9 = sym.imp.g_log;
    0x00004b94 addiu a3, a3, 0x6d20          |     a3 += 0x6d20;
    0x00004b98 addiu a2, a2, 0x7508          |     a2 += str._sFailed_to_acquire_service_name:__s;
    0x00004b9c move a0, zero                 |     a0 = 0;
    0x00004ba0 jalr t9                       |     t9 ();
    0x00004ba4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00004ba8 b 0x4ac8                      |     goto label_0;
                                             | label_6:
    0x00004bac lw t9, -0x7e10(gp)            |     t9 = sym.imp.strerror;
    0x00004bb0 negu a0, v0                   |     __asm ("negu a0, v0");
    0x00004bb4 jalr t9                       |     t9 ();
    0x00004bb8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00004bbc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00004bc0 addiu a1, zero, 0x100         |     a1 = aav.0x00000100;
    0x00004bc4 lw a3, -0x7fd8(gp)            |     a3 = *((gp - 8182));
    0x00004bc8 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00004bcc lw t9, -0x7f68(gp)            |     t9 = sym.imp.g_log;
    0x00004bd0 addiu a3, a3, 0x6d20          |     a3 += 0x6d20;
    0x00004bd4 addiu a2, a2, 0x74c0          |     a2 += str._sFailed_to_register_legacy_bus_object:__s;
    0x00004bd8 move a0, zero                 |     a0 = 0;
    0x00004bdc jalr t9                       |     t9 ();
    0x00004be0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00004be4 b 0x4ac8                      |     goto label_0;
                                             | }

[*] Function system used 5 times time-service