一.查壳
jeb载入发现没有代码,怀疑加壳
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131751059-763941722.png)
用查壳工具查壳 (爱加密)
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131752075-1618255028.png)
apktool解包
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131753044-2138861421.png)
得到其
package name: loading.androidmanual
main activity name: .BeginningActivity
二.调试启动APP
安装APK到AVD模拟器
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131753544-2004512470.png)
配置好IDA调试so环境(略过)
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131754013-1176453990.png)
调试启动
adb shell am start -D -n 包名/包名+类名
adb shell am start -D -W -n loading.androidmanual/loading.androidmanual.BeginningActivity
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131754575-579828095.png)
设置调试模式
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131755434-1496637380.png)
记录下ID为506,附加上调试器
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131756419-1437586593.jpg)
在libdvm.so中找到dvmDexFileOpenPartial.....
并在函数头部下好断点 F9运行起来
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131757247-831363727.jpg)
设置jdb调试,执行后程序断下来
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131758309-111227898.png)
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131758794-370738215.png)
此时寄存器R0为dex文件的起始地址,R1为大小
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131759356-1972419564.png)
R0 = 0x4C38E7B4
R1 = 0x000FAEB4
内存窗口可以清楚的看到文件头
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131759903-1104184150.png)
三.dump dex file
IDA->File->scrpit command在弹出的对话框中粘贴我们的dump脚本
Message("start dump ");
auto fp,dex_addr,addr_begin,data_len,addr_end;
addr_begin=0x4C38E7B4;
data_len=0x000FAEB4;
addr_end=addr_begin+data_len;
fp=fopen("D:\dump.dex","wb");
for (dex_addr=addr_begin;dex_addr < addr_end;dex_addr++)
{
fputc(Byte(dex_addr),fp);
}
Message("end dump ");
运行脚本文件
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131800888-1866180222.png)
脚本运行完毕后会在指定目录生成dump.dex文件
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131801341-911519601.png)
在用JEB打开就可以分析dex文件了
![](https://images2015.cnblogs.com/blog/198684/201607/198684-20160730131802356-1891087053.png)