dexdump移植

dexdump 移植


dexdump 源码位于/dalvik/ 下,文件为DexDump.cpp。


make clean-dexdump

make dexdump showcommands

摘取其中两行,一个是用于生成.o文件,一个是生成可执行文件。


g++ -I dalvik -I dalvik/libnativehelper/include/nativehelper -I dalvik/dexdump -I out/host/linux-x86/obj/EXECUTABLES/dexdump_intermediates -I dalvik/libn ativehelper/include/nativehelper -isystem system/core/include -isystem hardware/libhardware/include -isystem hardware/libhardware_legacy/include -isystem hardware/ril/include -isystem dalvik/libnativehelper/include -isystem frameworks/base/include -isystem frameworks/base/opengl/include -isystem framework s/base/native/include -isystem external/skia/include -isystem tools/include -isystem out/host/linux-x86/obj/include -c -fno-exceptions -Wno-multichar -m 32 -fPIC -include system/core/include/arch/linux-x86/AndroidConfig.h -D_FORTIFY_SOURCE=0 -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -W pointer-arith -O2 -g -fno-strict-aliasing -DNDEBUG -UDEBUG -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -Wsign-promo -DN DEBUG -UDEBUG -MD -o out/host/linux-x86/obj/EXECUTABLES/dexdump_intermediates/DexDump.o dalvik/dexdump/DexDump.cpp


g++ -Wl,-rpath-link=out/host/linux-x86/obj/lib -Wl,-rpath,\$ORIGIN/../lib -Lout/host/linux-x86/obj/lib -Wl,--no-undefined -m32 out/host/linux-x86 /obj/EXECUTABLES/dexdump_intermediates/DexDump.o  -Wl,--whole-archive -Wl,--no-whole-archive out/host/linux-x86/obj/STATIC_LIBRARIES/libdex _intermediates/libdex.a out/host/linux-x86/obj/STATIC_LIBRARIES/liblog_intermediates/liblog.a -o out/host/linux-x86/obj/EXECUTABLES/dexdump_intermedia tes/dexdump -lpthread -lz



这两句拿出来是可以过的。


根据这两个命令行,尽量多的删除参数。最后根据精简的命令,构建一个自己的目录,把相应的东西copy出来,放到相应的位置。

至于静态库,libdex库的源码在同层目录下,liblog在/system/core/下。



还有一种方法就是逆向操作,由于源码只有一个文件,可以逐渐根据依赖过去,添加需要的东西。


github: https://github.com/jaygno/dexdump


本文出自 “一路风景” 博客,请务必保留此出处http://which.blog.51cto.com/7179876/1301689

<think>我们正在讨论如何下载和安装frida-dexdump工具。根据引用内容,我们可以总结出几种方法。引用[2]提到了两种方式:一种是下载源码,另一种是通过命令进行脱壳(但命令方式需要先安装frida-dump,这里可能是指frida-dexdump的安装)。引用[3]则提到安装frida-dexdump之前需要安装一些Python模块以及指定版本的frida。综合引用信息,我们可以得到以下步骤:方法一:通过pip安装(推荐)1.安装依赖的Python模块:pip3installclickpip3installbackports.shutil-get-terminal-size2.安装frida和frida-tools(注意:引用[3]指定了frida版本为15.0.2,但通常可以使用最新版,如果遇到问题再考虑指定版本):pip3installfridapip3installfrida-tools3.安装frida-dexdump:pip3installfrida-dexdump安装完成后,就可以在命令行中使用`frida-dexdump`命令了。方法二:从GitHub下载源码1.从GitHub下载源代码:https://github.com/hluwa/frida-dexdump2.解压下载的压缩包。3.进入解压后的目录,比如`frida-dexdump-2.0.1`,然后进入`frida_dexdump`目录。4.在命令行中运行(注意:这种方式可能需要通过python来运行main.py):pythonmain.py[参数]但是,通常我们更推荐使用pip安装,因为这样会将可执行文件安装到系统路径中,方便使用。验证安装:安装完成后,可以在命令行输入:frida-dexdump-h来查看帮助信息。注意:使用frida-dexdump需要手机上有frida-server运行,并且电脑和手机通过USB连接,同时确保adbdevices可以识别设备。根据引用[3],在安装过程中可能会遇到需要安装特定版本frida的情况,如果遇到版本兼容性问题,可以指定frida版本,例如:pip3installfrida==15.0.2另外,引用[2]还提供了一个百度网盘的下载链接,如果GitHub访问慢,可以通过百度网盘下载源码。总结步骤:1.确保已安装Python3和pip3。2.通过pip安装frida-dexdump及其依赖。3.验证安装。因此,我们给出以下回答:</think>### 如何下载和安装 frida-dexdump 工具 #### 方法一:通过 pip 直接安装(推荐) 1. **安装前置依赖** 打开终端/CMD,执行: ```bash pip3 install click backports.shutil_get_terminal_size pip3 install frida frida-tools ``` 2. **安装 frida-dexdump** ```bash pip3 install frida-dexdump ``` 安装完成后,直接使用 `frida-dexdump -h` 验证是否成功[^3]。 --- #### 方法二:下载源码手动安装 1. **下载源码** - GitHub 地址: ```bash git clone https://github.com/hluwa/frida-dexdump.git ``` - 或百度网盘(备用): [https://pan.baidu.com/s/1XONAyViTbOm99R05BF6DHQ?pwd=coyd](https://pan.baidu.com/s/1XONAyViTbOm99R05BF6DHQ?pwd=coyd) [^2] 2. **安装依赖** 进入解压后的目录,执行: ```bash pip3 install -r requirements.txt ``` 3. **运行工具** 在源码目录中执行: ```bash python frida_dexdump/main.py -U -f 包名 ``` --- #### 环境准备 - **设备要求**: - Android 设备开启 USB 调试 - 电脑安装 ADB 驱动 - 设备运行 `frida-server`(版本需与电脑端 frida 匹配) - **验证连接**: ```bash frida-ps -U # 应显示设备进程列表 ``` --- #### 常见问题解决 1. **版本冲突**: 若报错可指定版本安装: ```bash pip3 install frida==15.0.2 frida-tools==10.4.1 ``` 2. **Dex 校验失败**: 使用 Jadx 反编译时若出现 `Bad checksum`,需关闭校验: `Jadx设置 → Dex-input → 关闭Verify dex file checksum` [^4]。 --- ### 使用示例 脱壳苏州通 APP: ```bash frida-dexdump -U -f com.iCitySuzhou.suzhou001 ``` 脱壳结果保存在当前目录的 `.dex` 文件中[^2]。 --- ### 总结流程 ```mermaid graph LR A[安装Python环境] --> B[安装frida/frida-tools] B --> C[安装frida-dexdump] C --> D[连接Android设备] D --> E[执行脱壳命令] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值