飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3110|回复: 3

[原创] 3*(**3)筛选工具(PB 编译)注册分析

[复制链接]

该用户从未签到

发表于 2008-4-2 10:24:08 | 显示全部楼层 |阅读模式
1 安装 "3*(**3)筛选工具",试运行程序,找到注册窗口,记下关键文本 "注册窗口"。
Snap0副本.gif
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"。
Snap6副本.gif
3 由于 "Pbkiller" 不支持全局搜索,所以需要右键菜单 "Export All" 导出所有资源到文件夹 "Export" (文件名随意)。
4 使用 "Effective File Search 3.9" 在文件夹 "Export" 中搜索关键文本 "注册窗口",发现文件 "w_register.srw" 包含关键文本。
Snap1副本.gif
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")" 就是注册码的计算方法。
Snap8副本.gif

-----------------------------------代码部分------------------------------------
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" 找到两个函数的代码即可。
Snap9副本.gif

-----------------------------------代码部分------------------------------------
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
------------------------------------------------------------------------------
Snap10副本.gif
-----------------------------------代码部分------------------------------------
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)
PYG19周年生日快乐!

该用户从未签到

发表于 2008-4-2 13:37:35 | 显示全部楼层
/:011 目前看不懂   学习
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-1-15 13:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-4-2 15:29:10 | 显示全部楼层
    看不懂~/:L /:L
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-2 15:49:25 | 显示全部楼层
    这个**我追过,不是太难,楼主方法很另类,学习了,感谢~
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表