- 11
- 0
- 约1.29千字
- 约 7页
- 2020-02-26 发布于陕西
- 举报
pb实用教程第一课:
关键:在没有源码的情况下,怎么处理问题。
例子:破解联众的注册码模块。
比如,联众设备程序需要注册。当我们机器坏了,注册码也忘记了,怎么办?打电话给客服?或者直接联系设备系统的人?我这里教一个办法,自己动手写一个。
首先需要一个工具,pbkiller。这个程序我已经放在群共享里面了。
Step1:
安全起见,咱们先把设备系统的所以文件都备份到一个文件夹,如“注册机”。如图:
Step2:
Pb6建立一个app,如zcj,如图:
Step3:
该把所有的pbd包含进去,如图:
注意:在文件名的位置输入*.pbd,然后按回车,即可显示所有的pbd文件,然后ctrl+A,选择全部文件.
Step4:
用pbkiller打开相应的主应用。那个是主应用,一个是靠经验判断,还有一个笨办法是一个一个打开pbd,找到有app图标的pbd。
如图:(咱一眼就判断出ylsb_xtgn.pbd这个文件很可疑,就是它了)。
Step5:
这一步很重要,我们必须知道主应用下有哪些全局变量。打开ylsb下的Global variables,将这些全局变量全部复制一下。
Step6:
将这些全局变量复制到咱们新建的注册机的app全局变量里面。如图:
Step7:
咱们随随便便写一个窗口,如w_reg。因为咱们不需要连接数据库什么的。所以在app的代码里面只要写open(w_reg)即可了。
Step8:
开始写破解代码了。在pbkiller的ylsb 的open事件里面,咱们可以看到如下代码:
if (((gs_productuser = ) or (gs_productcode = )) or ( not gf_checkserialno(gs_productuser,gs_productcode))) then
open(w_register)
大家就应该知道gf_checkserialno(gs_productuser,gs_productcode) 这函数应该就是判断注册码的函数了。
如图:
然后就该找找gf_checkserialno 这个函数了。还是笨办法,一个pbd一个pbd找。咱们运气很好,就在这个pbd里面。呵呵。如图:
打开这个函数看看是什么代码:
原来是调用了gf_getserialno(as_user,29)这个函数,那再找到gf_getserialno(as_user,29)。你要看看这个函数是怎么写的也可以,但是,咱们就根本不需要重新写一个这样的函数。
只要理解就可以了。
As_user明显是注册的医院名称嘛。gf_getserialno就是算出注册码的函数啊。
所以,
step9:
开始写算号程序
窗口上放几个控件(这个总不要我教了吧),如图:
算号按钮代码里面就写:
大家可能会问,gf_getserialno这个函数我们还没写啊。呵呵。大家怎么忘记step3,我们已经把所以的pbd都包含进去了。所以,咱们能直接调用的。
Step10
运行效果:原来注册码就算377790啊。是不是很easy?
原创力文档

文档评论(0)