Android安全–一次简单的脱壳Dump dex实践

加载的模块libdvm.so,找到其中的函dvmdexfileopenpartialPKviPP6DvmDex,在这个函数下断点。

2015-07-30_093446

2015-07-30_093538

2015-07-30_093556

为什么要在这个函数下断点,因为这个函数是加载dex文件的,R0就是加载的dex文件的地址。

然后点击IDA的继续,程序便会断在这个函数上面。

2015-07-30_112539

这时查看R0的值,然后显示其内存如下:

2015-07-30_112954

2015-07-30_113029

我们看到了dex文件的标志。

然后打开idc脚本,修改dump的内存起始地址和结束地址,起始地址就是R0的值,结束地址就是R0加上dex文件的大小,然dex文件的大小在dex header的0×20处,也就是0xFAEB4。

2015-07-30_113131

2015-07-30_113545

点击run,之后会在D盘下面生成一个1M左右的dex文件,这就是我们dump出来的dex文件。

2015-07-30_114119

使用dex2jar转成jar文件,再使用jd-gui.exe打开,得到程序代码:

2015-07-30_124918

也可以把dex文件替换回去,打包运行。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值