吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2060|回复: 6
收起左侧

[求助] C/C++如何锁定某个地址的值不被修改呢?

[复制链接]
mayuan5520 发表于 2019-9-23 11:46
C/C++在学习外挂制作方面,比如我CE找到了某个值的基址,我要用C++实现checkbox勾选上的时候,那这个值不能被修改。相当于锁定,在勾选上时候  一直不能被修改。类似图片上的这种。勾选上的时候外部无法修改数据。请各位大神指点下经验  ,谢谢啦

类似图片这种

类似图片这种

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| mayuan5520 发表于 2019-9-23 11:58
获取句柄  获取PID  打开进程  然后写入进程都会。但是写入后游戏里面动一下那个值会被修改,如何让我找到的那个值在勾选的时候不被修改呢
苏紫方璇 发表于 2019-9-23 12:59
 楼主| mayuan5520 发表于 2019-9-23 13:10
谢谢版主      是不是可以这样理解   checkbox勾选上的时候,那这个值不能被修改。相当于锁定, 是不是有个死循环来做?当checkbox==true  一直不断向那个地址写入某个值,直到checkbox==flase的时候在return?。这样实现没问题吧?还是加个时钟?或者有更好的方法呢?

点评

加个时钟就可以,复选框选中就启动时钟,然后时钟里读取数据,比对,写入锁定数值  详情 回复 发表于 2019-9-23 18:28
bester 发表于 2019-9-23 15:57
我考虑了一下,提几点供楼主参考,首先不考虑0环,只考虑3环,0环驱动要改写估计你也没啥办法

1.3环内,如果知道具体哪个程序会改写游戏,那么只需要不让那个程序获取到handle就可以了,那么可以考虑hook openprocess 这个api,当然如果想彻底一点那就连低一级的api 比如nt或者zw也hook掉
2.3环内,可以考虑将页面属性改成只可读不可写,但是要考虑一个因素就是virtualprotect这个api可以改写内存属性,那么排除掉这个api修改内存属性,那么如果游戏本身会对该地址进行改写,那么肯定游戏会崩溃掉,这点注意一下,如果是别的程序,那么他自己会崩溃,就无所谓了,游戏不会掉的
3.写一个时钟,无限写入该值,缺点就是比较浪费系统资源,而且有一定的危险性,但是概率很小,简单解释就是,假设程序读到该地址的一瞬间,修改了该值,那么有可能造成冲突
4.大循环同理,也就是while do的写法,不断用read读取该值,如果获取值不是你修改的值,那么就改写成你想要的值,这种好处就是多读少写,理论上来说更安全一些,比频繁写入更为安全
 楼主| mayuan5520 发表于 2019-9-23 18:12
好的  谢谢。刚接触这块,给了不少思路!
苏紫方璇 发表于 2019-9-23 18:28
mayuan5520 发表于 2019-9-23 13:10
谢谢版主      是不是可以这样理解   checkbox勾选上的时候,那这个值不能被修改。相当于锁定, 是不是有个 ...

加个时钟就可以,复选框选中就启动时钟,然后时钟里读取数据,比对,写入锁定数值
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 02:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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