hhookdll.h

来自「枚举主机网络设备」· C头文件 代码 · 共 37 行

H
37
字号
// HHookDll.h: interface for the CHHookDll class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_HHOOKDLL_H__D5D28CC1_0604_4E5B_A9E8_25023AF712C6__INCLUDED_)
#define AFX_HHOOKDLL_H__D5D28CC1_0604_4E5B_A9E8_25023AF712C6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "HLib32.h"

#include <Psapi.h>
#pragma comment(lib,"psapi.lib")
#include <HGeneric.h>

class AFX_EXT_CLASS CHHookDll  
{
public:
	CHHookDll();
	virtual ~CHHookDll();

	void PatchLoadLibrary();
private:
	static HMODULE WINAPI newLoadLibraryExW(LPCWSTR lpLibFileName,HANDLE hFile,DWORD dwFlags);
private:
	static DWORD m_dwUser32Low;				//user32.dll 的加载基址
	static DWORD m_dwUser32Hi;				//user32.dll 的加载基址+ImageSize
	static BYTE	 m_fakeLoadLibraryExW[12];	//save first bytes of the raw function,
											//and jmp back to that function

	//保存LoadLibraryExW的指针,然后修改为fakeLoadLibraryExW
	static HMODULE (WINAPI *rawLoadLibraryExW)( LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags );
};

#endif // !defined(AFX_HHOOKDLL_H__D5D28CC1_0604_4E5B_A9E8_25023AF712C6__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?