vb注入机器指令问题求解

liaomin416100569 2013-01-08 06:59:01
碰到个问题纠缠我半天 我想使用WriteProcessMemory写入机器码指令到p2BaseAddress 这个地址
p2BaseAddress = &HEE41EEE

首先&HEE41EEE 的原始代码是
下面是我读的&HEE41EEE的代码
Dim abyte(0 To 5) As Byte
p2BaseAddress = &HEE41EEE
ReadProcessMemory qjpro, ByVal p2BaseAddress, abyte(0), 6, 0&
读出的abyte从0-5值129[16进制值是81],225[16进制值是E1],255[16进制值是FF],3[16进制值是3],0,0 对应的机器码是:81E1FF030000
实际上相当于指令 and ecx,000003FFh

我想通过WriteProcessMemory 将我构造的abyte 写进去 也就是将
and ecx,000003FFh 替换成mov ecx,00000160h
mov ecx,00000160h 的机器码是B960010000 但是他只有5byte 前面的读出来的是6byte 所以我加入一个
控制令 nop 90
写入的就是90B960010000
开始构造 数组

abyte(0) = &H90
abyte(1) = &HB9
abyte(2) = &H60
abyte(3) = &H1
abyte(4) = 0
abyte(5) = 0

WriteProcessMemory qjpro, ByVal p2BaseAddress, abyte(0), 6, 0&
当写入的时候 游戏就死机了什么情况 是不是修改了代码就会导致死机
不知道神马情况 有没有高手来指点一下啊
还是应该怎么办
...全文
213 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
现在还是人类 2013-01-13
  • 打赏
  • 举报
回复
搞这种东西用VC好点,要不用易语言也不错,VB这么弄很多问题不是出在理论上,而是出在VB本身的结构上。
liaomin416100569 2013-01-11
  • 打赏
  • 举报
回复
楼上的能说下具体的做法吗 用debug.exe ???????
亚昆 2013-01-09
  • 打赏
  • 举报
回复
用debug。exe能写入不。如果能,就shell
Tiger_Zhao 2013-01-09
  • 打赏
  • 举报
回复
游戏不能阻止你的注入,你也不能阻止它自尽!
liaomin416100569 2013-01-09
  • 打赏
  • 举报
回复
内存访问我都能读出来 而且我写入了 用ce 去查看代码确实编程了我写入的代码 但是游戏就死机了
东方之珠 2013-01-09
  • 打赏
  • 举报
回复
内存访问需要权限。
王二.麻子 2013-01-09
  • 打赏
  • 举报
回复
写别人的进程是不厚道的吧. 用内存补丁之类的现成程序. 如果你写的内存处的代码处于运行中,你说会怎么样? 更细节的你的找原理性的东西,和vb没关系.
liaomin416100569 2013-01-08
  • 打赏
  • 举报
回复
自己先沙发 求高手解答 怎么处理死机问题

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