Thanks to visit codestin.com
Credit goes to github.com

Skip to content

针对与Root Detection的一点想法 #140

@JackA1ltman

Description

@JackA1ltman

您好,开发者!

感谢您的努力提供了如此好用的全方位管理Android设备的APP,而且包含了针对Linux的支持。
我在尝试进入Root模式时候提示无法检测到Root,这个问题在 #88 中已经有了明确的回答
但同时我也发现了您的一个Commit:7071c46

我意识到您可能期望通过adb shell id的方式获取Root,我不了解应用程序开发,所以这仅仅是针对我看的一点内容的推测
至少获取id肯定没错,这是最佳的验证Root的方式,很多大厂也会通过这种方式进行基础检测,但我的设备上不太对劲

以下内容只作为提议出现,如果您觉得不合理,随时关闭issue即可

假设执行:
adb shell id
会提示:
uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),1078(ext_data_rw),1079(ext_obb_rw),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid),3012(readtracefs) context=u:r:shell:s0
但如果执行:
adb shell su -c id
可以获取得到
uid=0(root) gid=0(root) groups=0(root) context=u:r:su:s0
所以我斗胆怀疑您可能缺少了su -c的执行,但是如果执行su -c,对于非Root设备来说,就会出现
/system/bin/sh: su: inaccessible or not found
这可能会影响adb的执行

此外,兴许userdebug可以让id(root)出现在adb shell id中,但我很久接触不到userdebug的系统了,我不记得是不是这样

总之,感谢您的付出与努力,每一名开源开发者都值得被尊敬。
此致敬礼

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions