作者zha0 (zha0)
站内Programming
标题[请益] Delphi 指标
时间Fri Feb 15 00:57:17 2008
pa, pb: pointer;
i,j: integer;
begin
i:=2;
pa := @i; // 取 i 位址给 pa
pb := pa; // 把 pa 给 pb
pb := @j; // pb 设成 j 位址
j := integer(pa^); // i 放入 j
integer(pa^) := 20; // 20 放入 i
integer(pb^) := integer(pa^); // i 放入 j
问题来了,如果 pa 今天指向 #$402000 的位址, 那我要以 pa 当 base address
要移动 20 个 bytes 要怎麽移
j := integer( pointer(pa)+Pointer(20) );
------------
ex:
要写下面的种东西, 在 c 里面我会用,但在 delphi 里面,还不知怎麽弄 XD
{CopyMemory(Pointer(@Buffer),Pointer(LongInt(FMemory)+FUseableStartPos+FPosit\
ion),Result);}
Move(pView^, ImgDosHeader, sizeof(IMAGE_DOS_HEADER));
Move(pView^ + Pointer(ImgDosHeader._lfanew)^, ImgNtHeaders,
sizeof(IMAGE_NT_HEADERS));
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.8.108.188
1F:→ zha0:XD 自问自答 Move(Pointer(Longint 124.8.108.188 02/15 01:22