を追加することはできません私のコードは簡単で、は2つのポインタ
#include <cstdint>
#include <windows.h>
#define ADDR_cabalbase 0x01083A90
#define ADDR_ONat 0x35c
#define ZeroOFS 0x0
int main()
{
if ((*reinterpret_cast<PDWORD *>(ADDR_cabalbase)+*reinterpret_cast<PDWORD *>(ZeroOFS))
+ *reinterpret_cast<PDWORD *>(ADDR_ONat)
== 3){
ExitProcess(0);
}
}
のような非常に簡単なように見えた。しかし、それはエラーを与える:
Error 1 error C2110: '+' : cannot add two pointers
誰かが私が間違ってやっているものを私に伝えることができます。私はちょうど
procedure TWanda.Timer5Timer(Sender: TObject);
begin
try
if PDWORD(PDWORD(PWORD(cabalbase)^+$0)^+ONat)^ = 3 then
begin
timer9.Enabled:= true;
end;
except {ignore errors} end;
end;
あなたが追加することはできません。ポインターへのポインタ、それは意味をなさない、それはそのコードがデルファイで何をするのか明確ではない – Slava
ポインタは、エンベロープが郵便番号を含むように、メモリ内のアドレスの位置を含む。郵便住所の追加は、ポインタの追加が意味をなさないようには意味がありません。ポインタに* offset *を加えることができます。 –
あなたの質問にコードの写真を載せないでください。コードをテキストとして貼り付けるだけです。 – Johan