安卓逆向笔记(7)——动态调试之ro.debugable修改

文章目录

  • 绕坑指南
  • 工具
  • 开搞

绕坑指南

该文仅适用于Android 8.0 以下系统

Android 8.0 以上开全局可调式看这里

工具

  1. 安卓设备真机一台 :我的是LG-Nexus5X
  2. KingRoot :如果你的手机用KingRoot获取不到Root权限,那你自己想想办法,一般来说没问题
  3. ImageStudioForAndroid :用来修改系统镜像文件,重要的工具。
    通过下面的地址访问下载吧:
    链接:https://pan.baidu.com/s/1XviLQkMyOyZID10CuNo0kg
    提取码:xjat
  4. adb :自己百度一下怎么弄adb

开搞

首先,测试机一般都是价格便宜的过时的老设备(土豪喜欢用新设备我也只能仰望了,我用的魅蓝note2,那个时候,这手机刚出,个人认为性价比可是非常高的。无奈现在这破手机进不去fastboot mode,只能再买了一个nexus5X)

好了,废话不多说,开搞:

  1. 开启开发者选项:
    打开手机→设置→关于手机→版本号,连点7次版本号,显示隐藏起来的开发者选项,返回上一层菜单。看到在设置菜单里出现了开发者选项。
  2. 打开USB调试模式和OEM解锁:
    进入开发者选项,开启USB调试,OEM解锁,不锁定屏幕
    安卓逆向笔记(7)——动态调试之ro.debugable修改_第1张图片
  3. root一哈我们的手机:
    在手机上安装KingRoot,然后运行,自己研究一下怎么用,去获取Root权限
  4. 找到手机里的root.img:
    手机root,并设置好USB调试模式,连接电脑,打开dos,输入命令
adb shell

进入手机命令行模式

su

进入root权限用户,此时的输入提示符从$变为#。
开始寻找root.img。每个手机的路径可能不一样,我也不知道我的手机root.img在哪,大概就在/dev/block/platform/这个目录下,我只能一个目录一个目录找下去。先

cd /dev/block/platform/

cd到/dev/block/platform/,然后ls一下,只有一个目录,再cd,再ls,反反复复直到看到by-name目录
安卓逆向笔记(7)——动态调试之ro.debugable修改_第2张图片

然后cd到by-name目录,执行命令

ls -al

找到boot后面对应的目录,如下图:/dev/block/mmcblk0p37(mmcblk0p37就是我们要找的root.img了,每个手机不一样,我的是这个,你们找你们自己的root对应的东东),把对应的东东复制一下,后面要用
安卓逆向笔记(7)——动态调试之ro.debugable修改_第3张图片
5. 把root.img搞出来:
新打开一个dos窗口,进入手机的存储卡,我也不知道我手机的存储卡是哪个位置,我只知道第一个目录肯定是storage,进去之后如果有sdcard0和sdcard1,就进0,反正我的没有,我也知道肯定不是emulated目录,那就只能进另外一个目录了,好,cd进去,一路cd和ls,直到找到DCIM目录,看图:

安卓逆向笔记(7)——动态调试之ro.debugable修改_第4张图片
好了,进入能ls看到DCIM的目录之后,执行一下命令:

cp /dev/block/mmcblk0p37 ./

就把刚刚我们找到的boot文件拷出来了。如下图所示:

安卓逆向笔记(7)——动态调试之ro.debugable修改_第5张图片

为什么要cd到这?因为这个目录方便,为什么用cd+ls这么蠢的办法?因为我的手机find命令用不了,我也记不太清楚存储盘一般是怎么规定的了,你们可以百度查查,查完了,总结一下,来评论区教教我~
好了,boot.img文件搞出来了,但是名字很奇怪怎么办?待会儿我们重命名一下就好了,那现在我们先执行一下这个命令:

pwd

当前路径就打印出来了,这个DOS窗口留着,别关,后面要用这个路径,复制一下这个路径。

  1. 重命名并备份boot.img到我们的电脑:
    执行命令:
adb pull /storge/self/primay/mmcblk0p37.img boot.img

