泄密无花 发表于 2023-1-9 12:53

安卓逆向笔记 - Nexus 5升级Android 6、开启全局调试模式和获取Root

# 0x00 前言

刚刚入坑安卓逆向,一边学习一边记下笔记

搜索了一下论坛中关于刷机的帖子很少,也是刚刚买了Nexus 5,正好来练习一下

之后这个笔记,我会陆陆续续更新

# 0x01 准备工作

1、下载镜像

6.0.1 (M4B30Z, Dec 2016)最后一个官方版本,Factory Image,点击底部接受条款才会显示下载链接

(https://developers.google.com/android/images)

下载直链

(https://dl.google.com/dl/android/aosp/hammerhead-m4b30z-factory-625c027b.zip)

2、下载 Android SDK

(https://developer.android.com/studio/releases/platform-tools)

3、安装 Google USB 驱动程序

(https://developer.android.google.cn/studio/run/win-usb?hl=zh-cn)

最新版本

(https://dl.google.com/android/repository/usb_driver_r13-windows.zip?hl=zh-cn)

> 下载完工具之后,请自行配置系统环境变量

# 0x02 开启永久全局调试模式

## 简介

一个进程是否可以调试是由进程启动时候的参数决定的:

1、普通的App进程如果是debug keystore默认是可以调试的,又或者在AndroidManifest里面指定debuggable为true也是可以调试的

2、对系统进程,我们只有采取系统级别的手段:让整个系统可以调试 - debug版或者编译参数debuggable为1的系统

3、解决这个办法很简单:使用模拟器(真机也行,限Nexus系列刷原生Android系统,把系统启动的debuggable参数修改为1)为了后面可以更好的调试APP,需要修改debuggable属性,如果没有刷入debuggable=1 属性,也可以使用Xposed模块来完成相同的功能

## 准备工作

下载 boot.img 解包/打包工具

Andorid unpack/repack boot/rececovery.img for Windows

[https://github.com/cofface/android_bootimg](https://github.com/cofface/android_bootimg)

## 操作步骤

1、将 **Nexus 5 image-hammerhead-m4b30z.zip** 的系统镜像解压

![大图预览](https://cdn.flowus.cn/oss/5d435f17-f897-4232-9df8-e598545e40d4/image.png?time=1673235000&token=0621cc8a1793b8bb9648d80376e42f8f)

2、在压缩文件中提取出 boot.img

3、并拷贝到 booting.exe 所在目录

4、打开 cmd 命令环境,执行 `bootimg.exe --unpack-bootimg` 命令对boot.img文件进行解压处理 (注意:存放的路径不要有中文,否则会报错)

!(data/attachment/forum/202301/09/124819p0k9vkxovqcyev9y.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

5、找到 `initrd` 文件夹下找到 `default.prop` 文件,修改文件中的 `ro.debuggable=0` 改为 `ro.debuggable=1`,记得保存

!(data/attachment/forum/202301/09/124934dpqff1ed9wn96q5f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

6、然后在cmd命令行执行 `bootimg.exe --repack-bootimg`,解压的文件夹会重新打包为新的img文件

!(data/attachment/forum/202301/09/125004okg1ikw0md0ek700.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

7、将 `boot-new.img` 改名为 `boot.img`,放回原来的压缩包里,替换原压缩包的 boot.img 文件

!(data/attachment/forum/202301/09/125024yx8nssistym8k1ti.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

# 0x03 刷入镜像

1、进入bootloader `adb reboot-bootloader` 或 关机状态下,电源键加音量下键不放,直到进入 fastboot mode 模式

2、不要直接执行刷机包中的 `flash-all.bat`,会报错且会导致手机无限重启

3、使用我下面提供的代码来进行刷机,复制替换 `flash-all.bat` 中的内容即可

```powershell
@ECHO OFF

fastboot erase cache
fastboot erase userdata
fastboot erase boot
fastboot erase cache
fastboot erase recovery
fastboot erase system

fastboot flash bootloader bootloader-hammerhead-hhz20h.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 >nul
fastboot flash radio radio-hammerhead-m8974a-2.0.50.2.30.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 >nul
fastboot flash recovery recovery.img
fastboot flash boot bootnew.img
fastboot flash system system.img
fastboot flash cache cache.img
fastboot flash userdata userdata.img

echo Press any key to exit...
pause >nul
exit

```

> 注意:脚本刷机还是会报错,哪一个步骤报错,就复制命令手动执行一次

# 0x04 Root

## 准备工作

> 注意:Root 包的 boot.img 默认是没有开启全局调试模式的;需要解包之后修改文件再进行打包刷入

1、进入开发者模式,打开USB调试

2、下载 Root 包

https://download.chainfire.eu/363/CF-Root/CF-Auto-Root/CF-Auto-Root-hammerhead-hammerhead-nexus5.zip

3、解压下载文件

```powershell
# Window下可以直接执行root-windows.bat

# Linux需要手动执行
cd tools
fastboot oem unlock 1>NUL 2>NUL
fastboot oem unlock 1>NUL 2>NUL
fastboot oem unlock-go 1>NUL 2>NUL
fastboot oem unlock-go 1>NUL 2>NUL
fastboot flashing unlock 1>NUL 2>NUL
fastboot flashing unlock 1>NUL 2>NUL
fastboot boot ../image/boot.img
```

机器重启后,Nexus5 会获得Root权限,并自动安装 SuperSU 权限管理软件

打开DDMS验证

!(data/attachment/forum/202301/09/124732hzh03r1e04pdldzd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

> 比较可惜,面具修补的 boot.img 暂时无法成功刷入,会导致手机无限重启,等之后解决了再修改笔记

lies 发表于 2023-1-9 23:53

谢谢分享!

曾经沧海 发表于 2023-2-25 22:53

学习了,膜拜大佬!!!

曾经沧海 发表于 2023-2-26 19:36

体验一下谢谢~

sjtkxy 发表于 2023-2-27 04:45

曾经沧海 发表于 2023-2-28 07:54

感谢!马上就试试!

一生逍遥 发表于 2023-3-24 18:10

这个很实用,谢谢分享。

PDWORD 发表于 2023-5-24 01:40

感谢分享

attackmyth 发表于 2023-5-24 16:55

继续学习
页: [1]
查看完整版本: 安卓逆向笔记 - Nexus 5升级Android 6、开启全局调试模式和获取Root