标题:关于写入数据到内存的一个问题(弄修改器ing…)
只看楼主
Tsuyoichi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-6-29
 问题点数:0 回复次数:0 
关于写入数据到内存的一个问题(弄修改器ing…)
偶用ReadProcessMemory和WriteProcessMemory弄一个修改器时,遇到了一个数值写入内存的问题,不知道是为什么,各位如果遇到过的话可以分享一下解决方法么?

前提:声明无误,已经打开游戏进程并获得最大读写权限,读取和写入内存已经成功。问题就出在直接写一个数值到指定的一级基址上。
在之前,(基址+多级偏移)的情况下是已经实现写入成功的,但直接写到一个基址上就写不进了。

例如把文本框内的数值转换成单浮点后写入基址4BB70C中去:
WriteProcessMemory hProcess, &H4BB70C, CSng(Textx(1).Text), 4, 0
结果就发现是写不进去,我用Cheat Engine试过是能修改的,用VB是能直接读出地址中的值,但就是写不进去数值,非常不解啊。

之前的(基址+多级偏移)是调用一个子程序完成写入的。
Private Function NCwriteS(PY1 As Long, PY2 As Long, x As Single)
Dim edx As Long
ReadProcessMemory hProcess, ByVal &H4DC270, edx, 4, 0
'4DC270是基址,读出里面的指针
ReadProcessMemory hProcess, ByVal edx + &H2A6A4, edx, 4, 0
'再加上第一级偏移量,读出目标指针
ReadProcessMemory hProcess, ByVal edx + PY1, edx, 4, 0
'再加上第二级偏移量,读出目标指针
WriteProcessMemory hProcess, ByVal edx + PY2, x, 4, 0
'再加上第三级偏移量,对目标地址写入数据
End Function

对于这个也没发生写不进的问题,得出最终地址后直接写入也没问题。
就是直接写一个基址的时候就写不进了……囧
5555知道何解的请帮帮忙啊~
搜索更多相关主题的帖子: 内存 修改器 基址 ing 数据 
2008-07-18 12:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-224323-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.078989 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved