重建Unity APK

逆向工程 调试 apk
2021-06-12 23:46:48

注意:我这样做只是出于教育目的,无意重新分发

我已经成功地反编译了一个用 Unity 构建的 APK(有点)。使用一系列程序,我设法提取了所有游戏资产和脚本,尽管我试图重新构建它以进行调试。我导入了所有原始场景,以及它们的设置方式(包括所需的所有附加脚本),尽管我什至在运行之前在控制台中收到了 200-999+ 的错误。

其中一些问题来自脚本中的无效字符(反编译器生成的字段),通过将它们重命名为更友好的格式可以轻松解决这些问题,但是,当我完成最后显示的错误时,我在这里坐了一个小时来解决这些错误,我点击播放,它又产生了几百个错误。

为什么会这样,如果我能够成功提取脚本(看似零混淆),当导入到 unity 时,我会抛出这么多错误?为什么这不是一个 1:1 的可翻译过程?或者这个问题是否基于太多的变量无法根据我的问题来确定?

使用的程序:

  • 间谍
  • 开膛手
1个回答

从二进制文件重建 Unity 项目通常是不可能的,因为/当:

  • 该项目是在不同版本的Unity中重建的
  • 重建的项目使用不同的后端
  • 应用后处理以与 Unity 不兼容的方式更改资产和脚本
  • 较大的 Unity 项目有时会使用自定义版本的编辑器或引擎

此外,倒车工具并非没有错误。