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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值