参照https://www.freebuf.com/column/166020.html
这个博客即可,但是新手可能还是会一脸蒙蔽,下面看看我的实现步骤。完成调试连接准备工作后
- 找到OpenMemory方法,在第一个OpenMemory右击添加断点:
为什么OpenMemory这么多?路过的大神可以解答一下:TODO

image.png

  • F9一下
    可以看到DEX加载到X0寄存器了(不同的手机不一样,你的手机可能是R0或者其它)
    dex.jpg
  • dump出dex
    1)找出dex文件的16进制数据
    先在IDA View-PC上选择同步到16进制视图
    lADPDgQ9rKwRQV3NAlLNBP8_1279_594.jpg

在地址上右击选择jump,跳转到Dex文件的起始字节。
lADPDgQ9rKwWL4bNBP_NAlI_594_1279.jpg
dex22.jpg
1)计算dex文件的结束地址
根据dex的文件结构,可以知道dex文件的长度为"B4 A1 4C 00",转换大端模式为“4C A1 B4",根据dex文件起始地址"0000007F636FAEA8"可计算结束地址:
image.png

0x0000007F636FAEA8 + 0x4CA1B4 = 0x7F63BC505C
2)计算dex文件的结束地址
利用idapro的IDC脚本dump出dex文件

auto i,fp;
fp = fopen("d:\\dump222.dex","wb");
for (i = 0x0000007F636FAEA8; i <= 0x7F63BC505C; i++){

     fputc(Byte(i),fp);
}

点击运行保存文件
lADPDgQ9rKw7OJrNA_DNAdQ_468_1008.jpg
使用Jadx-gui工具打开dex文件,打开成功,说明dex文件提取正确。
image.png

分类: 脱壳

0 条评论

发表回复

您的电子邮箱地址不会被公开。