在不使用ReadProcessMemory的情况下,有没有办法把里面的值给读出来?
比如内存地址为0x1234ABCD,里面放的数是1024

解决方案 »

  1.   

    如果只是读程序自身的内存只要CopyMemory就行了
      

  2.   

    跨进程的话,必须要用ReadProcessMemory
      

  3.   

    跨进程除了ReadProcessMemory 还可以注入到目标进程直接取.
      

  4.   

    完全可以,但前提是该内存是可以读的
    如果只是读一个整型值,直接用指针就可以了:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    pw:pword;
    w:word;
    begin
     pw:=pointer($1234ABCD);  //一般情况下,0x1234ABCD是不能读的
     w:=pw^;
     ShowMessage(inttostr(w));
    end;
      

  5.   

    回楼上的,$1234ABCD你瞎编的吧,分都没分配当然无法读.这样举例很不恰当.