一个VB的外挂,部分源码,求高手完成下

发表于:2010-10-23 14:23:16

有一个朋友玩诛仙的,老问我要外挂
可问题是我学C/C++的,不太会外挂
就去网上搜了,只有部分源码
求VB帮忙完成下
源码如下
引入两个文件,memory和sting;
定义了两个全局 其实不必要 主要是我集成到了挂机里面
Global $teshu
Global $teshu2
定义热键
HotKeySet("{F10}", "chuan") ;
定义内存基址
$Address = 0x008F58D4
$Address2 = 0x0012F824
$Back = 0x008D68B4
$ofset = 0x24
$fei = 0x0045ae59
$chuan = 0x004063b4
$playerbase=0x0012F824;
获取游戏窗口句柄
$WinHandle = WinGetHandle("Element Client");
获取游戏进程PID
$CurProcID=WinGetProcess("Element Client");
获取内存读写句柄
$Handle = _MemoryOpen($CurProcID)
$Address = _MemoryRead("0x" & Hex($Address ), $Handle)
$Base = _MemoryRead("0x" & Hex($Address+$ofset ), $Handle);
下面是检测人物名称的过程
Local $Player_Name_Ptr = _MemoryRead("0x" & Hex($base+0x398), $Handle)
$Player_Name = ""
For $NameCount = 0 To 32
$tmpName = _MemoryRead("0x" & Hex($Player_Name_Ptr + $NameCount * 2), $Handle,

"ushort")
$Player_Name &= Unicode2Asc(Binary($tmpName))
if $tmpName = 0 Then
ExitLoop
EndIf
Next

Func Unicode2Asc($UniString)
If Not IsBinary($UniString) Then
SetError(1)
Return $UniString
EndIf
Local $BufferLen = StringLen($UniString)
Local $Input = DllStructCreate("byte[" & $BufferLen & "]")
Local $Output = DllStructCreate("char[" & $BufferLen & "]")
DllStructSetData($Input, 1, $UniString)
Local $Return = DllCall("kernel32.dll", "int", "WideCharToMultiByte", _
"int", 0, _
"int", 0, _
"ptr", DllStructGetPtr($Input), _
"int", $BufferLen / 2, _
"ptr", DllStructGetPtr($Output), _
"int", $BufferLen, _
"int", 0, _
"int", 0)
Local $AscString = DllStructGetData($Output, 1)
$Output = 0
$Input = 0
Return $AscString
EndFunc;
没开游戏的话......
If $Handle=0 then
MsgBox(4096,"错误提示","打开游戏错误,可能没有运行游戏!")
Exit
EndIf;
提示当前人物是谁
TrayTip('飞翔版','当前人物:' & $Player_Name & ' ',10,1)
Sleep(2000);
建一个循环 不断的写入飞天的值 3448439146是4字节值,相当于汇编的push 0a 这个是一开程序就可以飞天的
While 1
_MemoryWrite("0x" & Hex($fei), $Handle, 3448439146 )
ToolTip("飞翔模式开启中...", 0, 0)
Sleep(500)
WEnd;
如果想用热键控制飞天 就用下面的子程序
Func fei()
$teshu = NOT $teshu
While $teshu
sleep(100)
_MemoryWrite("0x" & Hex($fei), $Handle, 3448439146 )

ToolTip("飞翔模式开启中...", 0, 0)

WEnd
ToolTip("飞翔模式已关闭...", 0, 0)
_MemoryWrite("0x" & Hex($fei), $Handle, 3448441450 )
sleep(2000)
ToolTip("", 0, 0)
EndFunc;
穿墙的子程序 由F10控制
Func chuan()
$teshu2 = NOT $teshu2
While $teshu2
sleep(500);
写入穿墙的时候同时写入飞天值 因为中断了循环 飞天不再进行
_MemoryWrite("0x" & Hex($fei), $Handle, 3448439146 )
_MemoryWrite("0x" & Hex($chuan), $Handle, 2228831605 )

ToolTip("已开启穿透模式", 0, 0)

WEnd
ToolTip("穿透模式已关闭...", 0, 0);
写回去关闭穿墙
_MemoryWrite("0x" & Hex($chuan), $Handle, 2228831604 )
sleep(500)
ToolTip("", 0, 0)
EndFunc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值