好友
阅读权限10
听众
最后登录1970-1-1
|
1. CSGO 游戏前期知识准备
使用命令: sv_cheats True ; bot_add ; bot_stop ; spec_show_xrayspec_show_xray- 在CSGO中, spec_show_xray 是控制观战视角下X光功能的控制台命令,核心用于开关或调节观战/复盘时穿透障碍物查看玩家位置的X光透视效果。
- 该命令通常通过设置0或1来控制状态:输入 spec_show_xray 1 会开启X光功能,此时观战者或复盘demo时,能透过墙体、箱子等障碍物看到场上玩家的轮廓高亮显示,方便看清玩家站位与移动轨迹;输入 spec_show_xray 0 则会关闭该功能,恢复无法穿透障碍物的常规观战视角。
- 这个命令常见于GOTV观赛、demo复盘场景,不管是普通玩家回看自己的对局找问题,还是观看职业比赛分析战术,开启后都能更清晰地掌握全场局势。
是谁访问了这个值?F5进去查看哪个Function,然后反汇编视图,看代码逻辑
第二张图是已经进行了修改的.实际是xor al al,使得al为0.
我们顺着这条路径进行检查,发现从置0到最终结束并没有修改或者赋值这个al寄存器
根据我们最终效果,可以推测出这个al存储可能存储了一个判断值,用来判断渲染透视是否开启(1为True)关于al寄存器:
在x64汇编中,al是通用寄存器AX的低8位。- AX是16位通用寄存器,可拆分为高8位(AH)和低8位(AL)。
- 在x64架构中,AX属于RAX寄存器(64位)的低16位部分,AL则是RAX的最低8位,主要用于处理8位数据的操作,例如字节级的算术、逻辑运算或数据传输等。
- 在x64汇编中,RAX是通用寄存器,主要存储以下类型的数据:
- 返回值:在函数调用约定中,常用于存储函数的返回值(尤其是整数、指针类型的返回值)。
- 临时数据:作为通用寄存器,可用于存储算术运算、逻辑运算的临时结果,或用于数据的传输、暂存等操作。
- 函数参数(辅助):虽然函数参数传递通常优先使用RCX、RDX、R8、R9等寄存器,但RAX也可辅助存储参数或在调用过程中暂存数据。
- 地址/指针:可存储内存地址、指针等,用于内存访问操作(如结合偏移量访问数组元素、结构体成员等)。
2. 使用Pymem库实现逻辑
Pymempythonimport pymemimport pymem.processoffset = 0x8FF0EC #已经过时#client.dll+8FF0EC PE = pymem.Pymem('cs2.exe') #获取进程Objectclient = pymem.process.module_from_name(PE.process_handle,"client.dll").lpBaseOfDlladdress = client + offsetPE.write_bytes(address,b"\x90\x90",2)
pymem.Pymem 返回一个进程对象,内部存有进程句柄pymem.process.module_from_name
第一个参数是进行句柄,第二个参数是模块名字,返回一个MODULEINFO对象- 里面第一个参数是模块基地址,第三个是模块允许实际开始地址
PE.write_bytes
就是方法就是以字节形式进行写入,问为什么4个参数,只写3个.....这个问题我不回答
Pymem文档:https://pymem.readthedocs.io/en/latest/api.html#pymem |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|
|