這是作業作業。更改dll的內容
我應該改變一個DLL函數的內容,並把它的錯誤(0xCC)。加載dll函數並將其保護更改爲PAGE_EXECUTE_READWRITE
。
我在種植錯誤代碼時遇到了麻煩。我嘗試以下(我刪除了非有趣的事情):
typedef BOOL (*pfn)();
HMODULE hModule=LoadLibrary("somedll");
pfn somefunc=(pfn)GetProcAddress(hModule,"somefunction");
VirtualProtect (somefunc,dwSize,PAGE_EXECUTE_READWRITE,&dwOldProtect);
BYTE *p = (BYTE*)somefunc;
*p = 0xCC;
當我執行somefunc
,而不是得到一個例外,它運行沒有任何問題。爲什麼是這樣,我做錯了?
如何覆蓋該功能?
你在同一個進程中運行'somefunc'? – 2011-05-17 18:11:50
a。是的,我在同一個過程中運行somefunc。 b。這是我問 - 我如何覆蓋函數? – aaaa 2011-05-17 18:13:48
請幫助任何人嗎? – aaaa 2011-05-17 18:47:50