教你用VC6写热血江湖小外挂

 

这个小外挂适用于对按键消息没有屏蔽的游戏,如热血江湖!
主要用
keybd_event函数实现模拟按键的功能。
keybd_event函数原型:
VOID keybd_event(
  BYTE bVk,           // 虚拟键
  BYTE bScan,         // 扫描码
  DWORD dwFlags,      // flags specifying various function options
  DWORD dwExtraInfo   // additional data associated with keystroke
);

模拟按键主要代码:
keybd_event( VK_F1 , MapVirtualKey(VK_F1,0) , 0 , 0);    //按下F1键
Sleep(300);
keybd_event( VK_F1 , MapVirtualKey(VK_F1,0) , KEYEVENTF_KEYUP , 0); //松开F1键

注意,使用keybd_event必须用MapVirtualKey转换虚拟键为键盘扫描码,并且用Sleep进行必要的延迟后再次调用
keybd_event函数释放放键。否则模拟功能不起作用。


这个程序用热血江湖V1.32进行测试通过.实现自动吃药。

新建一个MFC 对话框程序,名称为"江湖小挂"。
打开"江湖小挂.cpp"文件。修改
BEGIN_MESSAGE_MAP(CMyApp, CWinApp)
 //{{AFX_MSG_MAP(CMyApp)
  // NOTE - the ClassWizard will add and remove mapping macros here.
  //    DO NOT EDIT what you see in these blocks of generated code!
 //}}AFX_MSG
 ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
代码段,删除ON_COMMAND(ID_HELP, CWinApp::OnHelp)行。这样,按F1键不会弹出帮助窗口。

在窗口上增加一个按钮,双击按钮打开按钮事件,加一行代码初始化计数器:
void CMyDlg::OnStart()
{
 SetTimer( 1 , 300 , NULL); //300毫秒
 


运行类向导,重载WM_TIMER消息。并修改OnTimer()函数如下:
void CMyDlg::OnTimer(UINT nIDEvent)
{
 DWORD hProcId;
 HWND gWnd = ::FindWindow( "D3D Window" , "YB_OnlineClient" ); //获取热血江湖窗口句柄
 if(gWnd)
 {

  GetWindowThreadProcessId(gWnd,&hProcId);  //获取进程ID
  HANDLE ghd = OpenProcess(PROCESS_ALL_ACCESS,FALSE,hProcId); //访问进程
  if(ghd)
  {
   DWORD dHP,bytes;
   WORD  dDiff = 300;  //HP底限
   WORD  buff;   
   
   dHP=0x013AE838;  //血的内存地址(热血江湖1.32版)

   //读血值
   if(TRUE) //有效
   {
    
    //读内存
    BOOL ok = ReadProcessMemory(ghd , (void *)dHP, (void *)&buff , 2 , &bytes);//读内存血值到缓冲
    if(ok)
    {
     if(buff <= dDiff) //判断内存HP是否小于底限
     {

      keybd_event( VK_F1 , MapVirtualKey(VK_F1,0) , 0 , 0);    //按下键
      Sleep( 300 );              //延迟
      keybd_event( VK_F1 , MapVirtualKey(VK_F1,0) , KEYEVENTF_KEYUP , 0); //松开键
 

     }

    }
   }


  }
  CloseHandle(ghd);
  
 }

 CDialog::OnTimer(nIDEvent);
}

程序基本到此结束,至于其它的功能自已再完善。
自动补蓝和这大同小异,自动群医连续技能更简单,只要再加一个计数器模拟按键就行了。
游戏相关的内存地址只要用金山游侠等游戏修改软件,很容易就能扫描出来。

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值