You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.8 KiB
67 lines
1.8 KiB
//++ BulliT |
|
#if !defined(AFX_AGWALLHACK_H__72F3428F_5B58_4681_A572_92EAAE5B2F91__INCLUDED_) |
|
#define AFX_AGWALLHACK_H__72F3428F_5B58_4681_A572_92EAAE5B2F91__INCLUDED_ |
|
|
|
#if _MSC_VER > 1000 |
|
#pragma once |
|
#endif // _MSC_VER > 1000 |
|
|
|
#if AG_USE_CHEATPROTECTION && _WIN32 |
|
|
|
// ToolHelp Function Pointers so that it will work on NT4 |
|
#include <tlhelp32.h> |
|
typedef HANDLE (WINAPI* CREATETOOLHELP32SNAPSHOT)(DWORD,DWORD); |
|
typedef BOOL (WINAPI* MODULE32FIRST)(HANDLE,LPMODULEENTRY32); |
|
typedef BOOL (WINAPI* MODULE32NEXT)(HANDLE,LPMODULEENTRY32); |
|
typedef BOOL (WINAPI* PROCESS32FIRST)(HANDLE,LPPROCESSENTRY32); |
|
typedef BOOL (WINAPI* PROCESS32NEXT)(HANDLE,LPPROCESSENTRY32); |
|
|
|
class AgWallhack |
|
{ |
|
CREATETOOLHELP32SNAPSHOT m_lpfCreateToolhelp32Snapshot; |
|
MODULE32FIRST m_lpfModule32First; |
|
MODULE32NEXT m_lpfModule32Next; |
|
PROCESS32FIRST m_lpfProcess32First; |
|
PROCESS32NEXT m_lpfProcess32Next; |
|
HINSTANCE m_hKernel32; |
|
|
|
bool m_bDoneCheck; |
|
bool InitToolHelp32(); |
|
int InternalCheck(); |
|
|
|
AgStringSet m_setBadStrings; |
|
AgStringSet m_setBadDlls; |
|
AgStringSet m_setGoodDlls; |
|
AgStringSet m_setGoodSystemDlls; |
|
AgString m_sDll; |
|
int m_iFiles; |
|
DWORD m_dwBytes; |
|
|
|
DWORD m_dwHLAddressToValidate; |
|
|
|
public: |
|
|
|
AgWallhack(); |
|
virtual ~AgWallhack(); |
|
|
|
void AddBadDll(const char* pszDll); |
|
void AddBadString(const char* pszString); |
|
void AddBadStrings(const char* pszStrings); |
|
|
|
bool Check(); |
|
|
|
void SetHLAddressToValidate(DWORD dwHLAddressToValidate) |
|
{ |
|
m_dwHLAddressToValidate = dwHLAddressToValidate; |
|
} |
|
|
|
void SendMessageToIRC(const char* szMessage); |
|
}; |
|
|
|
extern AgWallhack g_Wallhack; |
|
|
|
#endif //AG_USE_CHEATPROTECTION |
|
|
|
#endif // !defined(AFX_AGWALLHACK_H__72F3428F_5B58_4681_A572_92EAAE5B2F91__INCLUDED_) |
|
|
|
//-- Martin Webrant
|
|
|