idc脚本dump内存dex

1、以调试模式启动程序

adb shell
am start -D -n 包名/入口activity

2、启动ida勾选3项下断点对libdvm.so的dexfileparse函数下断点,ida先不要运行

运行当程序断下的时候,r0寄存器的值就是dex文件的首地址,r1的值就是dex文件的大小,然后运行脚本就能dump出dex文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、运行jdb命令

jdb -connect 包名:hostname=127.0.0.1,port=8601(这里不是8700,DDMS里面前面的那个值)
上面的命令相当于不开DDMS时动态调试执行的
adb forward tcp:8700 jdwp:pid命令

在这里插入图片描述

4、运行ida断下运行脚本文件dump处dex文件

在这里插入图片描述
下面打开运行脚本界面
在这里插入图片描述
在这里插入图片描述
dexfileparse
ida脚本
static main(void)
{
auto fp,dexAddress,end,size;
dexAddress=0x77607640;
size=0x19e118;
end=dexAddress+size;
fp=fopen(“d:\1.dex”,“wb”);
for(;dexAddress<end;dexAddress++)
fputc(Byte(dexAddress),fp);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值