CodeAtom.h
资源名称:DetourQQ.rar [点击查看]
上传用户:qc13828
上传日期:2007-06-21
资源大小:63k
文件大小:2k
源码类别:
ICQ弱点检测代码
开发平台:
Visual C++
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // 预处理
- #pragma once
- #include <Windows.h>
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // CODEATOM 结构
- typedef struct tagCODEATOM
- {
- DWORD dwAddress; // 地址
- UINT uRangeSize; // 范围大小
- UINT uStampSize; // 标识大小,不能大于 255
- BYTE bStamp[255]; // 标识数据
- BYTE bPatch[255]; // 替换数据
- PBYTE pbStart; // 内部使用的数据指针
- PBYTE pbEnd; // 内部使用的结束指针
- BOOL bPatched; // 内部使用的补丁标志
- }
- CODEATOM, *PCODEATOM;
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // CCodeAtom 类
- class CCodeAtom
- {
- public:
- // 执行文件并打补丁
- static UINT Execute(PTSTR ptzFileName, PCODEATOM pCa,
- UINT uNum = 1, UINT uTry = 5, UINT uSleep = 400, BYTE bIgnore = '?');
- private:
- // 打补丁
- static BOOL Patch(HANDLE hProcess, PCODEATOM pCa, BYTE bIgnore);
- // 比较标识
- static BOOL EqualStamp(PBYTE pbData, PBYTE pbStamp, UINT uSize, BYTE bIgnore);
- // 写入补丁
- static BOOL WritePatch(HANDLE hProcess, DWORD dwAddress, PBYTE pbPatch, UINT uSize, BYTE bIgnore);
- };
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////