プロセスにフックされる dll アプリケーションを作成しました。動作しますが、最初の文字しか表示されません。
文字列全体を取得したかったのです。文字列は 2 文字から 32 文字までさまざまです。
//READING MEMORY
HANDLE ExeBaseAddress = GetModuleHandleA(0);
char uNameAddr = *(char*)((char*)ExeBaseAddress + 0x34F01C);
printf("%c \n", uNameAddr);
また、次の部分も理解したいと思いました。
*(char*)((char*) //<-- what this is for.
マルチレベルポインターを使用する場合にこれを使用できる場合:
char multipoint = *(char*)((char*)ExeBaseAddress + 0x34F01C + 0x123 + 0x321 + 0x20);
アップデート
ここで何かが間違っていると思います:
if(uNameAddr == "omnicient")
cout << "YOU ARE OMNI" << endl;
ユーザー名を使用しましたomnicient
が、 cout しませんでしたYOU ARE OMNI
。私の比較は間違っていると思いますか?