IDA Pro 简单dump文件

安装IDA调试服务: adb push android_server /data/local/tmp

运行IDA调试服务:adb shell & cd /data/local/tmp & ./android_server   (确保 adb是root权限下运行调试服务)

设置端口转发: adb forward tcp:23846 tcp:23946

运行程序:  adb shell am start -D -n com.ali.tg.testapp/com.ali.tg.testapp.MainActivity

IDA设置:

IDA附加进程:Debugger->Attach->Remote ARMLinux/Android debugger 

         Ctrl + F -> ali  选择进程附加

      在模块视图中搜索 libdvm.so 

      在libdvm.so中搜索 dvmDexFileOpenParth

      双击函数调转到位置下断点

 

 

运行jdi调试服务:jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8700

在IDA中使之运行到断点处,查看寄存器的值,R0对应着dex的内存地址,R1对应着dex文件大小

 

运行脚本dump文件:

  static main(void)
    {
        auto fp, begin, end, dexbyte;
        fp = fopen("d:\\dump.dex", "wb"); //打开或创建一个文件
        begin =  R0;              //dex基址
        end = begin + R1;            //dex基址 + dex文件大小
        for ( dexbyte = begin; dexbyte < end;dexbyte ++ )
        {
            fputc(Byte(dexbyte), fp);     //按字节将其dump到本地文件中
        }
    }

 

转载于:https://www.cnblogs.com/NigelX/p/6586123.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值