如今,写得赞的android项目太多了,这就不得不勾起我们的好奇心了,都说:“好奇心,害死猫!”,但是这些人贼精了,他们把项目都签名了,搞我们这行的都知道,一旦apk签了名,我反正就没有办法了,但是总有办法的,哈哈!!
JD-GUI的使用
- http://jd.benow.ca/
- http://java.decompiler.free.fr(这是官网, 目前貌似已经不提供了)
JD-GUI是一个独立的图形工具,用于将*.class文件解码成.java源代码的文件。
1、从http://jd.benow.ca/下载JD-GUI工具:
2、将压缩包进行解压如下:
从上图可看到,内容很简单,就是一个jd-gui.exe和一个readme.txt,从readme文件了解到如下内容:
- JD即JavaDecompiler的缩写,JD的主页是:http://java.decompiler.free.fr
- JD不需要安装也不需要配置
-
如何使用JD-GUI
例如,编译“Object.class”,你可以:
- 在命令行执行:jd-gui.exe Object.class。
- 选择 “FileàOpen File …”,在文件中浏览到 “Object.class”。
- 把“Object.class”拖到“jd-gui”。
- 卸载
- Windows:删除 “jd-gui.exe”和“jd-gui.cfg”。
- Linux:删除“jd-gui”应用文件和“jd-gui.cfg”。
- OSX:把“JD-GUI”应用拖到trash。
附英文解释:
JD-Eclipse插件
JD-Eclipse是Eclipse的一个插件:http://jd.benow.ca/jd-eclipse/update、http://jd.benow.ca/jd-eclipse/downloads/jdeclipse_update_site.zip
1、点击Eclipse开发工具菜单栏:“Help”–> “Install New Software…”
2、下载JD-Eclipse插件
3、在安装插件的时候会弹如下窗口,问的是“你信任这些证书吗?”,我们把它勾上,如下:
dex2jar的使用
1、从https://code.google.com/p/dex2jar/下载dex2jar工具:
这个工具的使用非常简单,它可以把Android APK中的classes.dex解码为jar文件,使用方法如下:
1、 下载工具
2、 解压,如解压到:D:\dex2jar-0.0.9.15
3、 把你需要反编译的apk复制到这个目录,如我复制了一个abc.apk过去,则此时在cmd命令行敲如下命令:
- $> cd /d D:\dex2jar-0.0.9.15
- $> dex2jar apk
4、命令执行结束后,将会在cd/d D:\dex2jar-0.0.9.15目录下看到生成了abc.jar,用JD-GUI查看这个jar文件即可。
android-apktool的使用
android-apktool可以把AndroidManifest.xml文件和res目录下的xml文件和NinePatch图片反编译到接近原始状态,反编译后还可以重新编译回去。
1、从https://code.google.com/p/android-apktool/下载android-apktool工具:
V1.5.2以后的版本的下载网址为:https://bitbucket.org/iBotPeaches/apktool/downloads
也可以好好阅读主页的内容,如下:
1、安装Apktool工具:
2、使用命令解码:
- ApktoolOptions即apktool命令的一选项功能说明,当然,在安装好Apktool之后也可以直接在命令行打“apktool”即可显示命令帮助。常用选项如下:
- -f 强制删除目标目录。如果试图使用反编译的文件夹已经存在
- -m 保持尽可能接近原始文件。防止重建,用于分析
- -s 这将防止反编译java源代码。这使APK的classes.dex文件编译期间简单地移动它。如果你只想编辑资源。这是推荐更快反编译和重建。
命令使用格式为:apktoold [命令选项] file.apk,经典使用如下:
把apk随意放到一个目录中,如我把abc.apk放在D:\a\b\ 目录下,则cmd命令如下:
- cd /d D:\a\b\
- apktool d -f -m -s abc.apk
命令执行完毕后,则会在D:\a\b目录下看到有一个abc目录,该目录下保存了反编译的资源文件。
- FrameworkFiles中的大概意思是,Android应用程序有可能使用Android系统内部的代码和资源,标准的Android系统你不需要做任何改动,但是一些制作商,比如HTC添加了自己的框架文件和应用,如你要解码HTC手机的联系人应用则需要另外的方法,详情看网页。
-
点击“Install”链接(https://code.google.com/p/android-apktool/wiki/Install),将会看到安装的说明页面,部分翻译如下:
快速检查:
-
Apktool 2.x (1.5.2以后的版本)
是否安装了Java 1.7 ?
在命令行执行 java -version是否返回 1.7?
如果不是,请安装 Java 7 并让它成为默认。
-
Apktool 1.x (1.5.2之前的版本)
是否安装了Java 1.6或更高的 ?
在命令行执行 java -version是否返回 1.6或更高?
如果不是,请安装 Java 6 或 Java 7 。
安装 Apktool 2.x
Windows:
- 下载Windows包装器脚本(右击,保存链接apktool.bat)
- 下载apktool-2(在这里找到最新的)
- 将下载的jar重命名为apktool.jar
- 把(apktool.jar & apktool.bat)移到您的Windows目录(通常是C://Windows)
- 如果你没有访问C://windows的权限,你可以把这两个文件放在任何目录,然后将该目录添加到您的系统环境变量PATH中。
- 尝试通过命令提示符运行apktool
-
详细请观看视频:http://edu.csdn.net/course/detail/405
百度云下载地址:http://pan.baidu.com/s/1c0tS8ik
特免责声明参考:http://blog.csdn.net/android_cai_niao/article/details/43151831
您还可以参考这:http://blog.csdn.net/ithomer/article/details/6727581