關於C++ 指針型數據
目前小弟無聊拿來測試寫了一下,發現讀取出來的數值跟CE的一樣
所以有人有寫DLL外掛,用內聯彙編去讀取的嗎??
所以如果是 0x40000] + 0x39]這樣的指針
後面感覺就可以用彙編讀取了,希望有大佬可以來給小弟指點指點迷津
本帖最後由 幻想 於 2023-4-21 23:41 編輯
按照你的asm代碼來看的話直接明文代碼操作更好理解些
DWORD dwHandle = (DWORD)GetModuleHandleA("kernel32.dll");
int val = *(int*)(dwHandle);
std::cout << "Address Value: " << val << std::endl;
result: Address Value: 9460301
幻想 發表於 2023-4-21 23:40 static/image/common/back.gif
按照你的asm代碼來看的話直接明文代碼操作更好理解些
DWORD dwHandle = (DWORD)GetModuleHandleA("kernel32 ...
想問個問題,假如還沒進到遊戲關卡內
CE指針
改了會閃退怎麼解決
本帖最後由 幻想 於 2023-4-22 01:02 編輯
YYYpo 發表於 2023-4-22 00:46 static/image/common/back.gif
想問個問題,假如還沒進到遊戲關卡內
CE指針
試著想一下 如果你的內聯彙編對一段非法記憶體進行操作會不會崩潰
這種讀寫方式沒有Write/Read ProcessMemory 來的方便就是因為你必須手動判斷記憶體是否有效
當然,如果今天是DLL外掛 最好注意一下效能占用問題 遇到需要高頻繁讀寫還是少用WinAPI好
拿目前楓之谷版上的 v251.3 MapID 數據當作範例
DWORD64 dwMapInfoPtr = *(DWORD64*)(0x146745CB0);
if (dwMapInfoPtr && dwMapInfoPtr > 0x1024)
{
int MapID = *(int*)(dwMapInfoPtr + 0x3B8);
}
0x1024 只是我大概抓的一個範圍 這個由你自己去訂,當然你也可以只判斷他是否等於零 本帖最後由 YYYpo 於 2023-4-22 01:32 編輯
我用這個就可以惹[VirtualProtect]www
彙編修改
改一下另一種可以,但是實際讀取指針p碼,單機遊戲本來自己想無聊多訓練一下,用CE看地址都可以
WPM可以修改指針
用dll注入打勾,遊戲就繃了,用*指針方式寫入的
頁:
[1]