我注入到一个进程之后,要怎么读指定内存的值呢?如果有偏移的又怎么读呢~~我直接用汇编写那程序就出错了~~代码如下,哪位大大帮我看一下~~DWORD a;
__asm
{
pushad
mov eax,0x400000
mov eax,[eax+0x20]
mov ebx,dword ptr[eax]
mov a,dword ptr ebx
popad
}上面的地址是假设的~~但为什么会出错呢~~
__asm
{
pushad
mov eax,0x400000
mov eax,[eax+0x20]
mov ebx,dword ptr[eax]
mov a,dword ptr ebx
popad
}上面的地址是假设的~~但为什么会出错呢~~
unsigned char ch = *p;读取绝对地址0xF0000+0xFF00(16位段地址和16位偏移地址)的值。
如果要读别的进程空间的数据。。要OpenProcess
读自己空间的数据就不用
{
int iRead;
_asm
{
mov esi, 0x400000
mov eax, [esi]
mov i, eax
}
cout << "iRead:" << hex << iRead << endl;
}
这是读自己空间的数据的代码