我有一個hack程序;它將一些功能注入目標進程以控制它。該程序使用內聯彙編以C++語言編寫。任意指向未知類功能的指針 - 無效類型轉換
class GameProcMain {
// this just a class
};
GameProcMain* mainproc; // there is no problem I can do =(GameProcMain*)0xC1EA90
現在我想定義一個類函數(將ecx設置爲類指針)而不是編寫程序集。
PPLYDATA GetNearblyMob(__Vector3* cordinate) {
__asm {
mov ecx, 0xC1EA90
enter code here
push cordinate
mov edi, 0x4A8010
call edi
}
}
我想定義它,並調用它。
PPLYDATA (DLPL::*GetNearblyMob)(__Vector3* cordinate);
mainproc->GetNearblyMob(ADDR_CHRB->kordinat)
當我嘗試GetNearblyMob=(PPLYDATA (DLPL::*)(__Vector3*)) 0x4A8010;
它說像error: invalid type conversion: "int" to "PPLYDATA (DLPL::*)(int, int)"
,但我可以做到這一點,設置指針:
void initializeHack() {
__asm {
LEA edi, GetNearblyMob
MOV eax, 0x4A8010
MOV [edi], eax
}
}
現在我要學「哪能設置GetNearblyMob而不使用程序集並在C++中合法「。
你可能不打算在這裏找到太多幫助,讓你的遊戲作弊代碼工作。 – msw 2010-09-05 02:16:29
作弊有甚麼錯誤?就我個人而言,我學到了很多裝配學習在ZX-80遊戲中作弊。 – user434507 2010-09-05 02:25:11
msw,但是我的破解工作,並將工作沒有這個東西..我只是想編譯生成智能彙編代碼,而不是我自己。因爲我組裝了很多功能,http://img268.imageshack.us/img268/3432/hackzv.jpg ps hamster3null,再次感謝你,我也學會了使用作弊的程序集,我可以使用很多調試器破解應用程序和hook directx。 – 2010-09-05 02:27:38