Xamarin android 如何反编译 apk文件

这里推荐一款XamarinAndroid开发的小游戏,撸棍英雄,游戏很简单,的确的是有点大。等一下我们来翻翻译这个Xamarin Android 开发的小游戏
游戏虽然简单,但是用到的东西还是蛮多的,有时间的话可以反编译下去研究一下别人怎么写的,,说来也巧,这个游戏是群里的以为xamarin 开发者做的,感觉挺意思的,所以
打算写篇文章介绍一下,他的网址 www.xamarin8.com  域名很容易记,目前xamarin 开发的android的确不多见,大家多多关注支持一下。
游戏效果图:

反编译apk文件最简单的一种方法

将apk文件后缀名改为zip,然后解压。如图:



打开res文件夹,只有一些mp3和图片文件



如果是Xml文件乱码的。并且假如我们想看APK程序的Java代码,也是行不通的,因为他们都打被打包到classes.dex文件中!但是反编译可以解决你的需要~另外,切勿拿反编译来做违法的事,比如把人家的APK重新打包后使用自己的签名然后发布到相关市场...另外,我们是参考别人的代码,而不是完全拷贝!!!切记!!

还是用工具来解决

下载好打包好的以下三个工具:反编译相关的三个工具.zip
  1. apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件
  2. dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件)
  3. 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的代码,眼见为实了吧!

作者:张林

标题:Xamarinandroid如何反编译apk文件 原文地址:http://blog.csdn.net/kebi007/article/details/52887570

转载随意注明出处

Xamarin android如何反编译apk文件的更多相关文章

  1. Android开发学习之反编译APK文件

    反编译的目的在于学习一些优秀的Android应用程序代码. 在进行反编译之前,需要准备好下面的软件工具(这些文件都放在同一文件下): 这些工具的下载地址:http://down.51cto.com/d ...

  2. 反编译APK文件

    有时源代码丢失了,这时如果有apk文件的话,是可以对apk文件反编译得到源文件的,本文介绍一下简单的反编译apk文件的过程. 1.工具 反编译apk需要的工具有两个:apk2java和apktool, ...

  3. Android apktool反编译资源文件为空解决办法(测试天猫、淘宝等apk成功)

    1 Exception in thread main brut.androlib.androlibexception multiple resources 解决办法:下载最新的apktool,在goo ...

  4. Android:反编译apk

    一.所需工具 1. apktool (1)作用:获取资源文件,例如图片.布局文件 (2)下载地址:https://bitbucket.org/iBotPeaches/apktool/downloads ...

  5. 反编译APK文件的三种方法(转)

    因为学习Android编程的需要,有时我们需要对网络上发布的应用项目进行学习,可是Android项目一般是通过APK文件进行发布的,我们看不到源代码,嘿嘿,办法总会有的,而且不止一个... ps:对于 ...

  6. apktool反编译apk文件

    1.首先下载apktool文件,可以从我的网盘下载:http://pan.baidu.com/s/1nvPdbVb 2.将你的apk文件和apktool文件放到一个文件夹下,这里就放到D:\study ...

  7. 使用apktool反编译apk文件

    Apktool https://ibotpeaches.github.io/Apktool/install/ 下载地址:Apktool https://bitbucket.org/iBotPeache ...

  8. Uubuntu 14.04 LTS反编译apk

    使用apktool反编译apk 1.安装apktool apktool是Google提供的APK编译工具,能够反编译及回编译apk,需要Java环境的支持(在此不再赘述Java的安装与配置,详见< ...

  9. [转]Android应用安装包apk文件的反编译与重编译、重签名

    背景介绍: 最近在做Robotium自动化测试,使用到solo.takeScreenshot()函数以在测试过程中截图,但此函数需要被测试APP具有<uses-permission androi ...

随机推荐

  1. spark2.2 DataFrame的一些算子操作

    Spark Session中的DataFrame类似于一张关系型数据表.在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现.可以参考,Scala提供的Dat ...

  2. QuickTime视频解析问题

    在QuickTime中可以解析出视频并播放视频,解析的格式后缀名为.mov,之后将该视频导入到Unity Project中,显示未解析到视频文件,本来应该会自动生成MovieTexture材质,但是并 ...

  3. Thinkphp使用phpexcel导入文件并写入数据库

    现实中,我们往往很多地方都需要这样批量导入数据,除了phpexcel还有csv等方法可以解决 下面详细介绍一下使用方法 首先在官方下载安装包解压到本地,然后复制保存到tp框架下的vendor目录下 h ...

  4. epoll 惊群处理

    #include <sys/types.h> #include <sys/socket.h> #include <sys/epoll.h> #include < ...

  5. ##4.Glance 镜像服务-- openstack pike

    ##4.Glance 镜像服务 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##.Glance 镜像服务.txt ...

  6. javaWeb开发中关于eclipse等ide重新部署或重启项目等原因造成上传文件丢失问题解决方案

    在开发项目时,有时候需要用到上传功能,比如头像上传等,其文件会保存到服务器中.但是我发现在用eclipse做项目的过程中,每次重新部署项目,原来上传的文件就会丢失. 其原因是因为每次项目修改后,ecl ...

  7. MySQL 性能优化的最佳20多条经验分享(一)(转)

    当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这 ...

  8. 数据库索引------Btree索引的使用限制

    1.如果不是按照索引最左列开始查找,则无法使用索引. 比如说id+name   那么是name+id 的话  ,这个索引则无法使用. 2.使用索引时不能跳过索引中的列.   如果是id+name+ag ...

  9. N卡全部历史驱动

    记录一下寻找驱动方法 打开链接 http://www.geforce.cn/drivers/beta-legacy 默认搜索出来是10个,之后打开控制台输入如下内容回车显示全部(100,可以修改数字来 ...

  10. Python字符串和日期相互转换的方法

    import time,datetime # 日期转换成字符串 print time.strftime("%Y-%m-%d %X", time.localtime()) #字符串转 ...