[*] Binary protection state of dbus-daemon

  
  	Partial RELRO  No Canary found   NX disabled  No PIE       No RPATH     No RUNPATH   No Symbols


[*] Function system tear down of dbus-daemon

    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/dbus-daemon @ 0x2c520 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.0002c520 ()                          | void fcn_0002c520 (void * arg1, int32_t arg2) {
                                                     |     int32_t var_4h;
                                                     |     int32_t var_ch;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x0002c520 b 0x2cf68                             |     
    0x0002cf68 push {r0, r1, r2, r4, r5, lr}         |     
    0x0002cf6c mov r5, r0                            |     r5 = r0;
    0x0002cf70 mov r4, r1                            |     r4 = r1;
    0x0002cf74 bl 0x15f00                            |     r0 = dbus_user_database_lock_system ()
    0x0002cf78 cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x0002cf7c beq 0x2cf94                           |         goto label_0;
                                                     |     }
    0x0002cf80 bl 0x16074                            |     r0 = dbus_user_database_get_system ()
    0x0002cf84 cmp r0, 0                             |     
    0x0002cf88 bne 0x2cf9c                           |     
                                                     |     while (r0 == 0) {
    0x0002cf8c bl 0x16038                            |         dbus_user_database_unlock_system ()
    0x0002cf90 mov r0, 0                             |         r0 = 0;
                                                     | label_0:
    0x0002cf94 add sp, sp, 0xc                       |         
    0x0002cf98 pop {r4, r5, pc}                      |         
    0x0002cf9c mov r3, 0                             |         r3 = 0;
    0x0002cfa0 add r2, sp, 4                         |         r2 += var_4h;
    0x0002cfa4 mov r1, r5                            |         r1 = r5;
    0x0002cfa8 bl 0x2cf44                            |         r0 = fcn_0002cf44 (r0, r1);
    0x0002cfac cmp r0, 0                             |         
    0x0002cfb0 beq 0x2cf8c                           |         
                                                     |     }
    0x0002cfb4 ldr r3, [sp, 4]                       |     r3 = var_4h;
    0x0002cfb8 ldr r3, [r3]                          |     r3 = *(r3);
    0x0002cfbc str r3, [r4]                          |     *(r4) = r3;
    0x0002cfc0 bl 0x16038                            |     dbus_user_database_unlock_system ()
    0x0002cfc4 mov r0, 1                             |     r0 = 1;
    0x0002cfc8 b 0x2cf94                             |     goto label_0;
                                                     | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/dbus-daemon @ 0x2c524 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.0002c524 ()                                  | void fcn_0002c524 (int32_t arg1, int32_t arg2) {
                                                             |     int32_t var_4h;
                                                             |     int32_t var_ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x0002c524 b 0x2cfec                                     |     
    0x0002cfec push {r0, r1, r2, r4, r5, r6, r7, lr}         |     
    0x0002cff0 mov r5, 0                                     |     r5 = 0;
    0x0002cff4 str r5, [r1]                                  |     *(r1) = r5;
    0x0002cff8 str r5, [r2]                                  |     *(r2) = r5;
    0x0002cffc mov r7, r0                                    |     r7 = r0;
    0x0002d000 mov r4, r1                                    |     r4 = r1;
    0x0002d004 mov r6, r2                                    |     r6 = r2;
    0x0002d008 bl 0x15f00                                    |     r0 = dbus_user_database_lock_system ()
    0x0002d00c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0002d010 beq 0x2d028                                   |         goto label_1;
                                                             |     }
    0x0002d014 bl 0x16074                                    |     r0 = dbus_user_database_get_system ()
    0x0002d018 cmp r0, r5                                    |     
    0x0002d01c bne 0x2d030                                   |     
                                                             |     while (r0 == 0) {
                                                             | label_0:
    0x0002d020 bl 0x16038                                    |         dbus_user_database_unlock_system ()
    0x0002d024 mov r0, 0                                     |         r0 = 0;
                                                             | label_1:
    0x0002d028 add sp, sp, 0xc                               |         
    0x0002d02c pop {r4, r5, r6, r7, pc}                      |         
    0x0002d030 mov r3, r5                                    |         r3 = r5;
    0x0002d034 add r2, sp, 4                                 |         r2 += var_4h;
    0x0002d038 mov r1, r7                                    |         r1 = r7;
    0x0002d03c bl 0x16158                                    |         r0 = dbus_user_database_get_uid ();
    0x0002d040 cmp r0, 0                                     |         
    0x0002d044 beq 0x2d020                                   |         
                                                             |     }
    0x0002d048 ldr r3, [sp, 4]                               |     r3 = var_4h;
    0x0002d04c ldr r0, [r3, 0xc]                             |     r0 = *((r3 + 0xc));
    0x0002d050 cmp r0, 0                                     |     
                                                             |     if (r0 <= 0) {
    0x0002d054 ble 0x2d08c                                   |         goto label_2;
                                                             |     }
    0x0002d058 lsl r0, r0, 2                                 |     r0 <<= 2;
    0x0002d05c bl 0x16008                                    |     r0 = dbus_malloc ();
    0x0002d060 cmp r0, 0                                     |     
    0x0002d064 str r0, [r4]                                  |     *(r4) = r0;
                                                             |     if (r0 == 0) {
    0x0002d068 beq 0x2d020                                   |         goto label_0;
                                                             |     }
    0x0002d06c ldr r3, [sp, 4]                               |     r3 = var_4h;
    0x0002d070 ldr r2, [r3, 0xc]                             |     r2 = *((r3 + 0xc));
    0x0002d074 str r2, [r6]                                  |     *(r6) = r2;
    0x0002d078 ldr r2, [r3, 0xc]                             |     r2 = *((r3 + 0xc));
    0x0002d07c ldr r1, [r3, 8]                               |     r1 = *((r3 + 8));
    0x0002d080 lsl r2, r2, 2                                 |     r2 <<= 2;
    0x0002d084 ldr r0, [r4]                                  |     r0 = *(r4);
    0x0002d088 bl 0x15df8                                    |     r0 = memcpy (r0, r1, r2);
                                                             | label_2:
    0x0002d08c bl 0x16038                                    |     dbus_user_database_unlock_system ()
    0x0002d090 mov r0, 1                                     |     r0 = 1;
    0x0002d094 b 0x2d028                                     |     goto label_1;
                                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/dbus-daemon @ 0x2cd80 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.0002cd80 ()                          | void fcn_0002cd80 (int32_t arg1, int32_t arg2) {
                                                     |     int32_t var_4h;
                                                     |     int32_t var_8h;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x0002cd80 push {r0, r1, r4, r5, r6, lr}         |     
    0x0002cd84 mov r6, r0                            |     r6 = r0;
    0x0002cd88 mov r5, r1                            |     r5 = r1;
    0x0002cd8c mov r4, r2                            |     r4 = r2;
    0x0002cd90 bl 0x15f00                            |     r0 = dbus_user_database_lock_system ()
    0x0002cd94 cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x0002cd98 beq 0x2cdb0                           |         goto label_0;
                                                     |     }
    0x0002cd9c bl 0x16074                            |     r0 = dbus_user_database_get_system ()
    0x0002cda0 cmp r0, 0                             |     
    0x0002cda4 bne 0x2cdb8                           |     
                                                     |     while (r0 == 0) {
    0x0002cda8 bl 0x16038                            |         dbus_user_database_unlock_system ()
    0x0002cdac mov r0, 0                             |         r0 = 0;
                                                     | label_0:
    0x0002cdb0 add sp, sp, 8                         |         
    0x0002cdb4 pop {r4, r5, r6, pc}                  |         
    0x0002cdb8 mov r3, 0                             |         r3 = 0;
    0x0002cdbc add r2, sp, 4                         |         r2 += var_4h;
    0x0002cdc0 mov r1, r6                            |         r1 = r6;
    0x0002cdc4 bl 0x161e8                            |         r0 = dbus_user_database_get_username ();
    0x0002cdc8 cmp r0, 0                             |         
    0x0002cdcc beq 0x2cda8                           |         
                                                     |     }
    0x0002cdd0 cmp r5, 0                             |     
                                                     |     if (r5 == 0) {
    0x0002cdd4 ldrne r3, [sp, 4]                     |         r3 = var_4h;
                                                     |     }
                                                     |     if (r5 == 0) {
    0x0002cdd8 ldrne r3, [r3]                        |         r3 = *(r3);
                                                     |     }
                                                     |     if (r5 == 0) {
    0x0002cddc strne r3, [r5]                        |         *(r5) = r3;
                                                     |     }
    0x0002cde0 cmp r4, 0                             |     
                                                     |     if (r4 == 0) {
    0x0002cde4 ldrne r3, [sp, 4]                     |         r3 = var_4h;
                                                     |     }
                                                     |     if (r4 == 0) {
    0x0002cde8 ldrne r3, [r3, 4]                     |         r3 = *((r3 + 4));
                                                     |     }
                                                     |     if (r4 == 0) {
    0x0002cdec strne r3, [r4]                        |         *(r4) = r3;
                                                     |     }
    0x0002cdf0 bl 0x16038                            |     dbus_user_database_unlock_system ()
    0x0002cdf4 mov r0, 1                             |     r0 = 1;
    0x0002cdf8 b 0x2cdb0                             |     goto label_0;
                                                     | }

[*] Function system used 13 times dbus-daemon