- UID
- 14078
注册时间2006-5-25
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
1 安装 "3*(**3)筛选工具",试运行程序,找到注册窗口,记下关键文本 "注册窗口"。
2 使用 "Pbkiller 2.5.18" 逐一 "Add" 打开 "3*(**3)筛选工具" 程序安装文件夹下的能够打开的 "PB" 编译的 .dll .exe .pbl .pbd 等文件,发现仅 "fc.dll,lottery.exe,pbvm80.dll" 可以打开,其中 "pbvm80.dll" 是 "PB" 程序系统库文件,"lottery.exe" 没有什么内容。好,那么我们就直接关注 "fc.dll"。
3 由于 "Pbkiller" 不支持全局搜索,所以需要右键菜单 "Export All" 导出所有资源到文件夹 "Export" (文件名随意)。
4 使用 "Effective File Search 3.9" 在文件夹 "Export" 中搜索关键文本 "注册窗口",发现文件 "w_register.srw" 包含关键文本。
5.1 用记事本打开文件 "w_register.srw" 研究代码即可。
5.2 或者在 "Pbkiller" 中研究也可。展开 "fc.dll" 找到 "w_register" 分支,再展开 "Controls" / "cb_3" / "Events" / "clicked() returns long [pbm_bnclicked]" 项,在右侧代码栏我们发现了什么? 关键语句 "parent.sle_2.text = f_asc_char(f_get_pass(parent.sle_1.text),"asc")" 就是注册码的计算方法。
-----------------------------------代码部分------------------------------------
clicked () returns long [pbm_bnclicked]
if parent.sle_3.text <> "wjwandwindowsxp" then
parent.cb_3.visible = false
parent.sle_3.visible = false
parent.sle_2.setfocus()
parent.cb_7.default = true
return
end if
parent.sle_2.text = f_asc_char(f_get_pass(parent.sle_1.text),"asc")
parent.cb_3.visible = false
parent.sle_3.visible = false
parent.sle_2.setfocus()
parent.cb_7.default = true
return
------------------------------------------------------------------------------
6 用4-5步的方法查找关键文本 "f_asc_char","f_get_pass" 找到两个函数的代码即可。
-----------------------------------代码部分------------------------------------
f_asc_char (string ls_pass,string ps_cmd) returns string
integer li_len
integer i
string ls_return
li_len = len(ls_pass)
for i = 1 to li_len
ls_return = ls_return + string(asc(mid(ls_pass,i,1)))
next
if len(ls_return) > 16 then
ls_return = left(ls_return,3) + right(ls_return,3) + mid(ls_return,5,10)
end if
return ls_return
------------------------------------------------------------------------------
-----------------------------------代码部分------------------------------------
f_get_pass (string pass) returns string
string ls_string_in
string ls_string_out
string ls_inpass = ""
string ls_temp
string ls_outpass
integer li_offset
integer li_len
integer li_loop
integer li_sta
ls_outpass = pass
ls_string_in = "YN8K1JOZVURB3MDETS5GPL27AXWIHQ94C6F0#$_tuvwxyzlmnopqrsabcdefghijk"
ls_string_out = "_$#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"
li_offset = pos(ls_string_in,mid(ls_outpass,1,1))
ls_string_in = ls_string_in + ls_string_in
ls_string_in = mid(ls_string_in,li_offset,65)
li_len = len(ls_outpass)
for li_loop = 2 to li_len
ls_temp = mid(ls_outpass,li_loop,1)
li_sta = pos(ls_string_out,ls_temp)
ls_temp = mid(ls_string_in,li_sta,1)
ls_inpass = ls_inpass + ls_temp
next
return ls_inpass
------------------------------------------------------------------------------
7 制作注册机(.VBS)。
-----------------------------------代码部分------------------------------------
'(C)2008 by DonPPS
Dim zcm,Input,Inputzcm,Inputabout,text
Inputabout = MsgBox ("3*(**3)筛选工具官方网页:"&Chr(10)&Chr(10)&"http://lottery999.ys168.com/"&Chr(10)&Chr(10)&"**3*(****3)筛选工具:永久使用&终身免费升级(自动)"&Chr(10)&Chr(10)&"全自动推胆、杀号、杀尾、杀跨、杀直选复式、分解式、杀两码、多个大底交并集、杀大小星星、直选组选互相转换、两码和差积、形态过滤及全方位多级容错等等,开奖号走势分析于一身的好工具,内含玩法技巧推荐,功能齐全,操作简单,支持在线号码更新及在线收听开奖广播功能等等。"&Chr(10)&Chr(10)&"===================================================================================================="&Chr(10)&Chr(10)&"仅供测试,请勿商用!by DonPPS",,"免责申明")
'输入硬盘序列号
Input = InputBox("输入序列号"&Chr(10)&Chr(10)&"(硬盘物理序列号)","3*(**3)筛选工具注册机")
Input = trim(CStr(Input))
If Len (Input) <= 2 Then
MsgBox "序列号过短,无法完成注册。"&Chr(10)&Chr(10)&"单击【确定】退出程序。",48,"程序异常"
Else
'计算注册号
zcm = f_get_pass(Input)
zcm = f_asc_char(zcm,"asc")
'复制到剪贴板
text = zcm
CopyToClipBoard text
Inputzcm = MsgBox ("注册码:"&Chr(10)&Chr(10)&zcm&Chr(10)&Chr(10)&"注册码已复制到 Windows 剪切板",64,"3*(**3)筛选工具注册机")
End If
'过程 CopyToClipBoard(Text)
Sub CopyToClipBoard(Text)
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
objIE.Document.ParentWindow.ClipboardData.SetData "text", Text
objIE.Quit
End Sub
'函数 f_asc_char (ls_pass,ps_cmd)
Function f_asc_char (ls_pass,ps_cmd)
Dim li_len,i,ls_return
li_len = len(ls_pass)
for i = 1 to li_len
ls_return = ls_return + CStr(asc(mid(ls_pass,i,1)))
next
if len(ls_return) > 16 then
ls_return = left(ls_return,3) + right(ls_return,3) + mid(ls_return,5,10)
end if
f_asc_char = ls_return
End Function
'函数 f_get_pass (pass)
Function f_get_pass (pass)
Dim ls_string_in,ls_string_out,ls_inpass,ls_temp,ls_outpass,li_offset,li_len,li_loop,li_sta
ls_outpass = pass
ls_string_in = "YN8K1JOZVURB3MDETS5GPL27AXWIHQ94C6F0#$_tuvwxyzlmnopqrsabcdefghijk"
ls_string_out = "_$#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"
li_offset = InStr(ls_string_in,mid(ls_outpass,1,1))
ls_string_in = ls_string_in + ls_string_in
ls_string_in = mid(ls_string_in,li_offset,65)
li_len = len(ls_outpass)
for li_loop = 2 to li_len
ls_temp = mid(ls_outpass,li_loop,1)
li_sta = InStr(ls_string_out,ls_temp)
ls_temp = mid(ls_string_in,li_sta,1)
ls_inpass = ls_inpass + ls_temp
next
f_get_pass = ls_inpass
End Function
------------------------------------------------------------------------------
8 题外话:本来反编译 "PB" 程序还有更好的程序 "ShuDePB 1.8",支持全局搜索,支持11.0,支持反混淆,可惜是收费的,免费的有使用次数限制(在我的电脑上已经不能使用),要联网使用,部分关键代码保留在服务器上。
9 附件
筛选工具注册分析.rar
(2.42 KB, 下载次数: 17)
|
|