??Windows????????С??????????????API
???????????? ???????[ 2012/9/7 10:02:18 ] ????????
???????′?????MessageBox????y?????????????????????庯??MyMessageBox?????
????g_addr????洢??????MessageBox????
Typedef int (WINAPI??*PFNMESSAGEBOX(HWND??LPSTR??LPSTR??UINT);//???庯?????
PFNMESSAGEBOX g_addr=(PFNMESSAGEBOX)MessageBoxA;//?洢MessageBoxA??????
//???????????
int WINAPI MyMessage(HWND hWnd??LPSTR a??LPSTR b??UINT type)
{
return ((PFNMESSAGEBOX)g_addr)(hWnd??a??"?滻?????????"??MB_YESNO);
}
//?? MessageBox???????????MyMessageBox?????滻??
Void ReplaceOneFunc(PCSTR ModuleName??PFNMESSAGEBOX pfnOld??PFNMESSAGEBOX pfnNew)
{
pfnOld=(PFNMESSAGEBOX)MessageBoxA;
pfnNew=(PFNMESSAGEBOX)MyMessageBox;
HMODULE hModule=GetModuleHandle(NULL);
ULONG size;
PIMAGE_IMPORT_DESCRIPTOR pImport=(PIMAGE_IMPORT_DESCRIPTOR)ImageDirectoryEntryToData
(hModule??true??IMAGE_DIRECTORY_ENTRY_IMPORT??&size);
UpdateData();
while(pImport->FirstThunk)
{
char *ModuleName=(char*)((BYTE*)hModule+pImport->Name);
PIMAGE_THUNK_DATA pThunk=(PIMAGE_THUNK_DATA)((BYTE*)hModule+pImport->FirstThunk);
while(pThunk->u1.Function)
{
PFNMESSAGEBOX *ppfn=(PFNMESSAGEBOX*)&(pThunk->u1.Function);
if(*ppfn==pfnOld)
{
MessageBox("??????????????");
SIZE_T num;
WriteProcessMemory(GetCurrentProcess()??ppfn??&pfnNew??4??&num);
MessageBox(NULL??"???????????滻???API!"??""??MB_OK);
((PFNMESSAGEBOX)g_addr)(NULL??"?????????????????????"??""??MB_OK);
return ;
}
pThunk++;
}
pImport++;
}
MessageBox("???????ú???!");
}
????WriteProcessMemory(GetCurrentProcess()??ppfn??&pfnNew??4??&num);
??????????????????檔?????MyMessagebox?????滻MessageBox?????????????????????ο?MSDN??
????((PFNMESSAGEBOX)g_addr)(NULL??"?????????????????????"??""??MB_OK);
??????????????????????MessageBox????????????????????MessageBox????????????MyMessageBox??????
??????????????????????API????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11