• 新浪微博:
  • 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:03-18

按键精灵安卓版
立即下载

软件版本:3.5.3
软件大小:46.2M
更新时间:03-02

按键精灵iOS版
立即下载

软件版本:1.7.3
软件大小:29.2M
更新时间:12-06

最新企业版UiBot
立即下载

软件版本:3.3
软件大小:282M
更新时间:08-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[分享脚本] 按键精灵特征码工具制作 [复制链接]

1#
您所在的用户组无法下载或查看附件


下面是纯按键精灵 源码,别错过了
直接用按键精灵制作,搜索和定位速度也很快的,当然也可以用内存API函数+搜索算法,我在其他的帖子也会发布的。
Tezhengma_Str = Trim(Replace(Form1.InputBox1.Text," ",""))//去掉空格,去掉两边的空格,按键特征码规定不能有空格的
TracePrint "特征码:"&Tezhengma_Str
Len_Tezhengma =int(Len(Tezhengma_Str)/2)
TracePrint "特征码长度:"& Len_Tezhengma
End_Addr=Form1.InputBox5.Text
Begin_Addr= Lib.字节集操作.十六进制转十进制(Form1.InputBox4.Text)
End_Addr = Lib.字节集操作.十六进制转十进制(Form1.InputBox5.Text)
TracePrint "开始的地址:"& Begin_Addr //开始的地址
TracePrint "结束的地址:"& End_Addr//结束地址 范围
Str_Array = split(Form1.inputbox7.text, " ")//这个是获取程序名
Pro_Hwnd=Str_Array(0)
Val_Address = Plugin.Memory.FindBinary(Pro_Hwnd, Tezhengma_Str, Len_Tezhengma, Begin_Addr, End_Addr, 2)//第三个参数是数值的长度
TracePrint "搜索到的最初地址:"& Hex(Val_Address)
If Val_Address = 0 Then
Form1.InputBox3.Text = "没找搜索到"//判断是否找到
EndScript
End If        

Select Case 1
Case Form1.OptionBox1.Value //=============================选择搜索地址
Call 搜索地址
Val_Address_Add = Hex(Val_Address + int(Form1.InputBox6.Text))//加上偏移数值
If Val_Address <> 0 then
Form1.InputBox3.Text = Val_Address_Add
Else
Form1.InputBox3.Text = "获取失败"
End If
Case Form1.OptionBox2.Value //=============================选择搜索偏移
Call 搜索地址
Form1.InputBox3.Text = Hex(Val_Address + int(Form1.InputBox6.Text))//加上偏移数值
Val_Address= Val_Adress + int(Form1.InputBox6.Text)//加上偏移数值,这个是最后的数值
Pianyi_Val = Plugin.Memory.Read32Bit(Pro_Hwnd, Val_Adress)
TracePrint Hex(Pianyi_Val)
If Pianyi_Val <>0 then
Form1.InputBox3.text = Hex(Pianyi_Val)//打印出结果
Else
Form1.InputBox3.Text = "获取失败"
End If
Case Form1.OptionBox3.Value //=============================选择搜索call
Call 搜索地址
Form1.InputBox3.Text = Hex(Val_Address + int(Form1.InputBox6.Text))//加上偏移数值
Pianyi_Val = Plugin.Memory.Read32Bit(Pro_Hwnd, Val_Address + int(Form1.InputBox6.Text)+1)//找到call 的位置,+1的意思是除去call指令E8
TracePrint Pianyi_Val
call_value = int(Val_Address) + int(Pianyi_Val)
If call_value <> 0 then
Form1.InputBox3.Text = Hex(call_value)
Else
Form1.InputBox3.Text = "获取失败"
End If
Case Form1.OptionBox4.Value //
Call 搜索地址
Val_Address_Add = int(Val_Address) + int(Form1.InputBox6.Text)//加上偏移数值
TracePrint "基地址的地址" & Hex(Val_Address_Add)//注意这个值可能是负数
If Val_Address <> 0 then
Pianyi_Val = Plugin.Memory.Read32Bit(Pro_Hwnd, Val_Address_Add ) //
Form1.InputBox3.Text = Hex(Pianyi_Val)
Else
Form1.InputBox3.Text = "获取失败"
End If
End Select


以下是内存特征码定位插件源码:
base_addr = leirenyuan.GetModuleBaseAddr(hwnd,模块名)
范围 = Hex(base_addr) & "-" & Hex(base_addr + 最大范围)
TracePrint 范围
result = leirenyuan.FindData(hwnd,范围,特征码)
result = split(result,"|")
count = ubound(result)+1
traceprint "找到"&count&"个地址"
TracePrint result(0)
ret1 = Lib.算法.十六进制转十进制(result(0))
ret2 = 偏移
定位地址值 = int(ret1) + int(ret2)
TracePrint "call的的地址是:" & Hex(定位地址值)
value = leirenyuan.ReadInt(hwnd, Hex(定位地址值), 0)
TracePrint "最终定位得到的数值:" & Hex(value)
特征码定位地址=Hex(value)

需要提高内存写辅助技术的朋友请加Q群526897608。本群只为进阶交流学习,谢谢!

最后编辑类人猿 最后编辑于 2017-02-28 23:23:22
2#

前排留名。

3#

啦咯啦咯啦咯

4#

急需学习,急需受教

5#

前排给师傅敬礼

6#

党小组长

7#

必須看得

8#

急需学习,急需受教

9#

特征码这个要看看

10#


低调做人,走自己的路!
11#

nonpmp

12#


13#


14#


15#

11111111111111

16#

七八节

17#

擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦

18#


19#

按键精灵内存特征码工具制作

20#


发新话题 回复该主题