首页
社区
课程
招聘
请高手帮忙分析pb源码!
发表于: 2005-12-10 22:58 4654

请高手帮忙分析pb源码!

2005-12-10 22:58
4654
请高手帮我分析一下这个pb源码!我看不大明白,本人才学水平有限请指点!!!
string ls_user
string ls_regcode
string ls_serialno   //变量定义

ls_user = trim(parent.sle_username.text)   //用户名赋给ls_user变量

if ls_user = "" then
        messagebox("错误:","用户名尚未输入,不能注册。请正确输入注册用户名。",stopsign!)
        parent.sle_username.setfocus()         //当ls_user变量值为空时出现不能注册对话框
        returnls_user
end if

ls_serialno = trim(parent.sle_serialno.text)     //赋值?sle_serialno.text是什么?
ls_regcode = trim(parent.sle_regcode.text)    //赋值?sle_regcode.text是什么?

if f_isreged2(ls_serialno,ls_user,ls_regcode) then        //f_isreged2()函数怎么现解?

        if f_writereginfo(gs_regfile,ls_serialno,ls_user,ls_regcode) then        //f_writereginfo()函数怎么理解?
                messagebox("注册成功:","谢谢您的支持!~n~n" + "您已经成功注册了该软件,您将可以得到我们更多的技术支持和版本升级服务。",information!)
        else          //可以理解为什么?就注册成功了。
                messagebox("资料保存失败:","对不起,数据保存失败,请重试。如果问题依然存在,请与软件供应商联系。",information!)
                return
        end if

else
        messagebox("必须提供正确注册码","注册码无效,请检查所有字符是否都已正确输入!",stopsign!)
        parent.sle_regcode.setfocus()
        return
end if

gb_isreged = true
gs_username = ls_user
parent.ib_allowcontinue = true
close(parent)

f_isreged2()函数原型:

f_isreged2(string as_serialno,string as_username,string as_regcode)returns boolean

string ls_curcode
string ls_oldcode
string ls_regcode
integer li_namelen
integer li_codelen
integer li_startpos

if as_serialno = "" or as_username = "" or as_regcode = "" then   //好像是三个(机器码、用户名、注册码(那个是注册码那个是机器码))都为空时结束注册过程。
        return false
end if

li_codelen = len(as_regcode)

if li_codelen < 5 then      //如果as_regcode是注册码那么当注册码小于5个字符时结束过程对不对?
        return false
end if

ls_oldcode = gpf_functions.uf_str_decrypt2(left(as_regcode,li_codelen - 1))            //gpf_functions.uf_str_decrypt2()函数怎么理解?
ls_curcode = gpf_functions.uf_app_genregcode4(as_serialno,as_username,as_regcode)            //gpf_functions.uf_app_genregcode4()函数怎么理解?
return upper(ls_curcode) = upper(ls_oldcode)

f_writereginfo()函数原型:

f_writereginfo(string as_regfile,string as_serialno,string as_username,string as_regkeyno)returns boolean

string ls_tempini = "C:\_wsk.tmp"                //C:\_wsk.tmp这个文件是什么找不到是不是还未写入呀?
string ls_reginfo
string ls_comment = ";;这是重要文件,请不要做任何修改!

;;----------------------------------------------------------------------

;;版权所有: 2002-2004, 台州文达电脑技术发展有限公司,保留该软件所有权利!

;;   新技术 新服务    新技术 新服务    新技术 新服务    新技术 新服务   

;;WonderTECH .. WonderTECH .. WonderTECH .. WonderTECH .. WonderTECH ..

;;WonderTECH .. WonderTECH .. WonderTECH .. WonderTECH .. WonderTECH ..

;;WonderSoft .. WonderSoft .. WonderSoft .. WonderSoft .. WonderSoft ..

;;WonderSoft .. WonderSoft .. WonderSoft .. WonderSoft .. WonderSoft ..

"                            //这个又是什么?具体执行那一句?
integer li_file
boolean lb_rtn = false

if fileexists(ls_tempini) then       //这里是如果ls_tempini文件存在则执行filedelete(ls_tempini)如不存在则结束?
        filedelete(ls_tempini)
end if
       //从这里往下更不明白
ls_reginfo = ls_comment + "[Reginfo]~n" + "SerialNO=" + as_serialno + "~n" + "UserName=" + as_username + "~n" + "RegKeyNO=" + as_regkeyno + "~n"  
li_file = fileopen(ls_tempini,streammode!,write!)
filewrite(li_file,ls_reginfo)
fileclose(li_file)

if fileexists(as_regkeyfile) then
        filedelete(as_regkeyfile)
end if

lb_rtn = gpf_functions.uf_file_compress(ls_tempini,as_regkeyfile)
filedelete(ls_tempini)
return lb_rtn
高手进来看过后请留言.

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 413
活跃值: (637)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
PB你不懂,怎么学人家做注册机??
看一下PB的手册,有些内容是必须的.

做起来并不麻烦.
2005-12-11 00:19
0
雪    币: 1192
活跃值: (1619)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
用PBKiller打开"软件名.exe",查看Global Variables得到
nvo_functions gpf_functions

然后在nvo_founctions里就可以找到uf_str_decrypt2,uf_app_genregcode4等关键函数

转了一下,关键函数跑到wsutils.dll里去了,晕
2005-12-11 04:58
0
雪    币: 3689
活跃值: (4247)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
4
用PB本身做注册机。

学点PB的基础知识就够了。
2005-12-11 09:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼上的是齐鲁侠客,找他
2005-12-11 10:13
0
雪    币: 107
活跃值: (55)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
把相应的代码贴到PB中运行看看就知道了
2005-12-11 12:13
0
游客
登录 | 注册 方可回帖
返回
//