UE常用偏移 Uworld:见上文 Ulevel:Uworld + 0x30 -> Ulevel Actor:Ulevel + 0x98 ->Actor GameInstance:Ulevel + 0x180 -> GameInstance PlayerController:GameInstance + 0x28 -> +0x38 -> 0 -> 0x30 -> PlayerController APawn:PlayerController + 0x250 -> APawn RootComponent:APawn + 0x130 -> RootComponent Vector(即Localplayer坐标):RootComponent + 0x100 -> Vector Matrix: 字节数组特征:00 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 3F 00 00 00 00 下翻得到矩阵,示例如下: ...
Posts
某魔改Uworld逆向分析 写在前面 tx游戏共同特点就是用了ACE的ue引擎。ACE对基础结构的保护还是很猛的 历时几周的研究,哥们终于找到定位ACE魔改Uworld的方法了。 本文原创,同时也发布视频BV13YhCzBEaP. 如果你有更好的方法欢迎和我交流 静态分析 可以看到这里的特征确实发生了变化 sub_143C59B40(&off_146B76CFO,QWORD(a1+ 136)); 正常Uworld是这样的: 这里的它将原本直接传递给Uworld的值作为一个参数,与另一个不知道什么东西的东西一起传入到函数sub_143C59B40中 跟进函数去看也没什么重要信息。 其实这里的特征点确实没什么变化,tx喜欢每次更新上小算法已经是业界常识了(cr3也一样)他不敢上难的算法。优化这一块,我只能说没得选 但是目前分析来看他确实变化了,所以这里需要动态分析 这里科普一个常识,64位程序的第一个参数是RAX,第二个参数是RDX,第三个是R8,第四个是R9 记起来,后面要考 动态分析 首先定位到sub_143C59B40 IDA分析已经很明确了,刚刚接受Uworld的值的参数存放在RDX寄存器中 这里可以打一个断点来看RDX寄存器的值为C36C98D0 这里可以直接观察C36C98D0的结构体 0x00 ,0x10,0x20,0x28,0x30 是不是很熟悉?这就是Gworld 但是这并不是正确的地址。观察一段时间后可以发现,RDX的值又变动了 指针会变动,说明这个指针并不是我们要找的指针 (后来得到大佬指点,这一块Gworld是Gworld的某个缓存,是ACE独有的,是不能用于直接定位) 这里研究了两种办法解决这个问题 方案一 由于ACE的进程保护机制,我们几乎不可能用普通调试器进行操作 ...
记一次unity逆向——超自然行动组 前情提要 这是由一份消息引发的惨案。 本人日常冲浪的时候发现有个人发了一份偏移和基址,群里没人离他。但懂得都懂,这份基址也太危险了。本着学习的心态,我开始人生第一次Unity逆向 逆向 由上述基址转换为CT表如下 跑到游戏里面大概就是这样一些东西。原文中提到了物资数组,里面储存包括成员的名称,坐标,ID,血量(没错,物资也有血量)。 那么其实只需要遍历这个字典再绘制出来就可以完美收工了 说实话,我从没打过这么轻松的仗 其实主要思路就这些。随随便便就写完了 ? (还好我的博客都没人看,我写更多的前言后语写的更加安心一些。 所以这次我决定写在中间 写在中间 学习到这里不难看出,unity和虚幻引擎的逆向都是惊人的相似,唯一区别就是他们储存的方式不一样:前者用的是字典,后者则用的是数组。而逆向思路就是一样的: unity是遍历这个成员字典,虚幻则是遍历整个Actor数组 我有一个猜想:这俩个引擎是不是都是有父子关系? 上网搜索了一下 卧槽!! 真没有。 我 厌倦了 (罐头笑声 那么其他引擎呢? 所以我把视角转向了起源引擎: 其实起源引擎是我最早研究逆向的引擎。和大多数人一样,都是从cs1.6的起源引擎开始研究游戏逆向这一块的,早期成果如下: 现在看到自己画的框,忍不住笑出声来。那时候我用的算法很老,是从cs起源搬来的。没想到能直接用到cs2里面。不过这也算是一个来时路了,也没想着炫耀啥的。 我已经过了那个喜欢在网上夸耀自己的年纪了。毕竟人外有人。 要做一个好人 并且时刻对技术保持敬畏 就像直到第一次尝试虚幻引擎。才知道原来外挂是一门艺术 我第一次阅读别人的源码,就为他人的思路惊叹。 没想到python课听不懂的多线程,在一个外挂源码里面给我读明白了。于是我就开始一句一句地啃源码。遍历绘制了第一份Actor数组: 然后就是不断地潜伏,不断地学习,技术才娴熟起来。远光84,三角洲都已经成为手下败将了。 另外必须要声明的事:关于开挂这件事我是极力反对的。我学习逆向只是为了技术能够得到提升,而不是用来做坏事。网络安全亦是如此。 现在是2025-8-30凌晨1点,突然来了感触。接下来是一些心里话,我决定写在后面: 写在后面 技术这一块是没有尽头的。我看到招新群涌进来一堆新同学,讨论ctf题,我又忍不住想起那个冬天,从F区跑到社团打ctfshow,然后回去又偷偷学习,想着转专业来三院。 ...