发表于 2019-9-6 10:52

申请会员ID:lieas

1、申 请 I D:lieas
2、个人邮箱:
3、原创技术文章:

2018年1月8日之后,某易似乎对hyxd的内存数据进行了简单的检测,原来的通过基址+偏移的方法改数据会被秒封。

(以下的基址截止2018年1月11日有效)
物品红色gamma值地址:[[["hyxd.exe"+1B9A678]+AC]+E0]+E0,float类型,直接把该数值改成1000会导致账号被封,具体原因暂时不清楚。(这个地址是之前吾爱破解论坛里某帖发的,帖子中的给出的基址已经失效,也没后续更新,所以帖子沉了,很抱歉没法贴出原帖地址)

研究过程:

1. 首先这个游戏有简单的反调试,Cheat Engine 菜单 > Edit > Settings > Debugger Options,改一下设置Debugger method: Use windows debugger,Debugger interface config: Try to prevent detection of debugger,简单粗暴的反反调试就可以了,至于“Try to prevent detection of debugger”具体做了什么暂时不太清楚,有待进一步研究。

2. 然后就可以对这个地址进行“Find out what accesses the address” > “Find what accesses the address pointed at by this pointer” 可以看到两条指令
https://lieastanglei.oss-cn-shanghai.aliyuncs.com/QQ%E6%88%AA%E5%9B%BE20190906103045.png

经过测试,第一条是真正有用的代码,第二条大约每1秒触发1次,可能就是用来检测数据异常的。

那么,不用内存数据修改的方法怎么办呢?

3. 代码注入

https://lieastanglei.oss-cn-shanghai.aliyuncs.com/QQ%E6%88%AA%E5%9B%BE20190906103108.png

这三条指令,第一条是读取红色亮度,第二条是乘以白色亮度,第三条是存到。

代码注入原理很简单,就是二话不说,直接给赋值float的1000。

这块内存区域足够我们注入了,不需要申请新内存,直接在这块内存上修改即可。

原始代码:8 + 5 bytes

mulss xmm0,
movss ,xmm0


修改后代码:7 + 6 * 1 bytes

mov , (float)1000.0
nop
nop
nop
nop
nop
nop


这个就是最简单的代码注入了。

4. 然后就是在CE中实现了


"hyxd.exe"+64F3EA:
mov , (float)1000.0
nop
nop
nop
nop
nop
nop


"hyxd.exe"+64F3EA:
mulss xmm0,
movss ,xmm0


保存到代码列表即可。

然而CE的自动汇编似乎每条指令不是同时写入的,连续的开关这个代码注入有时直接导致程序崩溃,所以我改为使用db直接拷贝字节数组,这样可以一次性写入,防止程序崩溃。

"hyxd.exe"+64F3EA:
db C7 47 40 00 00 7A 44 90 90 90 90 90 90


"hyxd.exe"+64F3EA:
db F3 0F 59 86 EC 00 00 00 F3 0F 11 47 40


这样基本可以完成了,目前测试不会被封号。

附录:

人物站立搜1.65,趴下搜0.76,只剩下一个地址,这是跟随相机的高度。

不要直接修改这个数值,队友观战的情况下可以看到和你相同的画面。

对这个地址使用上述同样的方法,找出写入的代码,然后在原始内存上代码注入即可,比如设置成30,就可以拥有一个头上的无人侦察机了。

另外:不开镜搜39.4,二倍镜搜39.4/2,四倍镜搜39.4/4,同理。

附件是我自己的 Cheat Engine 存档文件。

总结:

这个游戏的反外挂系统还不是很完善,正好可以用来练练手,不过还是希望官方尽快完善反外挂系统,甚至不是从客户端入手,而是检测服务器数据。


Hmily 发表于 2019-9-6 16:26

抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
页: [1]
查看完整版本: 申请会员ID:lieas