KeyXing魔兽显血改键工具|制作过程

手把手教你用Logisim搞定华科计组实验:单总线CPU硬布线控制器设计(含Excel自动生成电路技巧) 本文详细解析了如何使用Logisim完成华科计组实验中的单总线CPU硬布线控制器设计,特别分享了利用Excel自动生成电路逻辑的高效技巧。从实验准备、状态机表格填写到模块化构建和系统联调,提供全流程实战指导,帮助读者快速掌握计算机组成原理核心概念,大幅提升实验效率。 阅读详情

功能:显血、不影响聊天改键

其实这个工具就是用了几个api,很简单就能写出来。如果直接和大家介绍用哪几个api函数,那么对大家来讲毫无用处。重点问题是怎么确定是用哪些函数。知其所以然而知其然,以不变应万变,这里就跟大家谈谈我是如何找出相应的函数。

秘籍一:查

学计算机最大的好处就是网上有海量的资料,不懂就查,X度一下什么都出来。

经过查阅资料后,整理出如下解决方案:

显血:玩过魔兽都知道在游戏按“alt”会显双方血。经过查资料发现原来“[”和“]”分别显示我方和敌方的血。(PS:别问我魔兽如何,电脑都能虐我的)可以尝试用模拟按键消息。

改键:修改某个快捷键文件,或者利用全局钩子的方式进行替换(如何改键又不影响聊天?下面再告诉你。)

“查”是贯彻各个模块功能实现的秘籍,在工程开始时利用“查“网上资料试到编写程序有个大致的方向。然后利用下面的秘籍边查边实现,一步一步来。

 

秘籍二:试

弄出一万个解决方案还不如亲身写来试一试。

在编写程序的时候,有必要写一些测试工具,对程序某一部分功能的解决方案进行验证。可以如图只有一个按钮的简单对话框,或者在控制台进行测试。

 

在这个魔兽显血改键工具中,始终贯彻“试”这一秘籍的。例如在上面的:“如何显血”的解决方案中,通过“试“就能验证是否管用。即使不管用,也能从中得到某些提示,从而明确另一个方向。

模拟按键消息。按键常用有三种WM_KEYDOWNWM_KEYUPWM_CHAR。使用的函数有SendMessage或者keybd_event (会不会影响魔兽聊天?别急,后面再去分析分析)

Go,开始测试解决方案了,还是如上图写一个简单的对话框,按钮打开计时器每隔一个时间用Findwindows找到魔兽窗口,然后用SendMessage发送各种消息。

(注意如果游戏用 GetKeyState”来获取键盘消息,获取键盘消息SendMessage是没效的,得用keybd_event。不过我想不到有什么理由会让游戏牺牲这么大性能用GetKeyState?)

点击尝试按钮之后,果真在dota里显血了,测试成功!

 

秘籍三:分析

单是测试成功还不行,还得进一步获取具体每个消息所起的作用。

经过分别发送WM_KEYDOWNWM_KEYUPWM_CHAR消息

总结得:WM_KEYDOWN是显示血量的,WM_KEYUP是取消显示血量的。所以我们按下“alt”键显示血量,松开则取消显示血量。根据此分析,即可用语句控制逻辑进行显血了。

又回到之前最大的一个问题是:“如何解决改键而不影响聊天的?”看这个问题好像很难解决,是否需要写代码区分聊天状态和游戏状态?不需要,经过测试和分析,发现WM_KEYDOWN是使用技能,WM_CHAR是输入聊天字符,就是说如果单是发送WM_KEYDOWN而不发送WM_CHAR的话,魔兽聊天时是不会输入到聊天框里的。同时为了不影响其它进程,则指定只发送消息到魔兽窗口。

 

秘籍四:反汇编

确实遇到困难解决不了,网上又没公开源码怎么办?

在编写的过程中,我看到显血改键比较有名气warkey不用Dll就能截取魔兽中的按键信息,绿色软件需要的是方便,最好做到一个exe文件就搞定,开始我想到是使用GetKeyState主动去获取键盘中的按键信息,但经过测试之后发现GetKeyState的确能获取全局键盘的按键消息,但是却获取不了游戏中的魔兽程序。知道我鹏友告诉我一声哈。百般无奈又查不到相关的信息,此事只能出必杀——反汇编分析。当然这需要一定的反汇编能力。我们可以通过Ollydbg分析目标程序,或者更直接的途径分析别人写好的的显血改键工具!这里以比较出名的warkey显血工具为例(这个工具需要安装,这是我写显血改键工具的原因——我喜欢免安装的绿色工具。)用Ollydbg打开warkey后,搜索程序中的所有使用过的函数,分析跟踪可能性最大的函数:SetWindowsHookEx



