转载

使用Dirty COW获取T-Mobile LG V20机型Root权限

使用Dirty COW获取T-Mobile LG V20机型Root权限

自 LG 最新的旗舰手机 LG V20 发布以来,已经有一个多月了。作为 LG 全新推出的旗舰机,尽管有些 小小的不足 ,但仍然在亚马逊上的手机关注排行榜上,引起了诸多的关注。但就像我们使用其它大多数 Android 手机一样,如果我们想要更好的使用它,那么我们就必须取得它的 Root 权限!

但不幸的是,这款 LG 手机并不像之前的 LG 版本,可以通过 LGPU 的 KDZ 或者 TOT 来进行刷机,从而获取到 root 权限。这也就意味着,我们必须使用其它的方法,来完成 root 的操作!这里简单介绍下 KDZ 和 TOT: KDZ指的官方刷机包,因为官方刷机包的扩展名是KDZ。TOT是 LG 售后用的刷机包,和 kdz 是类似的,文件扩展名是tot。不过 TOT 不是官方对普通用户公开下载的。目前TOT有2种版本,一种是原版的官方TOT 一种是经过修改后的TOT,比如加入了ROOT的TOT等。

但幸运的是,随着一个被称为 Dirty COW(脏牛)的漏洞被披露后,我们便有了可以实现对类 H918 的 LG V20 实现 root 的操作方法。 但想要实现并非那么容易,你必须严格遵循以下操作步骤,下面我将详细介绍具体的实现过程。

要求

  1. 美版运营商 T-mobile 定制机型 LG V20 H918
  2. Windows , Mac , 或 Linux 电脑
  3. USB数据线

开始之前

首先,在正式开始使用这个方法进行 root 操作之前,请确保已经将你手机比较重要的数据进行备份存储。大多数应用程序,将备份在你的 Google 帐户,登录后便可恢复及还原,但像你的照片和 MP3 库之类的个人文件,应该在开始之前,备份到外部存储设备上。

在操作过程中,我们会使用 ADB 和 Fastboot 的命令。因此,建议你在操作之前最好对这两个工具的基本使用命令,有一定的了解。 如果没有,则请确保完全遵循我的操作步骤,否则可能会对你的设备造成破坏。

最后,在这里我要感谢 XDA 的开发研究员 James Addunono 修改了 脏牛的利用脚本 ,并编译了 TWRP 使其支持用于 LG V20 的 root 操作!

Step 1.安装 LG 所需的驱动程序

在开始之前,请在你的 Windows 或 Mac 上,安装适用于 LG 的驱动程序,以便手机和你的计算机能够正常实现连接及通信。安装完成后需重启你的计算机,以保证驱动的正常使用。

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 2. 安装 ADB & Fastboot

接下来,我们需要在计算机上安装 ADB 和 Fastboot 。建议你从 Google 上下载官方版本!

具体安装过程请参照这篇文章: http://android.wonderhowto.com/how-to/android-basics-install-adb-fastboot-mac-linux-windows-0164225/ 这里就不做过多说明了。

Step 3. 使手机支持开发者模式

有很多人会发现, LG 手机似乎在设置选项内找不到 开发者模式 的选项。其实 LG 并非没有做 开发者模式,而是将其隐藏了起来。我们只要依次点开:设置>常规>关于手机>软件信息,找到 内部版本号 这个选项别犹豫,狂点 7 次后,再退出当前界面,你就会发现呈灰色的 开发人员选项 了。

具体操作方法可参照本文: http://android.wonderhowto.com/how-to/android-basics-enable-developer-options-usb-debugging-0161948/

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 4. OEM 解锁

部分手机系统带有 OEM 锁,如果要进行刷机操作,则必须先打开 OEM 锁并启用 OEM 解锁功能。否则,将会导致无法正常进行刷机操作。打开方式:设置 >开发人员选项,然后打开“OEM解锁”选项,并在提示时按“启用”按钮。

具体操作方法可参照本文: http://android.wonderhowto.com/news/psa-enable-hidden-setting-before-modding-anything-android-0167840/

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 5. 支持 USB 调试

