Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 1.52 KB

201404071655.txt.md

File metadata and controls

37 lines (26 loc) · 1.52 KB

标题: 如何访问"CWM Recovery"的"adb shell"

http://scz.617.cn/android/201404071655.txt

Q:

听说"CWM Recovery"支持"adb shell"。先用"adb reboot recovery"将手机切换到 Recovery模式,然后:

adb devices 0123456789ABCDEF unauthorized

如果在Normal模式,会弹一个信息框询问允许USB调试吗,但现在是Recovery模式,根 本没机会弹信息框,怎么破?

A: scz@nsfocus 2014-04-07 16:43

现在的adb都有公私钥认证机制,只允许授权主机使用USB调试接口。手机端的 /data/misc/adb/adb_keys存有授权主机的公钥,如果主机公钥不在这个文件里,就不 是授权主机,Normal模式会弹信息框给一个设置的机会,Recovery模式干脆就拒绝访 问。解决办法是设法将主机公钥写入/data/misc/adb/adb_keys。

如果有手机root,这没什么障碍。如果没有root,其实是有GUI操作方案的,手机上弹 信息框询问允许USB调试时,下面有一个"一律允许使用这台计算机进行调试",缺省未 选中,只要选中它,效果就是主机公钥被写入/data/misc/adb/adb_keys。这就解决了 鸡生蛋、蛋生鸡的问题,显然一般试图在Recovery模式下使用"adb shell"就是为了取 得root。"CWM Recovery"本身可以在无root的情况下线刷进入。

问题解决后应该看到:

adb devices 0123456789ABCDEF recovery adb shell ~ # id uid=0(root) gid=0(root)

Recovery模式下的"adb shell"天生就是"root shell",不需要su。