跟踪分析,此工具设置了一个WH_KEYBOARD_LL全局钩子。全局钩子不用DLL?不急慢慢接下去分析。

我们知道SetWindowsHookEx中第二个参数是填写钩子回调函数,跟踪入去看看里面有什么。发现里面有keybd_event,而且参数还是KV_NUMPAD7,此举是模拟数字键盘的7!!!

 

另外还发现弹出广告页面的元凶!我要绿色!!

 

又回到秘籍二“试”的方法中,一测试,果然WH_KEYBOARD_LL是一个不需要DLL就能设置全局钩子的特殊钩子。

 

结束语:

总结写程序的秘籍:

1、查 ,利用网上丰富的资源

2、试,多写测试程序检验某部分功能的解决方案

3、分析,利用已有的资料或现象分析定位下一步前进的方向

4、参考别人的代码

前面三个没有先后之分,始终穿插到程序中,第四个建议是最后才使用。因为如果一开始就参考别人的代码,你的思维就会限制到别人的代码中,从而会忽略很多细节(例如为什么用这个函数而不用哪个函数?这样写和那样写有什么区分?),你看到的代码是别人经过分析比较后的代码,但在分析细节中获取的往往是最多的。

一窥Memory测试算法及自我修复机制 摘要 为了满足新一代设备的需求,Memory的大小每三年就会增加4倍。深亚微米设备包含大量面积更小、访问速度更快的Memory。针对此类设计制定自动测试策略可以减少ATE(自动测试设备)的时间和成本。 内存故障的行为与经典的“Stuck-At”故障不同。因此,Memory的故障模型(由于其阵列结构)与标准逻辑的设计也是不同的。Memory测试除了进行故障检测和定位,还可以实现用冗余单元对... 阅读详情

相关推荐

Warhelper 工具:跨系统魔兽争霸操作优化

在当今电子竞技领域,魔兽争霸(Warcraft III)仍然吸引着众多忠实的玩家。然而,随着游戏操作复杂性的增加,玩家对提升操作效率和舒适度的需求也随之增长。为此,专门用于魔兽争霸的工具应运而生,旨在帮助玩家简化和自定义游戏操作,提升竞技体验。工具的核心功能是对游戏内的默认位进行调整,使得玩家可以根据自己的习惯设置位方案。这意味着玩家可以将复杂的技能组合映射到简单的按上,或重新布局游戏界面,以提高反应速度和操作精确性。对于初学者而言,使用工具可能稍感陌生。

weixin_35835030的博客 1656

c#实现魔兽(warIII)中功能 (附源码)(不影响聊天打字)

 在论坛中看到有人提到 这个功能,感觉应该能实现,周末就抽时间写出来了,在这里分享下:思路:Hook+SendMessage, 首先,因为我们要war3不是自己写的程序,所以只能用Hook来监控盘的按盘Hook:using System;using System.Runtime.InteropServices;using System.Windows.

sohighthesky的专栏 8061

488、基于multisim仿真的汽车尾灯控制电路设计(仿真图、论文)

488、基于multisim仿真的汽车尾灯控制电路设计(仿真图、论文)设计proteus电路利用开关来控制汽车运行和转向。汽车尾部左右各有3个指示灯。要求:(1)汽车正常运行时,指示灯全灭。(2)右转弯时,右侧的3个指示灯按照右循环方式依次点亮。(3)左转弯时,左侧的3个指示灯按照做循环方式依次点亮。(4)刹车时,所有指示灯全部闪烁。开关K1,K2,K3分别通过与一个电阻相连而后接地线,另一端连接电源正极,就可实现0和1的功能输出,如下表所示:转向控制开关K1和K2构成异或逻辑关系,输出与译码器高电平使能端G1相连,控制译码器的工作状 态。紧急刹车开关K3直接与示驱动电路相连,当紧急刹车开关闭合,即K3=1时,六个发光二极管阴极接入低电平,则六个发光二极管模拟的指示灯全亮;当紧急刹车开关断开,即K3=0时,由转向开关 K1和K2的状态通过译码器的输出决定六个发光二极管模拟的指示灯的点亮状态。

自己写了个魔兽工具

xlWarKey v1.2 正式版 软件介绍 --------     xlWarKey 是一款魔兽争霸工具。目前支持永久条,支持盘上几乎所有按的一对一映射,支持多个方案。     本工具的定位是这个功能将要或许会成为多余,因为传说中的 1.22 补丁里面含有了此功能。方面的工具其实挺多的,功能也相对都比较成熟,可拓展的余地并不大。本工

溪流漫话 3万+

魔兽工具的脱壳和修