当完成以上操作后,在当前界面向下滚动一点,我们就可以看到“USB调试”设置,我们同样将它启用。

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 6. 将手机连接到计算机

接下来,我们就可以使用 USB 数据线将手机连接到计算机上了。注意:你可能需要将手机置入到 PTP模式(用于图像传输)。并点击手机插入后显示的 USB计算机连接通知,然后从弹框中选择“照片传输”选项。

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 7. 在计算机上打开 ADB Shell

现在,我们在计算机上找到并打开 ADB 和 Fastboot 的安装目录。 对于大多数 Windows 用户,我们可以在 C:/ Program Files(x86)/ Android / android-sdk / platform-tools 中找到它。 对于 Mac 和 Linux 的用户,这需要根据你自己实际解压缩 ADB 文件夹的位置,来进行查找。如果你忘记了安装的路径,则只需在硬盘驱动器上搜索 platform-tools 也可以找到它。

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 8. 启动 ADB

接下来,我们在命令提示符下键入 adb start-server 命令。完成后,手机上会有弹框询问是否接受调试,我们勾选并选择 OK 即可。

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 9. 解锁启动加载

注意:以下此步骤将擦除手机所有数据,并将手机恢复出厂设置!

通过在 ADB shell 中键入 adb reboot bootloader 重新启动到 Fastboot 模式。 一旦你的手机处于 Bootloader 模式(也称为快速启动模式),请键入 fastboot oem unlock 。 此时,你会在手机上看到一条确认消息,询问你是否要解锁引导加载程序,通过按电源键来确认你的选择。

完成以上操作后,我们使用命令 fastboot getvar all 来检查引导加载程序锁的当前状态。以确保你的引导加载程序已处于解锁状态。然后通过键入 fastboot 重启并回到你的手机。

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 10. 重新启用 USB 调试

重新启动后,你将进入初始欢迎和设置界面。 跳过那些不必要的选项,我们的目标是获取 ADB 的操控权。然后当进入主界面,我们只需重复上面 3-8 的步骤,来启用 USB 调试 即可。

Step 11. 下载所需的开发文件

现在我们通过下面的链接,下载 4 个所需的二进制文件, TWRP 和 SuperSU 到你的计算机上。

  1. 4 个二进制文件
  2. TWRP 刷机工具
  3. SuperSU

下载完成后,我们需要将所有下载的文件,移动到 ADB 和 Fastboot 的安装目录下的 platform-tools 文件夹内。如果你不确定此文件夹的位置,请按照上述步骤7 的方法查找。

注意:XDA 高级会员 bezeek 已经将步骤 11 和 12 一键自动化集成了。 但是,我还是建议大家手动来执行这两个步骤。因为,这种一键式操作极易导致我们的手机,开机死循环,甚至变为“砖”。

Step 12. 将脏牛文件拷贝至手机

回到计算机上的命令提示符或终端窗口,一次输入以下命令。 之后,我会简单解释下这些命令的作用。

adb push dirtycow /data/local/tmp

adb push recowvery-applypatch /data/local/tmp

adb push recowvery-app_process64 /data/local/tmp

adb push recowvery-run-as /data/local/tmp

上面的 4 条命令会将脏牛的文件放置到手机,以便我们后续的使用。

adb shell

cd /data/local/tmp

chmod 0777 *

上面的这几条命令会修改脏牛文件的读写权限,使该文件具备读写权限。

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 13. 执行脏牛文件

接下来,我们键入以下命令,来执行手机上的脏牛 exploit 。

./dirtycow /system/bin/applypatch recowvery-applypatch

完成以上操作后,我们继续键入以下命令:

./dirtycow /system/bin/app_process64 recowvery-app_process64

在上面的命令执行后,你可能会发现,此时你的手机看起来像处于崩溃的状态。 等它完成后我们再继续。

exit

使用Dirty COW获取T-Mobile LG V20机型Root权限

adb logcat -s recowvery

使用Dirty COW获取T-Mobile LG V20机型Root权限

这里我们耐心等待 脏牛EXP 被执行,在进入到下一步之前我们必须保证它已被成功执行!

使用Dirty COW获取T-Mobile LG V20机型Root权限

现在,在继续接下来的命令操作之前,我们需要按键盘上的 CTRL + C 来结束当前的进程,并启动一个新的进程。

adb shell reboot recovery

adb shell

getenforce

执行完以上操作后,如果你在屏幕上看到“Permissive”提示,则说明这步操作成功!

Step 14. 安装 TWRP

接下来,我们将安装 TWRP,这对我们之后是否能永久获取 root 权限,尤为重要。

cd /data/local/tmp

./dirtycow /system/bin/run-as recowvery-run-as

run-as exec ./recowvery-applypatch boot

等待它刷新你的启动镜像!

使用Dirty COW获取T-Mobile LG V20机型Root权限

这里是在刷新我们的启动镜像和禁用一些安全功能,以便我们可以在安装后启动 TWRP。

使用Dirty COW获取T-Mobile LG V20机型Root权限

run-as su

exit

exit

adb push twrp-3.0.2-1-h918.img /sdcard/twrp.img

adb shell

run-as exec dd if=/sdcard/twrp.img of=/dev/block/bootdevice/by-name/recovery

在这里,我们只是用 TWRP 替换了 Android 的 Recovery 模式。

使用Dirty COW获取T-Mobile LG V20机型Root权限

完成以上操作后,接下来我们重启 Recovery :

reboot recovery

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step15. 设置 TWRP 启动

如果你很快的重启成功,表示你已经进入到 TWRP 。 此时,TWRP将询问您是否要启用系统修改。这里我们向右滑动选择 允许修改 。否则,下次启动系统将不会从 TWRP 启动!

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 16. 解密设备存储

接下来我们使用 “格式化数据”选项取消设备加密。键入 yes,然后点击复选标记。

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 17. 使用解密存储重新启动TWRP

回到 TWRP 的主界面,并打开重新启动选项,选择“重新启动恢复”选项。

使用Dirty COW获取T-Mobile LG V20机型Root权限

重启将使你直接回到 解密后的 TWRP ,并将允许你在 TWRP 下,闪存之前下载到设备 SD 卡上的 SuperSU ZIP 压缩包。

Step 18. 闪存 SuperSU 获取永久 Root 权限

现在是时候在 TWRP 中闪存 SuperSU 啦,这样我们就可以保持 root 激活,而不必每次打开手机时重复 脏牛 安装操作。

在 TWRP 中,打开高级选项,并选择 ADB Sideload,然后向右滑动它启动 Sideload 。

使用Dirty COW获取T-Mobile LG V20机型Root权限

接下来,找到你在步骤 11 中,粘贴到 platform-tools 文件夹中的 SuperSU-vXXX.zip文件,然后将该文件重命名为 SuperSU.zip。

之后,我们回到命令提示符窗口,键入以下命令:

adb sideload SuperSU.zip

然后按 Enter 键,开始 SuperSU 的安装。

使用Dirty COW获取T-Mobile LG V20机型Root权限

完成后,点击 TWRP 中的“重新启动系统”选项(此时你的手机将会重启好几次)完成后,你将获得一个全新的已被 root 的 Android 系统!

使用Dirty COW获取T-Mobile LG V20机型Root权限

Step 19. Root 权限验证

我们安装一个名为 Root Checker 的应用程序,来检测及验证我们是否已经成功取得 root 权限。

下载地址: https://play.google.com/store/apps/details?id=com.joeykrim.rootcheck

使用Dirty COW获取T-Mobile LG V20机型Root权限

首次启动该应用程序时,将会弹框请求 root 权限。我们点击“授予”,Root Checker 显示我们已经成功获取到 root 操作权限!

使用Dirty COW获取T-Mobile LG V20机型Root权限

*参考来源 : wonderhowto ,FB小编 secist 编译,转载请注明来自 FreeBuf (FreeBuf.COM)

原文  http://www.freebuf.com/vuls/122543.html
正文到此结束
Loading...