12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
查看: 177|回复: 0

Python 编写FPS发光透视

[复制链接]

60

主题

60

帖子

130

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
130
发表于 2020-6-16 11:22:00 | 显示全部楼层 |阅读模式
应该是代码中有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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主热帖
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|12558网页游戏私服论坛 |网站地图

GMT+8, 2024-5-19 03:14 , Processed in 0.112305 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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