1234567891011121314151617181920212223242526272829303132333435363738 |
- #include "stdafx.h"
- // jmp指令长度;
- #define JMP_DLEN 5
- // call指令长度;
- #define CALL_LEN 5
- namespace Assist
- {
- // 按钮Connect状态(True=连接中, False=未连接)
- extern BOOL bConnectStatus;
- typedef struct __CALL_DATA__
- {
- LPVOID myCall; // 自定义的地址;
- DWORD dwOriginalAddr; // 被劫持的原始地址;
- DWORD dwOriginalCallAddr; // 被劫持的原始函数地址;
- DWORD dwBack2Addr; // 劫持Call完成后要返回的原始地址的下一地址;
- INT nMyCallDataLen;
- BYTE szMyCallData[CALL_LEN]; // 劫持Call的硬编码数据;
- INT nOriginalAddrDataLen;
- BYTE szOriginalAddrData[CALL_LEN]; // 被劫持的原始Call数据备份;
- __CALL_DATA__() {
- myCall = NULL;
- dwBack2Addr = 0;
- dwOriginalAddr = 0;
- memset(szMyCallData, 0, CALL_LEN);
- memset(szOriginalAddrData, 0, CALL_LEN);
- }
- }CALLDATA, *LPCALLDATA;
- // 初始化Call Data
- void InitCallData();
- // 劫持所有Call Data;
- BOOL HijackedAllCall();
- // 恢复所有Call Data;
- BOOL RestoreAllCall();
- };
|