OGCAssist.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "stdafx.h"
  2. // jmp指令长度;
  3. #define JMP_DLEN 5
  4. // call指令长度;
  5. #define CALL_LEN 5
  6. namespace Assist
  7. {
  8. // 按钮Connect状态(True=连接中, False=未连接)
  9. extern BOOL bConnectStatus;
  10. typedef struct __CALL_DATA__
  11. {
  12. LPVOID myCall; // 自定义的地址;
  13. DWORD dwOriginalAddr; // 被劫持的原始地址;
  14. DWORD dwOriginalCallAddr; // 被劫持的原始函数地址;
  15. DWORD dwBack2Addr; // 劫持Call完成后要返回的原始地址的下一地址;
  16. INT nMyCallDataLen;
  17. BYTE szMyCallData[CALL_LEN]; // 劫持Call的硬编码数据;
  18. INT nOriginalAddrDataLen;
  19. BYTE szOriginalAddrData[CALL_LEN]; // 被劫持的原始Call数据备份;
  20. __CALL_DATA__() {
  21. myCall = NULL;
  22. dwBack2Addr = 0;
  23. dwOriginalAddr = 0;
  24. memset(szMyCallData, 0, CALL_LEN);
  25. memset(szOriginalAddrData, 0, CALL_LEN);
  26. }
  27. }CALLDATA, *LPCALLDATA;
  28. // 初始化Call Data
  29. void InitCallData();
  30. // 劫持所有Call Data;
  31. BOOL HijackedAllCall();
  32. // 恢复所有Call Data;
  33. BOOL RestoreAllCall();
  34. };