应该是代码中有Win API ,触及到waf了,所以代码都将通过截图方式放出。
搜索步骤
1.进入观战模式按 X开启后的效果,可以看到全部人都在发光,并且实现了透视效果
在按一次X就是关闭这样子啥都看不到了
2.打开CE,开始搜索
步骤:
发光搜1
不发光搜0
重复上述步骤,到最后就会剩下10几条,把它全部添加到代码表,从第一条开始查找访问
就会看到有箭头所指的代码访问,选择这串代码,显示反汇编程序,观察汇编代码。
mov [ecx+edx*8+24],bl 这条语句,若bl为1,则开启人物发光,为0则关闭,所以
这里搜索ecx,可以找到指向ecx的指针,我这里就叫做发光基址吧。。
edx是一个人物的类似ID的玩意儿,向上看,可以知道 lea edx,[esi*8+00000000]
sub edx,esi
而esi是在这里赋值的mov esi,[edi+0000a428] ,这个edi其实就是人物基址。
👇
发光地址 = 发光对象地址+[人物基址 + 0xa428]*0x38+0x24
快捷键F5下断,接着点击箭头所指ECX,将其值复制。
搜索框中,选择4字节,勾选十六进制,将ECX的值粘贴进去,点击搜索,会出来两个绿色的基址,就是静态基址,两个选其一,添加到基址表中
dll + xxxx里 的xxx 这个就是发光基址
开关找到了,接下来就是处理颜色颜色的ARGB分别是这4条代码:3EC7A0F7 - F3 0F11 44 C8 04 - movss [eax+ecx*8+04],xmm03EC7A0FD - F3 0F10 45 D0 - movss xmm0,[ebp-30]3EC7A102 - F3 0F11 44 C8 08 - movss [eax+ecx*8+08],xmm03EC7A108 - F3 0F10 45 D4 - movss xmm0,[ebp-2C]3EC7A10D - F3 0F11 44 C8 0C - movss [eax+ecx*8+0C],xmm03EC7A1D1 - F3 0F11 44 C8 10 - movss [eax+ecx*8+10],xmm0
代码编写
7.完整代码
下载附件吧,代码贴不上来,一贴上来就报waf
我都傻了,发个帖也要努力绕waf
后续
用Python 写了一个CSGO 的发光透视以后,发现模块基址每次重启都会变,所以打算直接通过模块名获取模块基址
然后因为有过用C和易语言编写指定模块名获取基址的经验,所以就开始上手试了
在网上搜索了一点资料,发现有吾爱有一篇是使用Python32位,通过Ntdll库进行模块遍历。将代码复制粘贴,因为我使用的是Python64位的,改了改代码,但是发现失败了,搜不出来,因为代码涉及到PE头,目前还没碰到这块区域,代码作者也说他只是复制粘贴的,所以也不甚清楚为什么,就只能另寻出路了。(我怀疑是Python64 位版本的问题)
返回值是0,我也有尝试过修改 ret + xx后面的数字进行搜索,原作者说这个数是涉及PE头的知识,后面发现,无论怎么改都搜不出来,就放弃了。
使用WinAPI完成指定模块基址读写1.先了解下要使用到的函数
代码一开始我是用Python3写的,但是当代码执行到Module32First时候,就会发生报错
通过搜索引擎搜索了很久,也没解决,ret执行过后变成了0,但是 hModuleSnap不是空值,me32也没问题,到底是为什么我也不清楚了。
后面,我改成Python2来执行这行代码,竟然发现没有报错,惊了。
3.声明全局变量
4.代码编写
5.调用
6.完整代码
看附件吧
后续
后面研究发现,是Python版本问题, 我Python3 是64位 ,Python2 是32位。
然后我就把Python3 卸载了,重装了一个32位的。
然后就可以了。我傻了
Python3 32 位 通过模块名获取模块基址
看附件吧
Python2 通过模块名获取模块基址
看附件吧
代码:
csgo.zip
来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |