ThinkPad Tablet(下称小黑板)目前还是 Android 3.1 系统(据说五月份会升级 4.0),默认只能使用联想自家的乐商店(什么玩意儿啊?就是给联想乐Pad用的安卓应用软件商店)。乐商店里头的应用很少,而且没几个有用的。不能用 Google 的安卓电子市场,Android 系统就没有血液,何来生命和乐趣可言?!于是获取小黑板的 root 权限,势在必得!
幸好,Dan Rosenberg 很早(2012年1月19号)已经找到了获取小黑板 ROOT 权限的方法(via ref 1, ref 2)。但是这个方法不够完美,能成功的很少。后来,国外一个论坛里3月18号又有一个新的 ROOT 方法,很多人已经据此获取了小黑板的 ROOT 权限(via ref 3)。51nb 论坛的版主也已经据此发布了中文教程(via ref 4)。虽然他们都已经说得很详细(对高手来说已经足够详细了,可是对于初次接触的人来讲还是略显简单),我在实际操作的时候还是遇到了问题。所以我觉得有必要将自己的操作经验记录一下,配上一点图示,应该对新手有所帮助。
注:
新版本 Android 4.0.3 系统请参考另一 ROOT 方式。
00. 什么是 ROOT 以及为什么要 ROOT¶
root 是类 Unix/Linux 系统中对于超级管理员账号的一种称呼。安卓是类 Linux 系统,获取其 root 权限也就是得到系统的最高控制权。
得到 root 权限之后,我们可以:
- 安装 Google 服务核心程序,从而可以使用 Google 的一切服务,包括安卓电子市场;
- 可以安装某些需要 ROOT 权限的应用,比如全局代理;
- 可以修改 HOSTS 等系统文件;
- 其它,您来补充吧。
0. 特别提示¶
- 修改 ThinkPad Tablet 的操作系统是有风险的。实际上任何破解都是有风险的。由此造成的问题,以及附带产生的其它问题,都需要你自己来承担。请谨慎!
- 以下操作在 Windows 7 64位操作系统下完成,如果你是别的操作系统,可能会略有不同。如果需要帮助,请直接在本文后面留言。
- 以下操作须要按顺序来,有任意一步没有完成,都可能造成破解失败。
1. 准备工作¶
下面是获取 ROOT 权限时需要用到的工具与软件,当然还有高手提供的破解补丁。
1)准备一张能用的存储卡。¶
ThinkPad Tablet 提供了三合一读卡器接口,下面的操作需要用到它。所以,得准备一张可以在这个接口上使用的存储卡。只要这张卡能装得下一个 6MB 的文件就成,不会对卡上的其它内容有影响。我用的是 mini MMC 卡,以前 Nokia 手机上带的。
2)下载一个可以让小黑板出现溢出漏洞的文件。¶
到联想官方网站下载 ThinkPadTablet_A310_02_0024_0060_US.zip
(或者直接点击此链接下载,去 http://download.lenovo.com/slates/think/tablet1/ 浏览下载也行,文件大小 5.9M)。这个不用管你的 Tablet 是什么型号,都下载这个就行。(估计以后小黑板升级到 Android 4.0 了就不能用这个文件了,到时候再说吧。)
把这个压缩文件放到外置 SD 卡(上一步 1) 中准备的卡)的根目录。不要解压缩该文件。
然后将卡插到小黑板的三合一读卡器里,后面会用到。
3)下载破解补丁。¶
下载 ROOT 主文件 (http://good.gd/1981854.htm)到计算机,解压得到文件夹 yareftpt
。这就是破解补丁了,后面会用到。
4)开启小黑板的 USB 调试模式。¶
进入小黑板(ThinkPad Tablet)的设置 ——> 应用程序 ——> 开发页面,勾选 USB 调试模式。
5)在电脑上安装联想提供的最新版 ADB 驱动。¶
这一步比较难搞,得有耐心才行。
a) 下载 ADB 驱动,地址:http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS022366。(嗯,联想搞歧视吧,中文页面上没有这个东东。)下载得到的文件名是:adb_driver_20110720.zip
b) 这个驱动没法直接安装。先按照下面的方法安装,如果不成功则跳到下一步 6)。一定要先按照下面的方法来安装:
i) 确保已经按照前面的 4)开启了小黑板的 USB 调试模式,然后使用 USB 数据线将小黑板连接到电脑;
ii) 打开电脑的设备管理器(开始 ——> 所有程序 ——> 附件 ——> 系统工具 ——> 控制面板,然后 硬件和声音 ——> 设备管理器);
iii) 先展开“其他设备”;
iv) 右键单击任意条目,选择 “扫描检测硬件改动”,当 “其他设备” 中出现 “ThinkPad Tablet” 时,右键单击它,选择 “更新驱动程序软件”,根据提示选择 “浏览计算机以查找驱动程序软件(R)”,根据提示,点击 “浏览”,定位到上面 a) 中下载并解压得到的文件夹(adb driver),勾选下面的 “包含子文件夹”,按提示更新驱动。如下图所示。
v) 安装成功后,在 “设备管理器” 列表的上面会出现 Android Phone 条目,如下图所示。
而此时,便携设备中显示的是未识别的 MTP USB。重新启动小黑板就正常了。
vi) 如果不行,就右键点选“便携设备” ——> “Lenovo ThinkPad Tablet” 并卸载此硬件,然后重复 iv)。
6)进入小黑板的 Recovery (恢复)模式。¶
a) 在 USB 数据线连接小黑板的情况下,关闭小黑板(长按电源键,提示是否关机的时候选择确定);
b) 重新开机,在看到白色 Lenovo 标志的时候(刚按了电源键,振动了一下,马上就显示了,此时正在加载系统),连按几次音量增大键,此时可以看到平板的左上角出现一行英文字母,马上就会进入 Recovery 模式了,进入后可以看到如下图所示的界面。看到这个界面,暂时先不要操作小平板了。
7)如果……¶
如果已经成功安装了 adb 驱动,跳过这一步直接到下面的 2. 开始 ROOTing 8),否则再次在电脑里执行前面的第 5)步以安装 ADB 驱动。如果还不能成功安装 adb driver,可以与我联系。
8)重起小黑板并重新设置 USB 调试模式。¶
把小黑板与电脑断开,重新启动小黑板。重起后再重新按照 4)的方法打开小黑板的 usb 调试模式。(2012.04.10 按照菜菜的回复增加此条。)然后继续下面的步骤 2。
2. 开始 ROOT¶
这一步虽然看着很复杂,可是在高手提供的指导方法下,着实简单。但是一定要注意,下面所有的命令都不能搞错了。所以,还是不要从键盘一个字符一个字符的输入了。复制一个命令行,到命令行窗口(下面会提示如何打开这个命令行窗口)里单击鼠标右键,选择 “粘贴” 就可以了。
1)在电脑里启动远程命令行窗口。¶
在计算机里找到前面 1. 3)中解压得到的文件夹 yareftpt
。按住键盘 shift,同时鼠标右键点击 yareftpt
文件夹,选择 “在此处打开命令窗口”。这就是上面提到的那个命令行窗口了。通过这里,就可以操作小黑板里面的 Android 系统,当然是通过 Linux 命令行的方式。如下图。
2)使小黑板产生溢出漏洞。¶
a) 现在看看小黑板,应该还是在刚才那个 Recovery 界面。
b) 按音量键(现在变成上下键了),选定 “apply update from external storage”,然后按一下电源键(现在变成确定键)了。等待它完成,完成后能看到下面的界面,提示应用更新出错 ”Installation Aborted”。
目的达到,现在就可以通过 youftpt 那个远程命令行界面对小黑板内部的安卓系统进行操作了。后面就开始想办法修改权限 —— 当然,高手已经写好了指令和软件,咱照着操作就行了。
c) 再通过音量键选择 “wipe cache partition”,通过按一下电源键确认,让它执行完毕(很快的)。
3)开始 ROOTing 吧。¶
这时候,在电脑上的那个 yareftpt 远程命令行窗口依次输入下面的命令,并按回车键(电脑键盘上的 Enter 键)确认,让它执行完毕。
注意:
- 每行一次,不能一次复制几行。
- 回车后自动换行,并且没有提示错误信息(比如包含 error 或者 no device 或者 not found 之类的词语),就表示成功了,继续输入下一条。
- 如果不成功,就是前面的某个步骤没有做对。
adb shell "/system/bin/mkdir /data/local/pwn" adb shell "/system/bin/mkdir /data/local/pwn-bak" adb shell "/system/bin/cat /system/etc/install-recovery.sh > /data/local/pwn-bak/install-recovery.sh.orig" adb shell "/system/bin/mkdir /cache/recovery/pwn" adb push su /cache/recovery/pwn adb shell "/system/bin/rm /cache/recovery/log" adb shell "/system/bin/ln -s /system/etc/install-recovery.sh /cache/recovery/log" adb shell "echo \"/system/bin/chmod 777 /cache\" >> /tmp/recovery.log" adb shell "echo \"/system/bin/mount -t ext4 /dev/block/mmcblk0p4 /cache\" >> /tmp/recovery.log" adb shell "echo \"/system/bin/chmod 777 /cache\" >> /tmp/recovery.log" adb shell "echo \"/system/bin/mount -oremount,rw -t ext4 /dev/block/mmcblk0p4 /cache\" >> /tmp/recovery.log" adb shell "echo \"/system/bin/chmod 777 /cache\" >> /tmp/recovery.log" adb shell "echo \"/system/bin/chmod 777 /cache/recovery\" >> /tmp/recovery.log" adb shell "echo \"/system/bin/chown root /cache/recovery/pwn/su\" >> /tmp/recovery.log" adb shell "echo \"/system/bin/chmod 4777 /cache/recovery/pwn/su\" >> /tmp/recovery.log"
4)回到小黑板上,选择 “disable battery discharge”,确认,等它执行完毕。¶
5)回到电脑的命令行窗口,使用下面的命令(方法同前)¶
adb shell "/system/bin/rm /cache/recovery/log"
6)再回到小黑板上,选择 “reboot system now”,确认,等待小黑板重新启动,进入安卓系统。¶
我在进入安卓系统之后收到了错误提示。实践证明这个没影响。错误提示如下:
这是可以理解的,刚才我们的确进行了一次升级,而且知道它会失败。不失败我们还没法破解呢。可以不理它,点击“确认”关掉提示。
另外,为了下面的执行更顺利,最好把小黑板的屏幕延时关闭和自动锁定都关掉。当然,不关掉也没事儿。
7)继续到远程命令行窗口执行下面的命令。还是每次一行。¶
下面一组前面 4 个命令是要向小黑板里面上传文件(push),所以命令执行后会看到传输速度提示,无碍。
adb push Superuser.apk /data/local/pwn/Superuser.apk adb push busybox /data/local/pwn/busybox adb push su /data/local/pwn/su adb push pwn-in.sh /data/local/pwn/pwn-in.sh adb shell "/system/bin/chmod 777 /data/local/pwn/pwn-in.sh"
继续以下命令,
adb shell
此时,在命令行窗口的最下一行命令之后,应该会出现一个 $ 符号。正常!
继续,
/cache/recovery/pwn/su
如果 $ 符号现在变成了 # 符号,表示已经拥有了临时的 root 权限。
提示 2012.05.03:
最近有 3 位朋友反映,到这里会出现 Permission Denied 的情况。我没有机会测试,不知道是怎么回事,也无法提供解决方案。请注意!
不过同时也有别的朋友说可以成功。我没有机会测试,暂时还不知道是怎么回事。
2012.05.03 提示:
有人可以先刷刷 CWM Recovery 然后再 Root 成功的,建议直接 Root 不成功的朋友试试看。我现在没时间测试这个教程:
51nb上的总结:http://forum.51nb.com/thread-1192496-1-1.html
国外论坛的原文:http://forum.xda-developers.com/showthread.php?t=1458212
还需要继续,
/system/bin/mount -oremount,rw /system cat /system/xbin/su > /data/local/pwn-bak/xbin-su
8)快结束了 :D¶
a) 如果此时看到最后一行有出错提示:
/system/xbin/su:No such file or directory
那么恭喜,快完成了。继续,
/data/local/pwn/pwn-in.sh
得到提示:
you should ...
意思是已经 ROOT 完成,重起小黑板就可以了。
b) 如果没看到那行错误提示,嗯,好吧,估计不会,所以先省略了。如果你确实没碰到那行错误提示,请留言。当然,也可以跳转到 ref 3 那个帖子继续。
3. 总结¶
唉,没想到写这个记录比按照高手的指导搞破解费时间多了。向高手致敬!套用 VPSEE 的一句话,有了 ROOT,你还需要什么呢?!
4. Unroot¶
当然,如果 ROOT 之后又希望恢复到没有 ROOT 的状态(比如需要送到联想售后维修了),也是可以的。
1)参考前面 2. 中 1) 的方法打开 ADB shell 远程命令行窗口;
2)执行下面的命令,
adb shell su
此时小黑板可能会问你是否授权执行 root 身份,当然要同意了。
3)依次在 ADB shell 远程命令行窗口执行下面的命令,
mount -o rw,remount /dev/block/system /system rm /system/app/Superuser.apk rm /system/xbin/su rm /system/bin/su
4)重起小黑板,已经没有 root 权限了。
5. 参考资料¶
- ref 1: Dan Rosenberg » Rooting the Thinkpad Tablet
- ref 2: ThinkPad Tablet Forum » How To Root And Unroot The ThinkPad Tablet
- ref 3: yareftpt – yet another root exploit for TPT
- ref 4: 51nb 专门网 » 所有版本都可以完美ROOT了!(已附详细教程)
- 非常感谢菜菜通过自己的实践对本文的补充。
本文发表于水景一页。永久链接:<http://cnzhx.net/blog/tpt-rooting/>。转载请保留此信息及相应链接。
汗…
不是有一键root么!
这么麻烦啊…
安卓刷回原厂包又不麻烦…
3个键加5分钟…
唉,查了半天资料才回复得了你这条留言。
实际上这个完美 ROOT 方案直到今年 3 月 18 号才出炉。
之前有网友留言说,“让联想做个稳定点的定制系统就那么难,让他们搞这个防root的倒成了世界难题”。(via)
虽然此前也有 ROOT 方案,但是很难成功,更别说一键搞定了(via 1, via 2)。存在诸如“ROOT以后无法UNROOT失去保修,可以UNROOT之后无法官方升级,ROOT以后无法再UNROOT种种问题。而且官方升级以后ROOT就失效了,而且不能用同样的方法再ROOT”之类的问题。(via)
国外论坛上,网友还为此搞了 2 次悬赏(via 1, via 2)。
不容易吧。
呃呃呃…刚才回复的怎么消失了…
联想真悲剧…
话说我的两个——安卓2.3(手机htc),3.0(平板蓝魔)都是一键root搞定…而且反复n次
问…如果刷回联想官方rom。保修还会失去么?
那么联想的不是就不能刷机了?
买安卓就是为了折腾!
暂时还没有考虑刷 ROM 的事情。看论坛的讨论,似乎挺麻烦的。
额…rom都不知道多少回了
不会联想的刷rom还要特殊步骤吧!
我的那两个步骤差不多…
下载rom包…解压到空白存储卡
有zip的那个目录全部移到存储卡根目录
删除解压后的目录(这就是刷机卡了)
然后按3个键(网上有,一般3个)进入安卓的维护模式
选第3还是第4个(不同品牌不同)从存储卡安装
等待5-10分钟自动重启…
ok
刷机完成…取出存储卡或格式化存储卡
TPT 也提供了从外置存储卡升级 ROM 的选项。看来是没有多少难度吧。
用本文的方法获取 ROOT 的方法好处在于没有对原有系统进行破坏(自己获取 ROOT 之后用别的方法破坏的不算),所以不会造成保修问题。
不过坏处也是显而易见的,很容易被联想通过简单的更新而失去 ROOT。而且,据说很难第二次通过这样的方法获取 ROOT。
请教水景版主:
1、驱动无法安装的问题,按照您所说的两种方法都用了,也不行,请问还有何好的法子?
2、在上述文章中,在输入命令时,只要自动回车就算成功了,我在操作时,老是提醒找不到设备,这时也会自动回车的。难道也是成功的标志?建议在文中对输入命令后的结果也给予发表。
3、在disable battery discharge一步时,老是没有结果,disable battery discharge后一直是省略号,而没有操作完成的任何提示,有何原因,请赐教,谢谢!
已经root,特此立帖以表感谢!
非常感谢你前面的反馈建议。现在问题都解决了吧?何不就你前面提出的问题谈谈感想?时间一长我就记不清楚很多细节了。
昨天root 成功,在此过程中,也费了些周折,现将个人周折中的一点感悟与大家分享,希望对想root的机友能有所启发:
1.关于驱动安装问题:这一步就按着水景版主的方法安装,第一种方法不行,可以试第二种,但在按第二种方法安装完驱动后,一定要把小黑与电脑断开后重启,再设置中打开usb调试选项。因为我在此费了不少周折,在rocovery 模式下安装了驱动以后,小黑的usb调试设置就已经发生了变化,所以一定要重启,重设后,再进行后继的其它步骤。
2、关于输入命令如何算成功的问题,我是这样理解的,不管操作是否成功,命令提示符都会自动回车,可以没有任何提示,但关键不能出现诸如:no device之类的错误提示。如果出现此类提示,肯定是不成功的。
3、在disable battery discharge一步时,老是没有结果,disable battery discharge后一直是省略号,而没有操作完成的任何提示。经过昨天的实际操作,可以不用管它,在执行这一步时,时间很短,不用等它出现completed的提示。
4、root 能否成功的一个很重要的里程碑是命令提示符变成#,如果这一点实现了,基本也就ok了,否则,还得重来。一点周折中的感悟,不一定正确,也许是瞎猫碰了死耗子,请各位悠着点拍,谢了!
看篇幅我都晕了,你可真能折腾,这点与我党一贯主张成尖锐对立。
我用Android也算有一段时间了,从来不root。
哈哈,篇幅太长是因为废话太多了。
我这也是被我党和联想逼得,没办法。
引用通告: ThinkPad Tablet 之安装 Google 服务 | 水景一页
安装ADB驱动没办法安装怎么办,直接到第6步么?
是的。文中已经做了说明。
ROOT 已成功,就是不知道如何UNROOT,输入SU命令老提示不是内部命令
不好意思,少写了一条命令。请再看:http://cnzhx.net/blog/tpt-rooting/#unroot
我走到7.recorvery内选择reboot 确认重启,等待进入系统后解锁,(最好把屏幕延时和自动锁定都关掉)还是正常,和你说的一样,可是到下面就输入不了了,写什么error:
device not found
8.命令行继续输入以下命令
adb push Superuser.apk /data/local/pwn/Superuser.apk
adb push busybox /data/local/pwn/busybox
adb push su /data/local/pwn/su
adb push pwn-in.sh /data/local/pwn/pwn-in.sh
adb shell “/system/bin/chmod 777 /data/local/pwn/pwn-in.sh”
这个我要是重启后进系统中怎么写也还是这句话(error:
device not found),要是进入recovery里前三句可以写,有速度显示,第四句写不进去,提示-exec ‘system/bin/sh’ failed:No such file or directory-
请问这个怎么办?我应该怎么做才好?
文中有写到。
也就是说,第7步重启没有问题,就是进系统后不能写命令?!重新进入recovery里,可以写前三个命令!
博主您好,我按照您的文章,以及您给出的一些链接操作,发现每次到adb shell之后运行su获得临时最高权限那一步总是失败,提示permission dennied。但是我不知道是哪里出了问题,我可以确定我严格按照您的文章中写到的方法操作了,电脑的ADB驱动也确实装好了,因为tablet在正常运行和recovery模式下都能正常显示lenovo adb interface的硬件的~
那么问题会出在哪里呢?我的电脑一直没有识别MTP USB这个硬件,会和它有关么?
肯定博主帮忙啊~~~
另外,由于我这个tablet是刚刚买的,有没有可能联想在新发放的tablet产品中专门针对用户的root行为做了修改呢?
这个不会吧。如果他要阻止 Root 的话,放一个更新出来就全都搞定了。
我也就是猜测啊……因为我从昨晚到现在已经按照几个不同版本的root教程做了不下十遍了,但是每次都在相同的地方 出问题~还有个问题,除了第一次意外,是不是后头每次root的时候在recovery模式下运行的最前头两句话就都会提示失败啊?因为我看失败的错误提示是文件夹已存在,那两个命令确实是建立文件夹,所以应该没影响吧?后头的命令输入就都是光自动换行了,除了传输数据的push命令~
还是急需帮助中啊……
是你理解的这样。
Permission denied 肯定是因为前面什么地方搞错了。估计是第 2 大步的 2)、3)或者 7)之中的某个地方有问题。注意看命令执行的输出结果。如果有可能的话就都截图,我可以帮你看看。
我也遇到过这样的事情。只能重新做一遍。
但是重做到第 2 步的第 6)小步那里的时候不要点击确定,而是直接跳到第 7)小步试试看。并且,注意看第 7)小步的前 5 条命令执行的结果是不是有什么错误。
如果你不确定有什么错误没有,可以你可以截图下来发到我邮箱,我帮你看看有没有错误。因为这些命令都是在 Windows 下的命令行窗口里执行的,很容易截图。
恩~那我根据您的建议再试试去哈~非常感谢啊~
不客气……如果有什么发现,希望能反馈一下。
博主您好,这是我刚才尝试root的cmd操作记录:
进入recovery模式,安装更新,提示installation aboard,再wipe cache partion,之后再cmd下输入命令如下。
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /data/lo
cal/pwn”
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
mkdir failed for /data/local/pwn, File exists
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /data/lo
cal/pwn-bak”
mkdir failed for /data/local/pwn-bak, File exists
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/cat /system/et
c/install-recovery.sh > /data/local/pwn-bak/install-recovery.sh.orig”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /cache/r
ecovery/pwn”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push su /cache/recovery/pwn
466 KB/s (22364 bytes in 0.046s)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/rm /cache/reco
very/log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/ln -s /system/
etc/install-recovery.sh /cache/recovery/log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
77 /cache\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/mount –
t ext4 /dev/block/mmcblk0p4 /cache\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
77 /cache\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/mount –
oremount,rw -t ext4 /dev/block/mmcblk0p4 /cache\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
77 /cache\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
77 /cache/recovery\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chown r
oot /cache/recovery/pwn/su\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 4
777 /cache/recovery/pwn/su\” >> /tmp/recovery.log”
在recovery里选择disable battery discharge
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/rm /cache/reco
very/log”
选择reboot system重新启动tablet之后进入系统,看到升级失败的错误提示(这里我试了一下不选择“确定”而是直接开始下面的push命令~)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push Superuser.apk /data/local/pw
n/Superuser.apk
1246 KB/s (843503 bytes in 0.661s)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push busybox /data/local/pwn/busy
box
1253 KB/s (1867568 bytes in 1.455s)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push su /data/local/pwn/su
1399 KB/s (22364 bytes in 0.015s)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push pwn-in.sh /data/local/pwn/pw
n-in.sh
38 KB/s (1232 bytes in 0.031s)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/chmod 777 /dat
a/local/pwn/pwn-in.sh”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell
$ /cache/recovery/pwn/su
/cache/recovery/pwn/su
/cache/recovery/pwn/su: permission denied
$
不知道我这样做到底是哪里出问题了呢?
我用到的升级补丁,root程序和ADB driver都是按照文提供的地址下载的,在计算机里不管tablet处于recovery模式还是正常在系统中,都可以识别为lenovo thinkpad tablet ADB interface。
我已经完全被打败了……只能来求助了……
真是同情你啊。
如果在你最后出错的这个地方先输入:
adb shell “/system/bin/chmod 777 /cache/recovery/pwn/su”
然后再继续呢?你可以试试看。
HaoXian Zeng您好,这是我按照您的建议操作的记录:
Apply update from external storage
wipe cache partition
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /data/lo
cal/pwn”
mkdir failed for /data/local/pwn, File exists
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /data/lo
cal/pwn-bak”
mkdir failed for /data/local/pwn-bak, File exists
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/cat /system/et
c/install-recovery.sh > /data/local/pwn-bak/install-recovery.sh.orig”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/mkdir /cache/r
ecovery/pwn”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push su /cache/recovery/pwn
949 KB/s (22364 bytes in 0.023s)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/rm /cache/reco
very/log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/ln -s /system/
etc/install-recovery.sh /cache/recovery/log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
77 /cache\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/mount –
t ext4 /dev/block/mmcblk0p4 /cache\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
77 /cache\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/mount –
oremount,rw -t ext4 /dev/block/mmcblk0p4 /cache\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
77 /cache\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 7
77 /cache/recovery\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chown r
oot /cache/recovery/pwn/su\” >> /tmp/recovery.log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “echo \”/system/bin/chmod 4
777 /cache/recovery/pwn/su\” >> /tmp/recovery.log”
Disable battery discharge
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/rm /cache/reco
very/log”
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push Superuser.apk /data/local/pw
n/Superuser.apk
1326 KB/s (843503 bytes in 0.621s)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push busybox /data/local/pwn/busy
box
1316 KB/s (1867568 bytes in 1.385s)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push su /data/local/pwn/su
949 KB/s (22364 bytes in 0.023s)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb push pwn-in.sh /data/local/pwn/pw
n-in.sh
150 KB/s (1232 bytes in 0.008s)
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/chmod 777 /dat
a/local/pwn/pwn-in.sh”
第一次使用Haoxian Zeng建议的命令
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell “/system/bin/chmod 777 /ca
che/recovery/pwn/su”
“/system/bin/chmod: not found
E:\Thinkpad Tablet\root\yareftpt2\yareftpt>adb shell
第二次使用Haoxian Zeng建议的命令
$ adb shell “/system/bin/chmod 777 /cache/recovery/pwn/su”
adb shell “/system/bin/chmod 777 /cache/recovery/pwn/su”
* daemon not running. starting it now on port 5038 *
* daemon started successfully *
error: device not found
$ /cache/recovery/pwn/su
/cache/recovery/pwn/su
/cache/recovery/pwn/su: permission denied
$
貌似是出现了device not found的错误,不知道是和adb driver的安装有关么?
我在设备管理器里检查,android device下的adb interface硬件工作正常,便携设备下的Lenovo Thinkpad Tablet不正常。
有这方面的问题么?
十分感谢您的帮助!
照你描述的情况,我分析可能原因是:
1、溢出漏洞没有完成,导致后面一系列 echo 进去的命令没有按照预想执行(而且你也看不到反馈信息,因为是在重起过程中自动执行的)。这样的话基本上没可能通过这样的方法 ROOT 了。
2、ABD 驱动没装好。你提到的那个不正常不知道是什么,应该是没有的。
如果需要,我明天晚上可以帮你看看。
十分感谢您的热心帮助!
如果用这个升级包无法制造溢出漏洞的话,是不是需要换其他升级包试试或者寻找其他方法制造溢出漏洞呢?
请问如何和您取得联系?我明天晚上恭迎大驾光临啊~~~:-)
别的方法暂时还没消息。
可以看 about 页面的联系方式。
博主你好,我请问关于THINKPAD ROOT(http://cnzhx.net/blog/tpt-rooting/)中,我操作到
2)使小黑板产生溢出漏洞。
a) 现在看看小黑板,应该还是在刚才那个 Recovery 界面。
b) 按音量键(现在变成上下键了),选定 “apply update from external storage”,然后按一下电源键(现在变成确定键)了。等待它完成,完成后能看到下面的界面,提示应用更新出错 ”Installation Aborted”。
这步,按了电源键之后没有 ”Installation Aborted”,而是“E:failed to mount / sdcard (no such file or directory)”.
请问,该怎么办?
1)不是 root,而是正常情况下,你的系统能看到插入的 SD 卡里的文件吗?
2)如果上述答案肯定,你是否将下载的那个文件放到了 SD 卡的根目录?
搞定了,发现之前的原因可以通过利用THINKPAD TABLE中,“设置—存储—格式化SD卡”解决。
那是因为你的 SD 卡格式不对了。弄好了就成。
Root 成功了吧?
root没有成,
“/cache/recovery/pwn/su”后
$ 符号没有变成了# 符号,怎么回事呢?之后就显示“permission denied”
最近,包括你,有3个人反映这样的情况了。看来是这个方法不好用了吧。
我没有机会测试,说不准。
那有办法解决没?
我也不知道。对不起。
那请问,之前这样ROOT到一半,开机出现ERROR,对于机器有影响吗?
这个可以确定的告诉你,没有影响!
我这几天主要是没时间,不然就通过远程协助帮你看看了。
我也是出现了“permission denied”
这个还没有解决方法吗?我也是全新机器,以前没有root过啊
我甚至都没机会测试一下,哪里去找解决方法啊。
引用通告: 关于 ThinkPad Tablet 小黑板 Root 的问题 | 水景一页
root成功。谢楼主。
嘿,奇怪了,前面几个都是留言说不成功的。看来真是个体差异啊。
感谢楼主 root成功
恭喜啊,也感谢你留言说明。
楼主好,非常感谢详细教程,请问我的电脑在连接小黑板后提示MTP设备驱动怎么回事?是XP系统
应该是 ADB 驱动没有装好(http://cnzhx.net/blog/tpt-rooting/#adb-driver),你多多摸索,重新安装试试。
引用通告: 升级 ThinkPad Tablet 到 ICS4.0.3 | 水景一页
我的tablet 进入安卓系统后在pc的设备管理器中能看到android device下的adb interface,便携设备下的Lenovo Thinkpad Tablet;但是在recovery模式下,就看不到这些,为什么呀!!
我的也是这样啊。估计是因为系统没有加载就不向 Windows 通知自己“上线”了吧。
这种情况再继续root的话 ,就出现了error device not found
这个就搞不清楚了。
你的小黑板现在是哪个版本啊?
谢谢博主的热心,我的升级成了4.03,回复出厂值发现版本还是4.03
引用通告: 工程模式 ROOT ThinkPad Tablet | 水景一页
PC端:Win7 32bit
黑板端:4.03
小黑板处于正常开机时,windows可以认出android phone(Lenovo ThinkPad Tablet ADB Interface)和便携设备(Lenovo ThinkPad Tablet)。
进入Recovery模式后,更新溢出报错–>清除缓存,都没有问题。然后使用yareftpt 远程命令行进行root,第一句命令执行后可以在命令行看到一个写入的过程(出现了两行* xxxxxx *),但最后报了个device not found。
再次尝试时发现,recovery模式下,windows认不到设备了。运行命令直接报no device了。
你说的第一句命令是指的 2.3) 那里列出的命令吧? mkdir 表示创建文件文件夹。前面几行命令没有实质性的改变什么东西,应该不会造成系统问题。
据说 4.0.3 版本已经修复了此漏洞,你应该先试试 http://cnzhx.net/blog/apx-root-thinkpad-tablet/ 这个方法,这才是针对 4.0.3 系统的方法。