本文主要介绍如何反编译Android应用程序查看源代码、资源文件和xml文件以及修改后重新打包成APK。鼓励大家反编译去学习他人的设计而不是将应用换壳后混乱市场。也可以直接使用网友整理的 anti-droid.
Android APK实际就是个Zip文件,可以解压缩后反编译查看源代码和资源文件。以下以微信为例:
我们可以右击APK文件,”打开方式”选择Winrar压缩文件管理器,截图如下:
需要用到的工具包android-reverse,包括dex2jar、jd-gui、apktool。也可以在下面需要时分别下载最新。
1、 查看源码
(1) 修改待反编译文件后缀.apk为.zip后用winrar解压,记录classes.dex的路径。
(2)使用工具包中的android-reverse-trinea\dex2jar-0.0.9.13或下载最新的dex2jar后解压,在命令行运行
1 |
dex2jar classes.dex的路径 |
如下:
2、查看资源文件和xml文件
(1)使用工具包中的android-reverse-trinea\apktool-1.5.2-windows或下载最新的apktool(需同时下载apktool及对应平台的依赖包,解压后将平台依赖包中的apktool.jar复制到apktool目录下),在命令行运行
1 |
apktool.bat d -f xxx.apk xxx |
其中d表示解包,xxx.apk为待反编译apk路径,xxx为目标文件夹名,(apktool不支持中文目录),如下:
3、修改后重新打包成APK
依然使用步骤2中的apktool,命令如下
1 |
apktool.bat b xxx |
其中b表示build,xxx表示步骤2中解包出来的文件夹,我们可以对某一文件进行修改,重新打包
这里我们可以简单的替换资源也可以通过修改 smali完成代码的修改,别做坏事哦^_*。