玩过魔兽的多少都接触过这个工具,然而昨天在我打算玩两把的时候在打开此工具时会弹出两个网页,以前也有过这种情况。果断不能忍,开始对他动刀。 第一分析PE 查壳 PEcompact 这是我第一次接触这个壳,好吧,也是第一次自己主动来脱壳。所以干脆手动脱壳。第一难度希望不要太大。 OL载入 这是EP代码 可以看到安装了一个异常处理。随后 xor eax,exa 然后访问[0...

ddzw5533的博客 308

WarcraftHelper魔兽争霸III终极优化指南:5分钟解锁现代游戏体验

还在为魔兽争霸III的老旧限制而烦恼吗?地图大小受限、帧率锁定、宽屏示异常、中文路径乱码——这些困扰无数玩家的经典问题,如今有了完美解决方案。WarcraftHelper魔兽争霸优化工具支持1.20e到1.27b全版本,提供地图大小解除、宽屏支持、FPS解锁等核心功能,让你在现代硬件上享受完美的经典游戏体验。 ## 🎯 为什么你需要这个魔兽争霸III优化工具魔兽争霸III作为一代经典,

gitblog_01105的博客 129

魔兽争霸+工具的实现(v1.0.1.1)

成品地址:v1.0.1.1:http://files.cnblogs.com/Vontio/War3Helper1.0.1.1.rarv1.0.0.0:http://files.cnblogs.com/Vontio/War3Helper.rar更新说明:v1.0.1.1:支持最小化到托盘支持scroll控制助手开关(1.0版本没有开关) 特色:1,支持左win,左alt.2,支持按互换(...

weixin_30340775的博客 566

c++学习笔记- 自制魔兽

源代码下载地址:点击打开链接 :     模拟盘按'['和']'来达到效果。     void CMsxxDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default if(nIDEvent==1) { hWnd=::GetFore

枫叶回忆 1870

阿杰魔兽工具 2.2

天空下载:http://www.skycn.com/soft/42974.html主要功能:魔兽、自定义包裹热和英雄热、快速自动进入魔兽游戏、浩方平台、VS平台和QQ平台等。更新日期: 2010年3月5日功能列表:   1、功能(示玩家或电脑的条)。 2、开全图功能(只适用于1.20E、1.23、1.24b)其它版本无效 3、功能(自定义英雄包裹热功能)。   4、自定义

1877

魔兽争霸工具 1.4

 http://www.skycn.com/soft/42974.html

931

C语言写魔兽工具

 哈哈,比较无聊的东西。因为发现1.20e 没有条的工具 所以就给自己写了个。菜作啊。魔兽还是打不过简单电脑,没什么意思 不玩了。 还是写写小东西有意思。#include #include #include extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow ();int i=3;int main(){ if(0

kongjiajie的专栏 2288

简单魔兽的基本原理及基于MFC实现

主要原理:通过线程钩子截获魔兽进程的盘消息,然后模拟我们所需要的按。软件设计基于MFC和用到的一些windowsAPI。 1.     界面布局和要求功能 软件界功能少见面简单,主要有小盘和自定义的。(玩dota的都知道) 要求:编辑框只能示一个

tandyky的专栏 5950

vc++HOOK详细讲解

消息钩子函数入门  Windows 系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实 现的。而钩子是 Windows 系统中非常重要的系统接口,用它可以截获并处理送给其他应用 程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件 消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子, 监视系统中特定事件的发生

独旅天涯 9605

vc实现魔兽3程序

实现功能:1.qq对战平台自动不断尝试进入房间2.功能3.小盘数字 7 8 4 5 1 2功能,可映射到任意字符。 程序大致思路为:1。建dll,安装消息钩子函数:hkb=SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)KeyboardProc,theApp.m_hInstance,0); 2。钩子函数为:LRES

永远的黑山 2638

war3

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Runtime.InteropServices; using ...

Df's blog 620

魔兽

2008年2月7号晚完成魔兽工具,几个关地方总结如下 使用盘钩子来捕获发送给魔兽盘消息再用keybd_event来发送模拟按注意要使用LowLevelKeyboardProc,否则无法捕获win。KBDLLHOOKSTRUCT的使用需要声明os版本,#define _WIN32_WINNT  0x0400很奇怪在mfc下无法使用,本来想用内存dll做的。后来成在全局dll做Lo

kayv啊kayv 1003

魔兽程序修

前两天的程序修后基本可用,贴代码 using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Windows.Forms; namespace war3Keywizard { static class SysMessageConst {

fym_331的博客 1375
上一篇: 一起来学反汇编之循环语句
Hacker_xingg
博客等级 码龄16年 2粉丝 5原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值