私がやっていることは、実行中のプロセスに DLL を挿入することです。次に、バージョンなど、そのプロセスに関するいくつかの情報を確認します。私の問題は、再確認したいリビジョン番号を含むアセンブリ ファイル内の文字列にアクセスできないように見えることです。これが私がこれまでに持っているものです:
__declspec(naked) void CheckBuild()
{
char* revision;
__asm {
sub esp, __LOCAL_SIZE
pushad
pushfd
mov revision, dword ptr 0x5F5200
}
printf("Detected revision ID: %u\n", revision);
__asm {
popfd
popad
add esp, __LOCAL_SIZE
retn
}
}
このトレーニングの場合、IDA を介して取得し、CheatEngine と OllyDbg を使用して確認した文字列のアドレスは一定です。
ただし、何を試しても、常に 0x5F5200 が 10 進数で返されますが、これは間違いなく期待どおりではありません。lea などを含め、ほとんどすべてを試しましたが、まだ有効な文字列を取得できません。
誰でも私を正しい方向に向けることができますか?