记一次unity逆向——超自然行动组

记一次unity逆向——超自然行动组


前情提要

这是由一份消息引发的惨案。

本人日常冲浪的时候发现有个人发了一份偏移和基址,群里没人离他。但懂得都懂,这份基址也太危险了。本着学习的心态,我开始人生第一次Unity逆向

1.png


逆向


由上述基址转换为CT表如下

2.png

跑到游戏里面大概就是这样一些东西。原文中提到了物资数组,里面储存包括成员的名称,坐标,ID,血量(没错,物资也有血量)。

那么其实只需要遍历这个字典再绘制出来就可以完美收工了

说实话,我从没打过这么轻松的仗

其实主要思路就这些。随随便便就写完了

3.png

(还好我的博客都没人看,我写更多的前言后语写的更加安心一些。

所以这次我决定写在中间


写在中间


学习到这里不难看出,unity和虚幻引擎的逆向都是惊人的相似,唯一区别就是他们储存的方式不一样:前者用的是字典,后者则用的是数组。而逆向思路就是一样的:

unity是遍历这个成员字典,虚幻则是遍历整个Actor数组

我有一个猜想:这俩个引擎是不是都是有父子关系?

上网搜索了一下

卧槽!!

真没有。

(罐头笑声

那么其他引擎呢?

所以我把视角转向了起源引擎:

其实起源引擎是我最早研究逆向的引擎。和大多数人一样,都是从cs1.6的起源引擎开始研究游戏逆向这一块的,早期成果如下:

4.png

现在看到自己画的框,忍不住笑出声来。那时候我用的算法很老,是从cs起源搬来的。没想到能直接用到cs2里面。不过这也算是一个来时路了,也没想着炫耀啥的。

我已经过了那个喜欢在网上夸耀自己的年纪了。毕竟人外有人。

要做一个好人

并且时刻对技术保持敬畏

就像直到第一次尝试虚幻引擎。才知道原来外挂是一门艺术

我第一次阅读别人的源码,就为他人的思路惊叹。

没想到python课听不懂的多线程,在一个外挂源码里面给我读明白了。于是我就开始一句一句地啃源码。遍历绘制了第一份Actor数组:

bb848142ddb71145532482d1c59f8d2f

另外必须要声明的事:关于开挂这件事我是极力反对的。我学习逆向只是为了技术能够得到提升,而不是用来做坏事。网络安全亦是如此。


写在后面


技术这一块是没有尽头的。我看到招新群涌进来一堆新同学,讨论ctf题,我又忍不住想起那个冬天,从F区跑到社团打ctfshow,然后回去又偷偷学习,想着转专业来三院。

IMG 20231130 191901

比起现在这个漫无目的,浑浑噩噩的我,我真的羡慕过去的自己

终于懂了为什么会有神人会想念高中的生活。原来他们不是想念高中,而是想念那个充满激情和眼里有光的自己

IMG 20231210 085540

(本文完)