首页
社区
课程
招聘
[求助]请帮忙分析一下这段PB代码。
发表于: 2005-8-20 19:01 6508

[求助]请帮忙分析一下这段PB代码。

2005-8-20 19:01
6508
event clicked;if parent.sle_k1.text + parent.sle_k2.text + parent.sle_k3.text + parent.sle_k4.text + parent.sle_k5.text = parent.is_regno then
        parent.is_regno = parent.inca_encode.of_cricode(parent.is_regno)
        registryset(parent.is_regpath + parent.is_appname,"RegNO",parent.is_regno)
        closewithreturn(parent,"1")
else
        messagebox("系统提示","注册码输入错误!")
        parent.sle_k1.setfocus()
end if

这是反编译PB程序后得到的一段代码,功力太浅,请各位帮忙。谢谢。
附件是全部代码。附件:1111.rar

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 3697
活跃值: (4252)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
2
重点在这段代码前。什么软件?
2005-8-20 20:57
0
雪    币: 4009
活跃值: (1404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
虽然俺没有学过pb,不过前一段时间也破了一个pb软件。

你给的源代码太少了,谁都帮不了你的。提供需要破解的软件吧。
2005-8-20 21:03
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
4
看了提示有点怕怕,作者竟然还能检测你是在破解,建议备份硬盘数据先
2005-8-20 21:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 billwei 发布
虽然俺没有学过pb,不过前一段时间也破了一个pb软件。

你给的源代码太少了,谁都帮不了你的。提供需要破解的软件吧。


如何与你联系?我的QQ276100855
2005-8-20 23:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
最初由 baby2008 发布
看了提示有点怕怕,作者竟然还能检测你是在破解,建议备份硬盘数据先


没那么可怕,那个软件你点取消后都会出现那个提示。我只是想搞个PB的软件练练手。
如有兴趣,请留下联系方式,我把软件发你试试。
2005-8-20 23:15
0
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
附件里的代码看起来太费劲了,有机会把东东传到我QQ上,我试试,忙得差不多了,周二回去
2005-8-21 18:02
0
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
8
平时甚少破解,更不只PB为何物。
不过看了楼主给的代码,很明显能爆破的。
看了附件,源码都给了,还有什么破不了的。
还是没明白楼主的意思。
2005-8-21 18:38
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
9
现在用PB的人很少了...
2005-8-21 20:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
inca_encode.of_cricode是关键
2005-8-21 20:37
0
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
11
PB类似于JAVA,编译的PBD是一种中间代码,由PBVM解释执行,网上好像没有像JAVA一样的虚拟机指令集,所以要对PBD修改很难,但能被反编译,分析算法写注册机是比效可行的,对PBD暴破可能不太容易做到。个人看法
2005-8-21 20:50
0
雪    币: 3697
活跃值: (4252)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
12
ljttt能爆破
2005-8-21 22:00
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
PB的完全可以爆破。
2005-8-21 23:00
0
雪    币: 172
活跃值: (212)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
楼主是用什么软件反编译PB的?
2005-8-21 23:13
0
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
15
绝对相信ljtt能暴破,也相信PB能暴破,只是俺目前还没有找到修改PBD的方法,只知道能导出源代码修改后重新生成PBD
2005-8-21 23:43
0
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
16
if parent.sle_k1.text + parent.sle_k2.text + parent.sle_k3.text + &
   parent.sle_k4.text + parent.sle_k5.text = parent.is_regno then   
   //五个注册码输入框的文本合并后如果等于is_regno实便变量,则注册成功
        parent.is_regno = parent.inca_encode.of_cricode(parent.is_regno)
        //对注册码进行of_cricode变换(也就是一个简单加密)
        registryset(parent.is_regpath + parent.is_appname,"RegNO",parent.is_regno)
        //存入注册表中
        closewithreturn(parent,"1")
else
        messagebox("系统提示","注册码输入错误!")
        parent.sle_k1.setfocus()
end if

return

    以上说明在打开注册窗口时is_regno已经被赋值,熟悉PB的话就知道八成是在窗口的open
事件中赋值的,直接到w_reg的open事件中,关键代码如下:

inca_encode = create nca_encode  //建立用户对像
is_appname = inca_encode.of_getappname()  //参见of_getappname函数体
registryget(is_regpath + is_appname,"SNO",ls_sno)
ls_sno = inca_encode.of_encode(ls_sno)  //进行一个转换
is_regno = inca_encode.of_getregno(ls_sno)  //得到序列号

of_getappname函数体
ls_app = getapplication()
ls_appname = trim(ls_app.classname())  //得到应用名称
ls_appname = reverse(ls_appname)  //反换应用名
return ls_appname  //返回

导出nca_encode对像,新建一个PB应用导入,下面几句便成了注册机

string ls_appname,ls_code = "",ls_sno = "",as_sno
application ls_app
integer li_1

ls_appname = "888666kh"   //应用名反转后的结果

nca_encode lnca_encode
lnca_encode = create nca_encode

registryget(is_regpath + ls_appname,"SNO",ls_sno)
//实际上是CPU ID和C盘序列号乘固定数值再加上第一次
//运行程序的日期(yyyymmdd),再从右取25位
ls_sno = lnca_encode.of_encode(ls_sno)
sle_1.text = lnca_encode.of_getregno(ls_sno) //序列号
2005-8-22 02:59
0
游客
登录 | 注册 方可回帖
返回
//