Android中动态导出dex文件的方法是什么

1.启动ida 端口监听

1.1启动Android_server 服务

android中动态导出dex文件的方法是什么

1.2端口转发

Android中动态导出dex文件的方法是什么

1.3软件进入调试模式

Android中动态导出dex文件的方法是什么

2.ida 下断

2.1 attach  附加进程

Android中动态导出dex文件的方法是什么

2.2 断三项

Android中动态导出dex文件的方法是什么

2.3 选择进程

Android中动态导出dex文件的方法是什么

2.4 打开Modules

搜索art

Android中动态导出dex文件的方法是什么

PS:小知识

Android 4.4版本之前 系统函数在libdvm.so

Android 5.0之后 系统函数在libart.so

2.5 打开Openmemory()函数

在libart.so中搜索Openmemory函数并且跟进去。

Android中动态导出dex文件的方法是什么

PS:小知识

一般来说,系统dex都会在这个函数中进行加载,但是会出现一个问题,后面说。

2.6 下断点

Android中动态导出dex文件的方法是什么

3.运行程序到下断处

3.1 jdb转发运行程序

Android中动态导出dex文件的方法是什么

3.2 查看IDA运行

成功下断,并且运行到我们下断的地方。

可灵大模型 可灵大模型

可灵大模型(Kling)是由快手大模型团队自研打造的视频生成大模型

可灵大模型 385 查看详情 可灵大模型

Android中动态导出dex文件的方法是什么

3.3 查看 dex的位置

打开寄存器窗口,可以看到R1就是我们的dex

Android中动态导出dex文件的方法是什么

然后在Hex窗口打开R1。

Android中动态导出dex文件的方法是什么

很明显就看到了dex文件的二进制结构。如果不明白可以看看之前的dex文件分析。

3.4 提取关键信息

第一个关键信息:地址偏移:0xF35CA328

Android中动态导出dex文件的方法是什么

第二个关键信息:文件偏移:70 35 01 00,转换一下就是 0x00013570

Android中动态导出dex文件的方法是什么

使用16进制加法器进行相加,F35DD898

Android中动态导出dex文件的方法是什么

4. dump

4.1 使用脚本进行dump

static main(void){    auto fp, begin, end, dexbyte;    //打开或创建一个文件    fp = fopen("d:\dump.dex", "wb");    //dex基址    begin =  0xF34C6320;    //dex基址 + dex文件大小end = begin + 0x00013570;    for ( dexbyte = begin; dexbyte

4.2 脚本dump run

脚本填写好了之后,点击run即可。

Android中动态导出dex文件的方法是什么

4.3 成功dump

Android中动态导出dex文件的方法是什么

以上就是Android中动态导出dex文件的方法是什么的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。