本页链接已失效
在生活中呢,我们会经常遇到一些问题 废话不多说,开始! 反编译apk文件可以得到应用的运行原理,甚至可以直接得到源代码。 这样我们可以很轻易地学习、探讨一个软件。 在证明Minecraft和迷你世界关系上也有重大作用。 所需软件均在本服务器上,可以自行获取。 **无任何广告、病毒及推广信息**

Apktool-1下载

Apktool-2下载

ApkTool功能

  • 将资源解码成原来的形式(包括resources.arsc,class.dex,liuboyuan.png和shadiao.xml)
  • 将解码的资源重新打包成apk/jar
  • 组织和处理依赖于框架资源的APK
  • Smali调试
  • 执行自动化任务

由于apk本身就是压缩文件的一种,所以可用解压缩软件查看。
也可以使用Apktool来进行反编译
直接解压可以得到一些资源文件,但是 AndroidManifest.xml 和其他的 xml 文件都是乱码,通过 Apktool 进行反编译,可以最大限度的还原这些文件的内容。
解压文件 其中会得到class.dex

科普

META-INF 里保存 App 的签名信息classes.dex
.dex 是 Dalvik 虚拟机上的可执行文件,需要使用 apktool将其转换为 jar 文件
AndroidManifest.xml Android 清单文件,向 Android 系统提供应用的必要信息。
assets 存放一些资源文件字体,声音等。
lib 存放第三方库
original 存放未经过反编译的等 AndroidManifest.xml 文件
res存放资源文件,例如图片,颜色,字符等。
smali 里存放的是 java 编译成的 smali 代码,smali 相当于 Android 虚拟机上运行的语言。

其中.dex和.apk的关系是这样的

以疑似抄袭的迷你世界为例
也不能说疑似 就是八九不离十吧
下一期咱们好好分析分析
不然那些喷MC的败犬又该说MC如何了

这里面有一个class.dex和class2.dex
这时用记事本打开是一坨乱码
如果你非要打开
结果可能和我一样

这时就需要Apktool的dex转jar功能了
这里提供两个软件
依据需要进行使用

输入路径,点击反编译dex、

科普:
dex文件是Android系统的可执行文件,包含应用程序的全部操作指令以及运行时数据。
当java程序编译成class后,还需要使用dex工具将所有的class文件整合到一个dex文件,目的是其中各个类能够共享数据,在一定程度上降低了冗余,同时也是文件结构更加经凑,dex文件是传统jar文件大小的50%左右。

在.jar工具输入.dex的路径
或者直接拖入框框里
这个软件也可以进行对apk的重建、签名和优化操作。

这时就得到了.jar文件

将.jar转为.java还需要一步
点击下载jd-gui

jd-gui下载

将刚刚的.jar导入其中

此时就可以看到相应的源代码了
感兴趣的朋友们可以钻研一下软件的运行原理
但是一些应用会混淆代码
比如说迷你世界,apk进行了混淆处理
所以你会看到a b c d这一类的傻x命名规则
但还是可以得到运行原理的
感谢各位耐心读完
如有任何问题请咨询QQ:2622936124
在操作上有任何问题随时找我

后面的话

这篇教程是在证明迷你抄袭的过程中临时赶出来的
如有小漏洞请见谅
本组文档及未来的证明日志只针对涉嫌抄袭的游戏,
不针对任何玩家。

刘渤源 作