玩一下android的反编译和代码混淆
这次准备系统的玩儿一下android从导出apk到反编译再到代码混淆然后再次反编译的过程,有图有真相的记录一下~~
第一步,导出未加混淆的普通apk
首先创建了一个fuckcode项目,有基本的Activity:MainActivity一个,Other类一个,代码很简单,在MainActivity中调用Other的静态方法xx,xx方法只是输出一个字符串,预想目的是为了看看混淆后Other是否还可以反编译出来。附图:
ok,很业余很简单哈,MainActivity中代码也很业余很简单,如下:
1 protected void onCreate(Bundle savedInstanceState) { 2 super.onCreate(savedInstanceState); 3 setContentView(R.layout.activity_main); 4 Other.xx(); 5 }
简单写完,接下来
第二步,签名打包APK
首先,你需要配置好你android使用的jdk,验证方法 cmd 中 java、javac等等,这里就不说了,接下来你需要整一个签名证书出来,这时候可以这么做:
这时候你就拿到了一个test.keystore,然后你就可以通过eclipse导出有签名的apk了
步骤:eclipse中选中项目,点击右键选中export,选择android ,选择export android application -->next-->路径选择刚刚生成的test.keystore的路径,密码填写刚刚输入的密码 -->next -->选中别名填写密码 -->next-->选择导出apk的路径,然后finish。
至此,有签名的APK就导出完毕了~~~~
第三步,试着反编译之前的APK
这时候我们需要下载一些拆拆工具:下载地址 还有一个 个人习惯先一股脑下下来,然后慢慢折腾。。。。
现在我们先把之前导出的apk伙子们更改为zip,解压以后拿到classes.dex ,然后把classes.dex放到之前下载好的dex2jar-0.xxx文件夹中,跟dex2jar.bat放在一个目录下,然后开整。。。。
嚎~这时候我们得到了一个classes_dex2jar.jar
现在,我们拿之前下载好的jd-gui-XXXX-windows中的jd-gui.exe打开classex_dex2jar.jar文件。。。然后我们发现我们写的android源码脱光光了。。。没图说个JB。。
代码看完了,我们现在来看各种文件。。。。
首先下载一个apktool。。。。最近版这里找
然后把apktool.jar 跟要反编译的apk放在一个目录下。。。。执行 apktool22.jar d fuckcode.apk
其中apktool22.jar 是我自定义的名字,各位看下下的jar文件叫什么就写什么。。。。
然后我们会得到一个fuckcode文件夹。。。。打开里面。。。发现图片啊,配置文件啊。。。啥都有。。。。一个不混淆加密的apk就这么被扒光了。。。
接下来整第三步。。。混淆混淆。。。
喝口水,吃个饭,等会再写。。。。。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。