Android Apk反编译和代码混淆(第一篇反编译)
做为一个开发人员有时候需要去反编译别人的Apk下面我把反编译的经验贴出来给大家讨论交流,有什么问题请随时指出。
1,工具
有人说人家月薪十万以上的才算程序员,其他只能算猴子,做一个使用工具的猴子吧。
- dex2jar(源码文件获取)可以把.dex文件转换成jar文件,主要看jar文件
- jd-gui (源码查看)主要用来看jar文件,打开后就和我们看代码一样,后面会贴图
2,反编译
直接解压要反编译的apk,如果不能直接解压,修改后缀名解压
1,解压之后获得如下目录结构
2,可以看到多个classes.dex的文件,我们选择其中一个复制出来放到dex2jar 工具中如图
,
3,按住shift ,右键在此处打开命令行,然后在命令行输入d2j-dex2jar.bat classes.dex 前边的命令可能不一样,看你下载的版本,后边的是你需要转换的dex文件,然后回车
4,这样就反编译成功了1 是我们的原始文件dex,2是反编译之后的jar文件,3是我们的命令类似javac,4是我们一个完整的例子接下来使用jd-gui 来看代码,打开jd-gui,file 然后选择刚才反编译jar的路径,下面就可以看代码了