dex2jar和JD-GUI这2个工具配合学习android太靠谱了,所以放上来给大家共享,开源的好处就是好东西大家一起分享。
dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip
JD-GUI下载地址:
windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip
Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz
1.首先找到Android软件安装包中的classes.dex
把apk文件改名为.zip,然后解压缩其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件
2.把classes.dex拷贝到dex2jar.bat所在目录。
windows系统下:
在命令行模式下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex ,生成classes.dex.dex2jar.jar
Ubuntu系统下:(3楼正解!)
在终端下定位到dex2jar.sh所在目录,运行
sh dex2jar.sh classes.dex
则可生成classes.dex.dex2jar.jar
3.运行JD-GUI工具(它是绿色无须安装的)
打开上面的jar文件,即可看到源代码
反编译xml
采用apktool进行反编译
《android-apktool》软件软件可以访问它的主页http://code.google.com/p/android-apktool/下 载获得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。下载 后解开,为了方便使用,按作者的推荐把得到的4个文件复制到C:\Windows文件夹里。
这个工具是Java写的,需要你的电脑安装了JRE或者JDK,并在系统环境变量Path里加入java.exe所在路径。
以上准备工作做好后,就可以用它来反编译APK了。这里我用动态壁纸的APK来做示范。
如果用过动态壁纸,你也许会发现在设置壁纸时,界面的显示有点问题:“动态壁纸”,在手机上中文显示为“当前壁纸”。这是“动态壁纸选择 器”LiveWallpapersPicker.apk的翻译错误造成的。
(假设LiveWallpapersPicker.apk放在C盘根目录)
开始 > 运行,输入cmd,回车。 apktool d "C:\LiveWallpapersPicker.apk" "C:\LiveWallpapersPicker"
复制代码(命令行解释:apktool d 要反编译的文件 输出文件夹)
改完后,就可以重打包了。还是在cmd命令行里,输入: apktool b "C:\LiveWallpapersPicker"
复制代码(命令行解释:apktool b 要打包内容所在文件夹)
就可以了。生成的APK在C:\LiveWallpapersPicker\dist文件夹里,叫out.apk。
这个out.apk是没有签名的,所以不能直接装到手机里。签名工具和方法见http://www.hiapk.com/bbs/thread-21261-1-1.html, 这里不说了。
签名后得到的APK,就是可以装到手机里的了。
分享到:
相关推荐
4. 如需修改源代码,可利用jd-gui或其他IDE进行编辑,然后将修改后的代码再通过反向过程打包回APK。 在实际应用中,APK反编译技术广泛应用于安全审计、漏洞挖掘、代码学习和应用优化等方面。但需要注意的是,未经...
安卓反向编译.APK文件,查看java代码。 一、用压缩软件打开apk,得到五个文件或文件夹 1、META-INF 2、res 3、AndroidManifest.xml 4、classes.dex 5、resources.arsc 二、xml文件是被压缩过的,可以使用...
反编译Google Android APK文件的方法 Android APK 文件是 Android 操作系统中的一种应用程序安装包格式,它包含了应用程序的代码、资源和配置文件等。反编译 APK 文件可以获取应用程序的源代码、图片、XML 配置、...
反编译的工具,apk逆向工具,可以用于反编译,可将apk文件逆向转换为代码,从class.dex文件里提取代码 反编译教程博客:https://blog.csdn.net/Nobody_else_/article/details/83996441
- **ProGuard**(反向工程):APK通常会经过混淆处理,以增加逆向工程的难度。ProGuard就是这样一个混淆工具,而JEB等高级反编译器可以尝试还原混淆代码。 3. **反编译步骤** - 使用Apktool提取APK的资源文件和...
ApkTool能够解码APK文件,将Dalvik字节码(DEX)转换回人类可读的Smali代码,并且可以反向操作,重新打包生成新的APK。这为开发者提供了对APK内部资源和代码的透明访问。 1. **ApkTool的基本操作**: - **反编译**...
Android反向工程通常包括以下几个步骤:提取APK,反编译DEX文件,解密资源,以及可能的动态分析。 Android反编译工具有很多种,其中包括: 1. **Apktool**:这是一个强大的工具,用于解包和重新打包APK文件,以及...
删除弹出窗口、添加Xposed检测、更改包名、反编译axml等反向功能。 它具有以下特点: 文件管理:可以对手机中的文件进行查看、复制、移动、删除等操作,方便用户整理手机存储空间。 APK 编辑:能够对安卓应用的...
对安卓版旅行青蛙游戏进行的软件反向编译工程项目,包括实现外挂、导出明信片等等TravelFrog_工具对旅行青蛙游戏进行的软件反向编译工程项目,包括实现外挂、导出明信片等等作弊手段.....写在前面的话1.完整教程在我...
3. **dex Peekers**,如**JD-GUI**和**Smali/Baksmali**:前者是实时显示Java字节码的图形界面工具,后者是一组用于转换Dalvik字节码到Smali(一种人类可读的Dalvik汇编语言)和反向转换的工具,便于理解和修改。...
APK Editor Studio 是一个功能强大但易于使用的 APK 反向工程工具。提取,编辑或替换 APK 资源,图像和图标;添加翻译,创建自己的 APK mod 或了解其内部结构。多种便捷工具将帮助您轻松更改应用程序图标,应用程序...
在Android开发领域,有时我们需要对APK文件进行反编译以了解其内部结构或修改代码。这个主题“反编译apk后打包”涉及到一系列技术工具和步骤,它们可以帮助开发者或安全研究人员深入理解APK的工作原理。 首先,让...
各大市场APP软件质量良莠不齐,很多应用滥用权限窃取用户隐私、嵌入过多广告影响用户体验,亦或者你想了解软件后台的运作原理,甚至是要对系统和软件进行美化等等,这都需要对APK进行反向编译,以达到修改应用权限、...
APK Editor Studio 是一个功能强大但易于使用的 APK 反向工程工具。提取,编辑或替换 APK 资源,图像和图标;添加翻译,创建自己的 APK mod 或了解其内部结构。多种便捷工具将帮助您轻松更改应用程序图标,应用程序...
Apk2Java.exe由于版本较旧,有些会反向失败,但最终都会得到xml和res,xml文件可以用AXMLPrinter2.jar进行反向。 可以先把apk解压,剥离出classes.dex,再使用工具集里的dex2jar-0.0.7.8-SNAPSHOT,可以反向出jar...
3. 修改完成后,运行`编译.bat`,它会使用smali.jar的反向操作(即dex assembler)将Smali代码重新编译回`classes.dex`。 4. 最后,如果需要,将修改后的`classes.dex`整合回APK,并重新签名APK,使其可以在设备上...
1. **显示包名**:用户只需将Apk文件拖放到工具界面,就能快速获取包名,无需使用ADB命令行工具或者反编译Apk。 2. **查看版本信息**:包括版本代码(Version Code)和版本名称(Version Name)。版本代码是整数值...
安卓反向助手炸弹APK此使用脚本Python集成了Android逆向中常用的一些工具,力求省去各自繁琐的命令,方便自己编写脚本的整合,最终在一个命令下完成各种工具的调用。工具APK反编译apktool d回编译APKapktool bAPK...
1. **aapt.exe**:Android Asset Packaging Tool,是Android SDK的一部分,用于处理应用的资源文件,包括编译、打包和提取资源信息。在这个场景下,可能用于获取APK的元数据,包括包名。 2. **APK-Info.exe**:很...
6. 反编译与反向工程: 解析APK有时是为了进行反编译,即把DEX文件转换回Java源代码。这通常需要第三方工具,如dex2jar和JD-GUI。dex2jar将DEX转换为可读的JAR,而JD-GUI则显示JAR中的源代码。这些工具可以帮助...