永发信息网

WriteProcessMemory填写内存地址问题

答案:3  悬赏:0  手机版
解决时间 2021-01-25 21:18
  • 提问者网友:记得曾经
  • 2021-01-24 21:56
我要修改一个程序内存地址,用游戏修改器找到它们的地址,得出地址格式全部以0x开头,例如:0x0064C69C;
我用VB自已编一个内存修改器,用WriteProcessMemory的时候,把刚才搜到的址填入:
WriteProcessMemory Proc.th32ProcessID, 0x0064C69C, "2", 1, 0&
x1=WriteProcessMemory Proc.th32ProcessID, 02D5C2EE, "2", 1, 0&
以上都提示我语法错误,缺少语句结束,我觉得是我搜到的内存地址格式有问题,因为我在网上找WriteProcessMemory教程时,看到他们的内存地址格式都以&H开头.
问题1:我搜到的内存地址有问题吗(0x0064C69C)?
问题2:如果我搜到的内存地址有问题,怎样转换所需要的格式?

谢谢!
最佳答案
  • 五星知识达人网友:孤老序
  • 2021-01-24 22:55
对,在VB里面十六进制(包括地址)必须用&H开头,你得出的0x0064C69C要转换为&H0064C69C或者去掉前面的零&H64C69C才行。嫌手动转换麻烦的话,可以用下面的代码来转换。其中s1是你得出的地址,s2是转换好的地址。
Dim s1 As String, s2 As String
s1 = "0x0064C69C"
s2 = Replace(s1, "0x", "&H")
全部回答
  • 1楼网友:狂恋
  • 2021-01-25 01:38
你好! H0064C69C vb里面的十六进制的表达应该是 以h开头吧 如果对你有帮助,望采纳。
  • 2楼网友:独钓一江月
  • 2021-01-25 00:05
VB里用&H64C69C 顺便说一下函数参数错误,应该改成 x1=WriteProcessMemory Proc.th32ProcessID, &H2D5C2EE, 2, 1, 0& 2是长整形,不能用引号
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