RecursiveFrog 发表于 2022-4-21 19:22

新手到大神反编译unity3d游戏系列教程【一】

大家好,我是SkyNote,受邀加入西部世界,既然加入了就来大家来点新鲜的素材。最近在研究unity3d游戏逆向的东东,今天就来介绍下Unity3d逆向的事情吧。
1.识别unity3d游戏

      如何鉴别是否是unity3d开发的呢?很简单,第一:看介绍,介绍里面3D标签,如果介绍里面出现unity引擎。那就肯定是unity3d开发的了,如下图。


当然,还有一种很笨但是很有效的办法。就是把你认为是3d画面的游戏都下载一遍,解压apk文件,找到assets\bin\Data\Managed,如果看到以下类似的Dll文件,恭喜你,这个是unity3d开发的。


2.反编译

      反编译分3部分。
          ①.反编译java代码。个人喜欢用apkide改之理,下载地址
这个软件的介绍在52破解里面很详细,这里就不啰嗦了。打开APKIDE改之理,首次使用可能需要提示选择jdk位置。没有安装的话,下载一个就好。下载好了设置下。如果不知道在哪里设置了。可以apkid改之理的   ->工具->配置与选项(s)即可弹出如下界面。


设置好了就可以用了。选择APK文件就会出现如下界面。


单击java图标打开java源码,就能看到反编译的java代码了。加密加固等除外,这块还在研究。


          ②.反编译unity3d中Dll代码。(没有混淆或其他处理就简单)
先来讲解下没有加密的。反编译dll常用的工具有3种。Lispy,.NET Reflector和dotpeek,个人比较喜欢dotpeek。dotpeek是免费的,官网就能下载
把assets\bin\Data\Managed下的dll拖进dotpeek即可。直接选哪个vs图标就能还原项目了。在vs界面查找关键字比较方便,如正在加载等。当然还原的项目肯定会有不少的报错,接下来咋办呢,找到报错的那段代码,用其他两个反编译工具打开刚才这个dll,找到对应位置,看下是否一样,不一样,覆盖vs中的部分代码。一般情况就不报错了。


          ③.反编译unity3d资源。(不推荐,可以直接抓资源就不用这个)
这个先不讲了,下回讲吧,貌似讲的有点多。先贴一个大图吧。记得关注下西部世界哦。



转载请注明出处:发布于【西部世界 】新手到大神反编译unity3d游戏系列教程【一】

BlaXuan 发表于 2022-4-21 19:27

感谢游戏资深作者SkyNote实力奉献。

redhat9i 发表于 2022-4-21 19:30

非常感谢,找了很久类似教程,已关注。希望下一期会讲解反编译.assets资源包。

七彩极 发表于 2022-4-21 19:39

如果用了IL2CPP,还能反编译吗?

kyuskoj 发表于 2022-4-21 19:42

那如何防止反编译?加外壳有用吗?

super1 发表于 2022-4-21 19:49

没干货啊

maltadirk 发表于 2022-4-21 19:57

能,难度稍微大一点而已!针对逆向新手或者一般人就很难,针对逆向大神没什么用。

JamesB 发表于 2022-4-21 20:00

个人认为核心位置加密混淆即可,比如网络数据包发送接受。建议用比较新版的unity的ab包打包资源,新版的打包资源比较不好解开资源!

KaaPexei 发表于 2022-4-21 20:07

应该先从smail或者arm汇编开始讲吧

NoiseFloor 发表于 2022-4-21 20:10

怎么抓模型啊()
页: [1] 2
查看完整版本: 新手到大神反编译unity3d游戏系列教程【一】