Ryan 发表于 2022-6-17 16:27:45

从两个方面谈,一个是传奇是封包拦截通过拦截recv函数的返回接收数据做到的,recv函数存在于ws2_32.dll和wsock32.dll,属于系统dll。读入mir1.dat修改你无法定位,除非运行起来,但是运行起来后你修改dump出去也是系统的dll。此路不通,一个是从内存下手,这个数据存在于堆栈,取相对位置强制jmp修改可以,但是这个堆栈不是专属的,属于临时堆栈空间,强制改了后也会让游戏崩溃,毫无意义,如果硬说想实现其实也行,在mir1.dat里面自建一个区段,从入口点跳转过去,原理大概和InlineHook差不多,传奇的更新是通过判断md5,这样改了后会更新,阻拦更新的话和自己写个这个功能的挂来说没啥区别了,区别就是不需要注入器了,自进程唤起罢了。综上得出结论,不如开挂,基本是个挂都带这个功能

太阳树 发表于 2022-6-17 18:31:40

Ryan 发表于 2022-6-17 16:27
从两个方面谈,一个是传奇是封包拦截通过拦截recv函数的返回接收数据做到的,recv函数存在于ws2_32.dll和ws ...

感谢!
虽然没解决,但是分析很有道理.

为什么只要是个挂都能解决的问题,不用挂就解决不了呢?

周末愉快!

Ryan 发表于 2022-6-17 19:43:12

太阳树 发表于 2022-6-17 18:31
感谢!
虽然没解决,但是分析很有道理.



挂是自己的代码,自己想怎么写怎么写,mir1.dat是游戏的代码。受限制,最简单的一段汇编
MOV EAX,A//赋值EAX值为A
MOV EBX,B//赋值EBX值为B
CMP EAX,EBX//比较EAX和EBXxxxxxxxx

如果自己hook就可以
JMP XXXXXXX//跳转到自己代码
自己写运算
retn
然后上面的A和B是这里代码返回的数,通过修改A,B的数改变了代码运行轨迹和输出

页: 1 2 [3]
查看完整版本: 20宝请教问题:不使用外挂情况下,有没有办法屏蔽系统红字?