Step 1 获取classes.dex
将apk的后缀修改为zip,解压缩后会生成如下两个文件夹和三个文件
META-INF
res res文件夹下包含图片,音频,字库等资源,及处理后的布局文件,暂时按下稍后会有文章介绍解决方法
AndroidManifest.xml 打开AndroidManifest.xml会发现是乱码,暂时按下稍后会有文章介绍解决方法
classes.dex 这个文件就是我们的目标,classes.dex是java源码编译后生成的java字节码文件.但由于Android使用的dalvik虚拟机与标准的java虚拟机是不兼容的,dex文件与class文件相比,不论是文件结构还是opcode都不一样.
resources.arsc 文本资源管理,有专门的工具(ArscEditor)可以进行处理
Step 2 从classes.dex转制成jar文件
首先下载工具dex2jar 下载地址为 http://code.google.com/p/dex2jar/downloads/list 这个工具可以将classes.dex文件转换成jar文件。
接压缩之后在命令行里,指定到解压缩的目录,运行如下脚本
就会在你的dex2jar目录下生成classes-dex2jar.jar文件
Step 3 使用jd-gui获取java代码
jd-gui是一个java反编译软件可以从 http://java.decompiler.free.fr/?q=jdgui 下载
打开jd-gui 读取刚刚生成的classes-dex2jar.jar,点击Save All Sources生成源代码的zip包。
这种方式反编译安卓代码,有这么几个问题
- 大部分代码都会经过混淆处理,代码阅读性差
- jd-gui在解释switch case时候会出现逻辑错误
相关推荐
3. 修改完成后,运行`编译.bat`,它会使用smali.jar的反向操作(即dex assembler)将Smali代码重新编译回`classes.dex`。 4. 最后,如果需要,将修改后的`classes.dex`整合回APK,并重新签名APK,使其可以在设备上...
本篇文章将深入探讨如何通过`dex2jar`工具对`classes.dex`进行反编译,并使用`jd-gui`来查看反编译后的Java源代码。 首先,我们要了解什么是`dex2jar`。`dex2jar`是一个开源工具,它的主要功能是将`.dex`文件转换为...
综上所述,`classes.dex`文件在Android开发中扮演着核心角色,它的处理涉及到一系列的工具和流程,包括下载、反编译、压缩以及可能的修改。在进行这些操作时,开发者需要具备一定的Android系统知识,熟悉相关的工具...
当我们将APK解压后,可以找到classes.dex文件,然后使用Dex2Jar将其转换,使得开发者可以用Java反编译工具(如JD-GUI或JAD)来查看和分析应用的原始Java源代码。 在"classes.dex.dex2jar.src.zip"中,"classes.dex...
dex2jar 是一个能操作Android的dalvik(.dex)文件格式和Java的(.class)的工具集合,包含以下几个功能 dex-reader/writer: 用于读写 Dalvik Executable (.dex) 文件格式. 包含一个简单的API(与ASM相似) d2j-dex2jar...
安卓dex反编译工具dex-translator-0.0.9.3,使用解压工具先把apk解压得到classes.dex文件,然后执行dex2jar.bat classes.dex,生成classes.dex.dex2jar.jar文件,在用jd-gui.exe打开jar文件就可以看到反编译后的java...
- 法律问题:反编译他人应用的`classes.dex`文件可能侵犯了版权,因此只应在合法范围内进行。 - 安全性:操作`classes.dex`文件可能导致恶意代码的暴露,因此在处理敏感信息时应格外小心。 - 兼容性:解压缩后的字节...
《Android应用反编译:利用jd-gui工具深入理解APK源码》 在Android开发领域,有时我们需要对已有的APK应用进行逆向工程,以便理解其内部工作原理或进行二次开发。这时,一款强大的反编译工具就显得尤为重要。本文将...
dex2jar是一款在Android开发领域常用的反编译工具,它主要功能是将APK中的classes.dex文件转换为Java源代码的jar文件,从而使得开发者能够查看和分析APK的内部结构和逻辑。在这个过程中,dex2jar扮演了一个关键角色...
总之,反编译`class.dex`是Android应用逆向工程的一个重要步骤,通过这个过程,开发者或安全研究人员可以深入理解APK的行为,找出潜在的安全漏洞或优化代码。不过,需要注意的是,未经许可的反编译可能涉及法律问题...
加密可以保护应用的知识产权,防止代码被反编译和篡改;压缩则可以减少APK的大小,加快下载速度并节省用户的存储空间。 总结来说,"classes.dex.jaer"是Android应用的核心代码载体,经过特殊处理以提高安全性和效率...
把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex拷贝到dex2jar.bat所在目录。 ...
4、使用dex2jar-0.0.7.10-SNAPSHOT将classes.dex反编译成xxx.class文件 将classes.dex拷贝至dex2jar-0.0.7.10-SNAPSHOT,cmd进入目录,使用如下命令即可 dex2jar classes.dex 5、 jd-gui:查看dex2jar反编译出的xxx...
支持各种反编译,///反...3.在cmd下找见反编译工具位置 在执行 dex2jar.bat classes.dex 4.在反编译的\dex2jar-0.0.7.9-SNAPSHOT中生成一个classes.dex.dex2jar.jar 5.将classes.dex.dex2jar.jar在jd-gui.exe中打开。
假设你的`classes.dex`文件位于当前目录下,你可以运行以下命令进行反编译: ``` java -jar dex2jar.sh classes.dex ``` 这将生成一个名为`classes_dex2jar.jar`的文件,这就是反编译后的结果。 3. **查看反...
命令行到apktool目录:apktool d [apk文件] [反编译后的文件存放地址] 这可反编译得到程序的xml和资源文件,同时等到的.9.png文件也可用。 dex2jar 解压apk得到classes.dex 命令行dex2jar目录:dex2jar [classes...
可以通过本资源完成安卓apk中xml及classes.dex的反编译,资源中附加了使用文档,详细的介绍了整个反编译过程,并提供了可能会用到的一些小工具(apltool、AXMLPrinter2.jar、dex2jar、jad等)。对这方面感兴趣的朋友...
"Robfuscate"是一个开源项目,专门针对这一需求,旨在混淆Android项目的`classes.dex`文件中的资源引用,如`r.id`、`r.string`和`r.layout`等的int索引。这个工具能够增加对应用反编译的难度,从而提高代码的安全性...
1. 将要反编译的apk包改扩展名为zip(apk包实则为zip压缩包),解压zip文件; 2. 在解压出来的文件夹中会有个classes.dex文件(程序的二进制文件),然后cmd进入到dex2jar目录 我的测试程序包在"D:\Activity_Test" 中...
以前使用dex2jar-0.0.9.15反编译android的dex文件一直都没问题,最近反编译一个游戏项目出现报错,com.googlecode.dex2jar.DexException: while accept method:[Landroid/support/v4/app/ActionBarDrawerToggle$...