我最近在寫入處理C++內存時遇到了一個非常惱人的問題......我無法寫入處理具有多個偏移量的內存!即使有成千上萬的頁面解釋了你如何解決這個問題,它似乎仍然不適合我。我一整天都在搜索谷歌,並且發現了很多如何解決這個問題的例子,但它似乎仍然不適合我。具有多個偏移量的WriteProcessMemory C++
所以,讓我先解釋一下自己如何編寫處理內存,然後你就可以糾正它。
讓我們說我有一個基本地址:0x04AF3C94
首先偏移爲:爲0x1C
第二偏移爲:0x20的
三爲:0x568
;第四爲:量0x134
我怎麼這樣做自己:
DWORD offset1 = 0x1C;
DWORD offset2 = 0x20;
DWORD offset3 = 0x568;
DWORD offset4 = 0x134;
DWORD base = 0x04AF3C94;
DWORD pointer;
DWORD pointer2;
DWORD pointer3;
DWORD pointer4;
DWORD pointer5;
ReadProcessMemory(handle, LPVOID(base), &pointer, sizeof(pointer), 0);
ReadProcessMemory(handle, LPVOID(pointer + offset1), &pointer2, sizeof(pointer2), 0);
ReadProcessMemory(handle, LPVOID(pointer2 + offset2), &pointer3, sizeof(pointer3), 0);
ReadProcessMemory(handle, LPVOID(pointer3 + offset3), &pointer4, sizeof(pointer4), 0);
ReadProcessMemory(handle, LPVOID(pointer4 + offset4), &pointer5, sizeof(pointer4), 0);
int value = 500;
WriteProcessMemory(handle, LPVOID(pointer5), &value, sizeof(value), 0);
正如你所看到的,如果我有4個偏移量,例如在這個例子中,我將每個偏移量一次一個添加到基地址,直到我有一個值存儲每個偏移量添加到基地址。 這顯然不工作,我該怎麼辦!?
_This顯然不工作 - 什麼*確切*不起作用,你在閱讀,寫作或宇宙突然自我重啓時遇到崩潰? – zett42
那麼,如果我有例如我的價值我想改變,它不會改變...程序不會崩潰或任何東西,但是我試圖改變的值根本不受影響。 –