技术宅的压博体育下载

?找回密码
?压博体育下载

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 91|回复: 0
打印 上一主题 下一主题
收起左侧

【分享】逆向分析一款Halo 2 PC版的五属性外挂

[复制链接]

1043

主题

2334

帖子

5万

积分

用户组: 管理员

一只技术宅

UID
1
精华
217
威望
288 点
宅币
18181 个
贡献
36758 次
宅之契约
0 份
在线时间
1736 小时
注册时间
2014-1-26
跳转到指定楼层
楼主
发表于 2019-8-28 16:00:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

欢迎访问技术宅的压博体育下载,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有帐号?压博体育下载

x
就是这玩意儿:



它运行起来后是这个样子的:



并且会自动让浏览器打开一个网页:(这应该是作者自己的官网,然而看样子作者咕了?)



为了观察这个外挂到底做了什么,或者它是往哪里写入了什么来实现的作弊,我决定先用IDA看看它的行为,再来分析它写入的地址。



这直接按F5就啥都有了。简而言之:
  • 入口点是WinMain,典型的Win32 App
  • 很多地方直接调用了Windows API,并且根据API名称可以轻易看出它是干啥的。而且都能在MSDN上查到。
  • 根据它调用API的顺序和传递的参数(GetTempPathGetTempFileName,SizeofResource,LoadResourceCreateDirectoryCreateFileWriteFileCloseHandleCreateProcessWaitForSingleObjectDeleteFileRemoveDirectory)可以看出它把自己的资源释放到了临时文件夹,并且生成了临时文件名,然后写入了文件,再执行了一个可执行程序,等它结束,最后删除这些临时文件。删除临时文件的做法规规矩矩很老实。
  • 它其实有两个资源,用eXeScope可以看到,其中一个叫ARCHIVE,另一个叫DECOMPRESSOR。eXeScope为了显示ARCHIVE的Hex内容卡住了。
  • 临时目录有个“CET”的前缀



根据它的行为,我转到了%TEMP%,发现确实存在一个cet开头的文件夹(cetrainer),点进去看发现确实就是它的东西:



这里说一下:CET是Cheat Engine Trainer的缩写。



这里面的“Halo2_TRN-STN.exe”的内容和之前提到的资源“DECOMPRESSOR”的内容一毛一样。那么可以假定它就是解压器了。但它要解压的内容(资源“ARCHIVE”)似乎既不是zip,又不是RAR、7z,也不是gzip或者zlib的数据。不知道是啥。



此外,它解压用的命令行是这个样子的:(请注意sprintf那一行)



我感觉我似乎并没有用过什么解压器它使用“-ORIGIN”指定数据的来源。实际上,我试着用IDA解析这个解压器的内容,但我发现它似乎有壳,至少有花指令,不好弄。先不管它。

不过,至少我们手头上已经有解压好了的数据了,先拷贝出来,免得被它清理了。



这图标似乎非常眼熟,它好像就是Cheat Engine,点开后发现还真的是。



但光有Cheat Engine本体还不够,它自己并不知道该怎么Cheat。那这玩意儿到底是怎么运行的呢?我随手把CET_Archive.dat往解压器上一拖,就得到了一个新冒出来的文件:





这个CET_TRAINER.CETRAINER是什么呢?我把它拖进Cheat Engine的界面想看看它到底是什么内容,结果发现它直接运行了:



(并且还弹出了它那个作者的官网)

经过上网搜寻发现,Cheat Engine允许用户编写lua脚本用于对目标进程进行注入或者内存分配等。而这个CETRAINER文件其实是一个受保护的Cheat Engine脚本,它是经过Xor加密后再经过zlib压缩的。
不过解密似乎十分简单的样子,直接爆破就行,用不了多久。

然后我找到了一个专门用来解密Cheat Engine脚本的软件:https://github.com/albertopoljak/CEtrainer-decrypter
除了这个Java版的,还有一个python版的:https://github.com/AlexAltea/cetrainer-unpacker

然后我把这个CETRAINER文件丢给那个Java版的,立刻我就得到了output.xml源文件了。



把output.xml重命名为CET_TRAINER.ct,就可以用Cheat Engine查看它的各个功能对应的脚本了:




对于它而言一个重要功能是要阉割掉xlive的内存检测,从而使外挂生效,这部分它是特征识别一些代码,然后将其替换为一条jmp指令:



锁能量护盾和HP则是把游戏读取HP的指令替换为FPU加载钦定值的方式来实现:



其中0x40400000作为C语言float类型的浮点数是3.0f

锁弹药上限,则是通过禁用弹药消耗计算来实现:



总结:这款外挂其实就是把Cheat Engine,以及需要它来运行的lua脚本,打包为一个压缩包,再和解压器一起打包为一个exe。非常容易解开。
如果有人想玩弄它的话请回帖下载。本站对下载此软件导致的任何后果包括中毒等不负任何责任,请自行承担风险。

游客,如果您要查看本帖隐藏内容请回复


您需要登录后才可以回帖 登录 | 压博体育下载

本版积分规则

QQ|申请友链||Archiver|手机版|小黑屋|技术宅的压博体育下载 ( 滇ICP备16008837号 )?|网站地图

GMT+8, 2019-9-10 01:01压博娱乐用户登录 , Processed in 0.107565 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.2

? 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表