vb注入机器指令问题求解
碰到个问题纠缠我半天 我想使用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&
当写入的时候 游戏就死机了什么情况 是不是修改了代码就会导致死机
不知道神马情况 有没有高手来指点一下啊
还是应该怎么办
--------------------编程问答-------------------- 自己先沙发 求高手解答 怎么处理死机问题 --------------------编程问答--------------------
写别人的进程是不厚道的吧.
用内存补丁之类的现成程序.
如果你写的内存处的代码处于运行中,你说会怎么样?
更细节的你的找原理性的东西,和vb没关系. --------------------编程问答-------------------- 内存访问需要权限。 --------------------编程问答-------------------- 内存访问我都能读出来 而且我写入了 用ce 去查看代码确实编程了我写入的代码
但是游戏就死机了 --------------------编程问答-------------------- 游戏不能阻止你的注入,你也不能阻止它自尽! --------------------编程问答-------------------- 用debug。exe能写入不。如果能,就shell --------------------编程问答-------------------- 楼上的能说下具体的做法吗 用debug.exe ??????? --------------------编程问答-------------------- 搞这种东西用VC好点,要不用易语言也不错,VB这么弄很多问题不是出在理论上,而是出在VB本身的结构上。
补充:VB , 基础类