去年写过一篇逆向小米ROM做适配的文章,操作上有些繁琐,要借助很多的工具。比较大的弊端是,官方有提供ROM下载的情况下,且可以解包才可以做。
今天说另一种思路利用adb+shell的方式去拿dex文件。关于更多dex、oat、odex的描述,如果不明白可以先看之前的这篇逆向文章文章里面有一些解释。
这种获取方法很方便,仅需要一台root的设备就可以啦。下面开始表演骚操作。
1.准备一个你需要获取的应用,并找到它的包名。链接shell输入
pm path [包名]
1 | adb shell |
2.打开该路径
cd [路径]1
cd /system/app/Email/ #system路径需要root权限
3.查看目录下的文件,并找到dex文件
ls1
2
3
4
5
6
7
8
9 ls
Email.apk #返回结果
oat #返回结果
cd oat
ls
arm #返回结果
cd arm #继续打开arm文件夹,注意这里的路径不一定每台设备都一致,根据实际情况去打开就行了。
ls
Email.odex #返回结果 找到odex文件
4.记住这个路径,复制下来
pwd1
2
3
4 pwd
/system/app/Email/oat/arm
exit
exit #可能需要输入两遍,因为你要先退出root用户,再退出shell
5.使用adb拉去到电脑上来
adb pull [手机里的路径] [电脑上的路径]
1 | adb pull /system/app/Email/oat/arm ./ |
这个时候你已经拿到了odex文件。剩下的工作就是拖到工具里去反编译看代码了。这种方式比去折腾一个ROM会省时间很多。