日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android 逆向】Android 权限 ( adb 降权相关的属性 | ro.secure 属性 | ro.debuggable 属性 | service.adb.root 属性 )

發布時間:2025/6/17 Android 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 逆向】Android 权限 ( adb 降权相关的属性 | ro.secure 属性 | ro.debuggable 属性 | service.adb.root 属性 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、adb 降權
    • 1、ro.secure 屬性
    • 2、ro.debuggable 屬性
    • 3、service.adb.root 屬性
    • 4、ro.kernel.qemu 屬性





一、adb 降權



遠程 adb 命令 , 需要通過 adbd 服務程序處理 ;

adbd 文件的權限 , 屬于 root 權限 , shell 分組 ; 因此這里涉及到 adb 的降權 ( Drop Privileges ) 問題 ,

-rwxr-xr-x 1 root shell 1758824 2009-01-01 16:00 adbd

一些系統屬性可以影響 adb 是否降權 ; adb 的權限初始為 root 權限 ;


1、ro.secure 屬性


ro.secure 屬性 , 配置 是否開啟安全防護 ; 如果該屬性配置為 1 , 則 adb 的權限就會降權 ;

調用 getprop ro.secure 命令 , 獲取該屬性的屬性值 ;

對應 /system/core/adb/adb_main.cpp 源碼位置 :

#if defined(ALLOW_ADBD_ROOT)// 影響'adb root'和'adb unroot'的屬性是ro.secure和// 可調試的。在此上下文中,名稱不會產生預期的行為 特別明顯。//// ro.debugable:// 允許成為根,但不一定是默認值。在上設置為1// eng和userdebug構建。//// ro.secure:// 默認情況下刪除特權。在用戶調試和用戶生成時設置為1。property_get("ro.secure", value, "1");bool ro_secure = (strcmp(value, "1") == 0); #elsereturn true; // "adb root" not allowed, always drop privileges. #endif /* ALLOW_ADBD_ROOT */ } #endif /* ADB_HOST */

Android 源碼地址 : /system/core/adb/adb_main.cpp


2、ro.debuggable 屬性


ro.debuggable 屬性 , 配置 是否可以調試 ;

調用 getprop ro.debuggable 獲取的屬性為 0 ;

對應 /system/core/adb/adb_main.cpp 源碼位置 :

#if defined(ALLOW_ADBD_ROOT)property_get("service.adb.root", value, "");bool adb_root = (strcmp(value, "1") == 0); // adb_root 值為 false ; bool adb_unroot = (strcmp(value, "0") == 0); // adb_unroot 值為 true // ...except "adb root" lets you keep privileges in a debuggable build.//adb_root 為 false , 該分支不會進入 if (ro_debuggable && adb_root) {// 該分支永遠不會進來 // 但是只要進來了 , 就意味著 adb 不降權 , 持有 root 權限 drop = false;}// ...and "adb unroot" lets you explicitly drop privileges.if (adb_unroot) {drop = true;}return drop; #elsereturn true; // "adb root" not allowed, always drop privileges. #endif /* ALLOW_ADBD_ROOT */ } #endif /* ADB_HOST */

Android 源碼地址 : /system/core/adb/adb_main.cpp


3、service.adb.root 屬性


service.adb.root 屬性 , 配置 adb 是否擁有 root 權限

調用 getprop service.adb.root 命令 , 獲取的值為空 ;


4、ro.kernel.qemu 屬性


ro.kernel.qemu 屬性 , 該屬性只有模擬器有 , 手機真機沒有改配置 ;

調用 getprop ro.kernel.qemu 獲取的屬性為空 ;

對應 /system/core/adb/adb_main.cpp 源碼位置 :

#if defined(ALLOW_ADBD_ROOT)// 模擬器永遠都不安全,所以不要在那里放棄特權。// TODO:這看起來像一個bug——仿真器的行為不應該像一個設備嗎?property_get("ro.kernel.qemu", value, "");if (strcmp(value, "1") == 0) {// 該分支永遠不會命中 , 不會被執行到return false;}#elsereturn true; // "adb root" not allowed, always drop privileges. #endif /* ALLOW_ADBD_ROOT */ } #endif /* ADB_HOST */

Android 源碼地址 : /system/core/adb/adb_main.cpp

總結

以上是生活随笔為你收集整理的【Android 逆向】Android 权限 ( adb 降权相关的属性 | ro.secure 属性 | ro.debuggable 属性 | service.adb.root 属性 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。