VS竞技游戏平台辅助外挂制作实例

本文介绍了一个利用Windows API实现的VS竞技游戏平台辅助外挂制作实例,包括如何在其他进程中分配和释放内存、读写内存,以及如何找到VS游戏平台的相关窗口并模拟点击进入房间的操作。
摘要由CSDN通过智能技术生成

实行文件下载地址:

http://download.csdn.net/source/743789

 

运行实例图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

访问其他进程的头文件:

  1. //---------------------------------------------------------------------------
  2. #ifndef MemoryCtrH
  3. #define MemoryCtrH
  4. #include <windows.h>
  5. //---------------------------------------------------------------------------
  6. void* AllocMemInForeignProcess(HANDLE process, unsigned long size);
  7. void FreeMemInForeignProcess(HANDLE process, void* ptr);
  8. void ReadFromForeignProcessMemory(HANDLE process, void* ptr, void* target, unsigned long size);
  9. void WriteToForeignProcessMemory(HANDLE process, void* ptr, void* src, unsigned long size);
  10. //---------------------------------------------------------------------------
  11. #endif

访问其他进程内存的cpp文件:

 

  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "MemoryCtr.h"
  4. //---------------------------------------------------------------------------
  5. #pragma package(smart_init)
  6. //---------------------------------------------------------------------------
  7. /*
  8.  * Allocated memory in a foreign process. Windows NT only!!!
  9.  */
  10. void* AllocMemInForeignProcess(HANDLE process, unsigned long size)
  11. {
  12.     void *ptr = VirtualAllocEx(process, NULL, size, MEM_COMMIT, PAGE_READWRITE);
  13.     if(ptr == NULL) throw(GetLastError());
  14.     else return ptr;
  15. }
  16. //---------------------------------------------------------------------------
  17. /*
  18.  * Frees previously allocated memory in a foreign process. Windows NT only!!!
  19.  */
  20. void FreeMemInForeignProcess(HANDLE process, void* ptr)
  21. {
  22.     if(VirtualFreeEx(process, ptr, 0, MEM_RELEASE) == 0) throw(GetLastError());
  23. }
  24. //---------------------------------------------------------------------------
  25. /*
  26.  * Reads from memory we previously allocated in a foreign process.
  27.  */
  28. void ReadFromForeignProcessMemory(HANDLE process, void* ptr, void* target, unsigned long size)
  29. {
  30.     if(ReadProcessMemory(process, ptr, target, size, NULL) == 0) throw(GetLastError());
  31. }
  32. //---------------------------------------------------------------------------
  33. /*
  34.  * Writes to memory we previously allocated in a foreign process.
  35.  */
  36. void WriteToForeignProcessMemory(HANDLE process, void* ptr, void* src, unsigned long size)
  37. {
  38.     if(WriteProcessMemory(process, ptr, src, size, NULL) == 0) throw(GetLastError());
  39. }
  40. //---------------------------------------------------------------------------

 主程序的头文件:

 

 

 

  1. //---------------------------------------------------------------------------
  2. #ifndef TVSEnterH
  3. #define TVSEnterH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include "AdvAppStyler.hpp"
  10. #include "AdvAlertWindow.hpp"
  11. #include "AdvCircularProgress.hpp"
  12. #include "AdvGlassButton.hpp"
  13. #include "AdvListV.hpp"
  14. #include "ExeInfo.hpp"
  15. #include <ComCtrls.hpp>
  16. #include "FormSize.hpp"
  17. #include "AdvMenus.hpp"
  18. #include "trayicon.h"
  19. #include <ImgList.hpp>
  20. #include <Menus.hpp>
  21. #include "AdvOfficeStatusBar.hpp"
  22. #include <ExtCtrls.hpp>
  23. //---------------------------------------------------------------------------
  24. class TVSEnterForm : public TForm
  25. {
  26. __published:    // IDE-managed Components
  27.     TAdvListView *Roomlist;
  28.     TAdvGlassButton *btnOK;
  29.     TAdvCircularProgress *AdvCircularProgress1;
  30.     TAdvAlertWindow *AdvAlertWindow1;
  31.     TFormSize *vsInfo;
  32.     TTrayIcon *TrayIcon1;
  33.     TAdvPopupMenu *AdvPopupMenu1;
  34.     TMenuItem *popRestore;
  35.     TMenuItem *popStop;
  36.     TMenuItem *popGoOn;
  37.     TMenuItem *popExit;
  38.     TImageList *ImageList1;
  39.     TAdvOfficeStatusBar *AdvOfficeStatusBar1;
  40.     TAdvGlassButton *btnAllSelect;
  41.     TAdvGlassButton *btnAllCancel;
  42.     TTimer *EnterRoomTimer;
  43.     TAdvGlassButton *btnUpdateRoomList;
  44.     void __fastcall btnAllSelectClick(TObject *Sender);</
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值