joe85231 发表于 2011-3-30 09:07:36

delphi中如何进行基址+偏移运算?

delphi中如何进行基址+偏移运算?我是新手。刚来广海就学会了用delphi读取内存。但是现在不会进行基址+偏移运算
附上:
完美当前血量[[+20]+464]
var
jb:Hwnd;
Pid:Cardinal;
jcjb:Thandle;
Hp:integer;
Num:DWORD;
begin
jb:=FindWindow(nil,'Element Client');
GetWindowThreadProcessId(jb,@Pid);
jcjb:=OpenProcess(PROCESS_All_Access,False,Pid);
ReadProcessMemory(jcjb,Pointer($009853dc),@Hp,4,Num);
label1.Caption:=inttostr(Hp);
end;
高手指教下。

niufen 发表于 2011-3-30 09:07:51

var
jb:Hwnd;
Pid:Cardinal;
jcjb:Thandle;
Hp:integer;
Num:DWORD;

base:dword;      //加个中转变量

begin
jb:=FindWindow(nil,'Element Client');
GetWindowThreadProcessId(jb,@Pid);
jcjb:=OpenProcess(PROCESS_All_Access,False,Pid);
ReadProcessMemory(jcjb,Pointer($009853dc),@base,4,Num);
ReadProcessMemory(jcjb,Pointer(base+$1c),@base,4,Num);
ReadProcessMemory(jcjb,Pointer(base+$20),@base,4,Num);
ReadProcessMemory(jcjb,Pointer(base+$464),@hp,4,Num);
label1.Caption:=inttostr(Hp);
end;
页: [1]
查看完整版本: delphi中如何进行基址+偏移运算?