www.pudn.com > API_VC_HOOK-.rar > Patcher1.c


#if _MSC_VER > 1000 
#pragma once 
#endif 
 
#define WIN32_LEAN_AND_MEAN 
 
#include  
#include "ApiHooks.h" 
 
 
#define PatchRVA  0x1081 
#define PatchSize 2 
 
BYTE OrigValues[PatchSize] = {0x6a, 0x0}; 
BYTE WantedValues[PatchSize] = {0x6a, 0x24}; 
 
 
BOOL APIENTRY DllMain( HANDLE hModule,  
                       DWORD  ul_reason_for_call,  
                       LPVOID lpReserved 
					 ) 
{    
	return TRUE; 
} 
 
 
BOOL FirstTime = TRUE; 
HMODULE main_module; 
LPBYTE dest; 
ULONG OldAttr; 
DWORD i, j; 
 
__declspec(naked) NewwsprintfA() {	 
	if(FirstTime) { 
	   FirstTime = FALSE; 
	    if(main_module = GetModuleHandle(NULL)) { 
		   dest = (LPBYTE)main_module+PatchRVA; 
		   if(VirtualProtect(dest, PatchSize, PAGE_READWRITE, &OldAttr)) { 
			 for(i=0, j=0; i