All pastes #807906 Raw Edit

Mine

public cpp v1 · immutable
·published 2007-12-07 02:58 UTC
rendered paste body
namespace ProcessAccess{	class cProcess	{	public:	/////////////////////////////////////////////////////////////////////////////////	// Process Information Functions	/////////////////////////////////////////////////////////////////////////////////		static DWORD	ProcIdByProcName			(TCHAR* tszProcName);		static DWORD	ProcIdByWinTitle			(TCHAR* tszWinTitle);		static HANDLE	ProcHandleByProcName		(TCHAR* tszProcName);		static BOOL		ProcNameFromWinTitle		(TCHAR* tszWinTitle, TCHAR* tszNameStorage);		static BOOL		ProcNameFromProcId			(DWORD dwProcId, TCHAR* tszNameStorage);	/////////////////////////////////////////////////////////////////////////////////	// Process Module Information Functions	/////////////////////////////////////////////////////////////////////////////////		static BYTE*	ModBaseFromProcName			(TCHAR* tszProcName, TCHAR* tszModName);		static DWORD	ModSizeFromProcName			(TCHAR* tszProcName, TCHAR* tszModName);	/////////////////////////////////////////////////////////////////////////////////	// Process Privilege Functions	/////////////////////////////////////////////////////////////////////////////////		static BOOL		SetPrivilege				(DWORD dwProcId, TCHAR* tszPrivilege, BOOL bEnable);	};}namespace MemoryAccess{	class cMemory	{	public:	/////////////////////////////////////////////////////////////////////////////////	// Write Memory Functions	/////////////////////////////////////////////////////////////////////////////////		static HRESULT	WriteMemory					(DWORD dwProcId, BYTE* pAddress, LPVOID lpBuffer, DWORD dwSizeToWrite);		static HRESULT	WriteNops					(DWORD dwProcId, BYTE* pAddress, int iNopsToWrite);	/////////////////////////////////////////////////////////////////////////////////	// Read Memory Functions	/////////////////////////////////////////////////////////////////////////////////		static HRESULT	ReadMemory					(DWORD dwProcId, BYTE* pAddress, LPVOID lpStorage, DWORD dwSizeToRead);		static HRESULT	ReadPointer					(DWORD dwProcId, BYTE* pBaseAddr, DWORD iPtrOffset, DWORD* pStorage);	/////////////////////////////////////////////////////////////////////////////////	// Code Cave Functions	/////////////////////////////////////////////////////////////////////////////////		static DWORD	MakeCave					(DWORD dwProcId, LPVOID lpCaveBytes, DWORD dwCaveSize);		static HRESULT	DeleteCave					(DWORD dwProcId, BYTE* pCaveAddr, DWORD dwCaveSize);		static DWORD	MakeJump					(DWORD dwProcId, BYTE* pOrigAddr, int iNopsNeeded, LPVOID lpCaveBytes, DWORD dwCaveSize);	};}namespace SignatureScan{	class cSigScan	{	public:	/////////////////////////////////////////////////////////////////////////////////	// Signature Scanning Functions	/////////////////////////////////////////////////////////////////////////////////		static DWORD	FindPattern			(DWORD dwProcId, BYTE* bBaseAddr, DWORD dwModuleSize, BYTE* bPattern, int iPatternSize, int iOffset);		static DWORD	FindPatternMasked	(DWORD dwProcId, BYTE* bBaseAddr, DWORD dwModuleSize, BYTE* bPattern, int iOffset, TCHAR* tszMask);	private:		static BOOL		MaskCheck			(const BYTE* pData, const BYTE* bMask, const TCHAR* tszMask);	};}