android apk反编译和odex转dex

大家好,这里介绍apk反编译操作。

1:apk反编译

2:odex转dex

 

操作环境:ubuntu

 

A:apk反编译

.到code.google上下载apktool.jar以及相关文件:http://code.google.com/p/android-apktool/downloads/list
点击下载apktool-1.0.0.tar.bz2 和apktool-install-linux-2.1_r01-1.zip


Apktool 命令
./apktool d geek.apk test    反编译 geek.apk到文件夹test

 

 

B:odex转dex

http://code.google.com/p/smali/downloads/list

下载下面4个文件。

现在我们要对CardManager.odex进行反编译,以CardManager.odex为例。

1:java -jar baksmali-1.3.2.jar -a 12 -x CardManager.odex    

//注意:这里要有core.jar:ext.jar:framework.jar:android.policy.jar:services.jar文件支持。这个 apk 所在的 rom 里面的一些 jar 文件,都在 /system/framework 里面: core.jar, ext. jar, framework. jar, android.policy. jar, services.jar和对应的.odex文件,把这些文件放在CardManager.odex同一级目录。

运行java -jar baksmali-1.3.2.jar -a 12 -x CardManager.odex   ,会生成一个out文件夹,里面的文件以.smali结尾,

 

2:生成 classes.dex文件

运行 java -jar smali-1.3.2.jar out/ -o classes.dex

 

3:下载 dex2jar : dex2jar-0.0.9.8.zip

http://code.google.com/p/dex2jar/downloads/list

解压 tar -xzvf dex2jar-0.0.9.8.tar.gz

 

生成classes_dex2jar.jar文件

dex2jar-0.0.9.8$ ./dex2jar.sh ../Test_HW_ODEX/classes.dex

wanqi@wanqi-System-Product-Name:~/Downloads/dex2jar-0.0.9.8$ ./dex2jar.sh ../Test_HW_ODEX/classes.dex
dex2jar version: translator-0.0.9.8
dex2jar ../Test_HW_ODEX/classes.dex -> ../Test_HW_ODEX/classes_dex2jar.jar

 

4:运行jd-gui-0.3.2.linux.i686,打开classes_dex2jar.jar。就ok了。

 

 

 

反编译framework.odex 

java -Xmx512m -jar baksmali-1.3.2.jar --api-level 12 -c:core.jar:bouncycastle.jar:ext.jar:framework.jar:android.policy.jar:services.jar:core-junit.jar -d framework/ -x framework.odex 

 

 

 

 

 

posted @   wanqi  阅读(29572)  评论(3编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示