⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 游戏屏蔽的api.txt

📁 大多书网络游戏屏蔽了一部分API函数 这里面列举了一些做外挂常用的 已被屏蔽的API
💻 TXT
字号:
  查看文章    
游戏在控制区都是采用DirectInput来捕获键盘按键信息2007-07-02 18:081.目前几乎多有的游戏在控制区都是采用DirectInput来捕获键盘按键信息,如果想自己编写一个模拟键盘程序或者使用按键精灵脚本来控制游戏区的话,经过几次试验,证明是不可行的,DirectInput不能接受到模拟的按键信息,至于问题种为什么要说“区域”两个字,是因为在游戏的聊天区模拟按键信息是生效的。
目前已经测试对DirectInput无效的函数为:
A.Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
B.Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
C.Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As GENERALINPUT, ByVal cbSize As Long) As Long
D.还有VB里面的 SendKeys 语句。
以上4种方法在游戏的聊天区是生效的。
因此构想,能否做到硬件级的键盘模拟事件呢?比如强行写键盘缓冲区?来使得 DirectInput 能接受到我们模拟的按键信息呢?

2.如果游戏区(聊天区是可以正常接受模拟事件的)已加入了硬件事件和上述4种软件模拟键盘事件的检测区分的话,又要如何才能骗过游戏使它能接收到我们的模拟按键信息呢?

鼠标模拟事件也是如此。
在此请教各位高手共同出谋划策。高分求助,可以另开贴奖分,虽然大家并不怎么看重奖分,但是还是要给的。
./////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

若只是要取得这三个按键(NumLock/CapsLock/ScrollLock)的状态,只要呼叫GetKeyStateAPI就可以了!
若是要设定这三个按键的状态,则要呼叫GetKeyboardState及SetKeyboardState二个API!

在表单的声明区中,加入以下的声明及模组:

PrivateDeclareFunctionGetKeyStateLib"user32"(ByValnVirtKeyAsLong)AsInteger
PrivateDeclareFunctionGetKeyboardStateLib"user32"(pbKeyStateAsByte)AsLong
PrivateDeclareFunctionSetKeyboardStateLib"user32"(lppbKeyStateAsByte)AsLong

PrivateSubSetKeyState(intKeyAsInteger,fTurnOnAsBoolean)
'取得键盘目前的状态,设定您想设定的任意键,再将其他键还成之前的状态,只改变一个键值
DimabytBuffer(0To255)AsByte
GetKeyboardStateabytBuffer(0)
abytBuffer(intKey)=CByte(Abs(fTurnOn))
SetKeyboardStateabytBuffer(0)
EndSub

FunctionGetCapslock()AsBoolean
'返回Capslock的状态
GetCapslock=CBool(GetKeyState(vbKeyCapital)And1)
EndFunction

FunctionGetNumlock()AsBoolean
'返回Numlock的状态
GetNumlock=CBool(GetKeyState(vbKeyNumlock)And1)
EndFunction

FunctionGetScrollLock()AsBoolean
'返回ScrollLock的状态
GetScrollLock=CBool(GetKeyState(vbKeyScrollLock)And1)
EndFunction

SubSetCapslock(ValueAsBoolean)
'设定Capslock的状态
CallSetKeyState(vbKeyCapital,Value)
EndSub

SubSetNumlock(ValueAsBoolean)
'设定Numlock的状态
CallSetKeyState(vbKeyNumlock,Value)
EndSub

SubSetScrollLock(ValueAsBoolean)
'设定ScrollLock的状态
CallSetKeyState(vbKeyScrollLock,Value)
EndSub
实际运用的方式如下:

PrivateSubCommand1_Click()
SetScrollLockTrue'设定ScrollLock为On
EndSub

PrivateSubCommand2_Click()
MsgBox"ScrollLock:"&GetScrollLock'取得ScrollLock状态
EndSub

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -