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&
当写入的时候 游戏就死机了什么情况 是不是修改了代码就会导致死机
不知道神马情况 有没有高手来指点一下啊
还是应该怎么办