Xamarin android 如何反编译 apk文件
这里推荐一款XamarinAndroid开发的小游戏,撸棍英雄,游戏很简单,的确的是有点大。等一下我们来翻翻译这个Xamarin Android 开发的小游戏
游戏虽然简单,但是用到的东西还是蛮多的,有时间的话可以反编译下去研究一下别人怎么写的,,说来也巧,这个游戏是群里的以为xamarin 开发者做的,感觉挺意思的,所以
打算写篇文章介绍一下,他的网址 www.xamarin8.com 域名很容易记,目前xamarin 开发的android的确不多见,大家多多关注支持一下。
游戏效果图:
反编译apk文件最简单的一种方法
将apk文件后缀名改为zip,然后解压。如图:
打开res文件夹,只有一些mp3和图片文件
如果是Xml文件乱码的。并且假如我们想看APK程序的Java代码,也是行不通的,因为他们都打被打包到classes.dex文件中!但是反编译可以解决你的需要~另外,切勿拿反编译来做违法的事,比如把人家的APK重新打包后使用自己的签名然后发布到相关市场...另外,我们是参考别人的代码,而不是完全拷贝!!!切记!!
还是用工具来解决
下载好打包好的以下三个工具:反编译相关的三个工具.zip
- apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件
- dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件)
- jd-gui:查看2中转换后的jar文件,即查看Java文件为了方便各位读者,这里将三个打包到一起放到云盘中,又需要的可以进行下载:反编译相关的三个工具.zip
解压完压缩包,打开apktool2.2,xamarinGame是我下载好需要反编译的apk文件
单击运行cmd.exe ,输入apktool.bat d xamarinGame.apk,如图运行完之后发现过了个xamarinGame的文件夹
打开文件夹,发现资源文件也到手了,xml也不乱码了,好的。
使用dex2jar将classes.dex转换成jar文件:
把下载好的dex2jar文件夹解压,apk解压后中的classes.dex复制到dex2jar.bat所在的目录下:
打开cmd,来到这个目录下:键入:d2j-dex2jar.bat classes.dex
好的,接着我们可以看到生成了一个jar包
使用jd-gui查看jar包中的Java代码:
打开jd-gui文件夹执行exe文件后,打开我们上一步中转换后的jar包,我们可以看见里面的代码:
大工搞成,现在是不是眼见为实地证明那句真理,xamarin android 开发的是原生app,的确是原生的,转成了java的代码,眼见为实了吧!