?????????????????????????

HMODULE hModule=GetModuleHandle(NULL);

ULONG size;

PIMAGE_IMPORT_DESCRIPTOR pImport=(PIMAGE_IMPORT_DESCRIPTOR)ImageDirectoryEntryToData

                                      (hModule??true??IMAGE_DIRECTORY_ENTRY_IMPORT??&size);

UpdateData();
//???MessageBoxA??????
PROC pfnOld=GetProcAddress(GetModuleHandle("User32.dll")??"MessageBoxA");

   
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)

   {

     PROC *ppfn=(PROC*)&(pThunk->u1.Function);

     if(*ppfn==pfnOld)pfnOld???????????????

      {

      MessageBox("????????????")??

       return ;

     }

    pThunk++;

  }

   pImport++;

}
 


????????????????????????????????????????????????????????????????????庯????

????????????????????????????????????????????滻????????????滻??????????????????

?????????????????MessageBoxA???????????????????????????????MessageBoxA??????????μ??

int WINAPI MyMessageBoxA(HWND hWnd??LPSTR  str??LPSTR caption ??UINT type)

{

     //???庯?????????

}
 


?????????????????е?????????????????????????????????е??????????????????

??????????????????????????????????????????????????????????????????????????????????????????汻??????????????????????б????????????????????滻????????