安卓逆向笔记(7)——动态调试之ro.debugable修改_第6张图片

执行上面的命令(用到了刚刚叫你不要关的那个DOS窗口的路径了吧,肚复制粘贴多方便~),boot.img就保存到了电脑上。保存到哪去了?我也不知道!搜一下吧,win10的话,直接按win+q,输入boot.img,好了,找到了,右键进入到哪个目录,剪切到桌面

7.解包root.img,修改ro.debuggable:
执行命令:

adb push C:\Users\35356\Desktop\boot.img /storge/self/primay

把剪切到桌面的root.img(注意你们自己的路径跟我不一样啊!),再丢到刚刚叫你不要关DOS窗口,还pwd一下的那个路径。
好了,接下来需要安装一下解包工具了,执行命令

adb install C:\Users\35356\Desktop\AndroidReverse工具包\Image_Kitchen_for_Android.apk

注意你们apk的路径。
手机上确认一下,安装开始~ bilili…bilili… ~安装完成,如下图:
安卓逆向笔记(7)——动态调试之ro.debugable修改_第7张图片
点它,黄黄的那个图标。

安卓逆向笔记(7)——动态调试之ro.debugable修改_第8张图片

进去之后,选择Unpack/Mount,在弹出的对话框,找到root.img,用力点一下它!(知道前面我为什么那么执着于那个路径了吗?哈哈哈!)
解包完成,如下图:

安卓逆向笔记(7)——动态调试之ro.debugable修改_第9张图片

点一下ramdisk,进去之后再点default.prop

安卓逆向笔记(7)——动态调试之ro.debugable修改_第10张图片

进去之后找到ro.debuggable=0,把0删了,改成1。保存并退出:

安卓逆向笔记(7)——动态调试之ro.debugable修改_第11张图片

然后一路返回到下面这个界面,选择Repack:

安卓逆向笔记(7)——动态调试之ro.debugable修改_第12张图片

在列表中你会发现生成了一个新的文件,叫image-new.img,OK,这个就是我们需要的,按它,长按,用力。好,弹出对话框了,选择Export,在跳出来的对话框中,不要看,直接点确定。OK,导出了。这时候,又要用到刚刚叫你复制的那个路径了(是不是关掉那个DOS了?哈哈,慢慢再找一次吧,谁叫你关掉的,该!),执行命令:

adb pull /storge/self/primay/image-new.img

把修改过的镜像拉到电脑上,再剪切到桌面。

  1. 刷入新的镜像:
    执行命令如下命令重启手机并进入fastboot mode:
adb reboot bootloader

看一下你的手机屏幕,DEVICE STATE状态是不是lock,是lock的话,你就不能刷入新的镜像,需要先解锁,然后根据提示,选择Yes,完成解锁之后再刷镜像。如果是unlock,直接刷镜像

//解锁命令
fastboot flashing unlock

//刷镜像命令
fastboot flash boot image-new.img		//注意你image-new.img的路径

安卓逆向笔记(7)——动态调试之ro.debugable修改_第13张图片

  1. 完成刷机,重启,检查是否成功:
    刷机完成,输入命令重启:
fastboot reboot

等待重启…(抠抠脚,闻一闻,好了,重启完成,手机进入系统了)
输入命令:

adb shell getprop ro.debuggable

如果输出0,就是失败了,如果输出1,就是成功了。
真好,没输出0了!成功了?!
不知道,没输出啊!!!安卓逆向笔记(7)——动态调试之ro.debugable修改_第14张图片

Why??and 到底成功了吗?
打开DDMS,看一下:
安卓逆向笔记(7)——动态调试之ro.debugable修改_第15张图片

oh~yes!!!!成功了,所有进程都出来了!
但是,为什么不输出1?知道的,麻烦评论区留言告诉我,谢谢!
还有一个问题,就是重刷了镜像之后,还是root的,但是手机没了su包,需要重新用KingRoot弄一下,su包跟root什么关系?自己研究一下,这里懒得说了,写完这篇blog,脖子痛!

你可能感兴趣的:(安卓逆向)