首页
社区
课程
招聘
[旧帖] [求助]大哥大姐能帮忙看下这段PB反编译代码吗? 0.00雪花
发表于: 2008-5-2 23:58 4377

[旧帖] [求助]大哥大姐能帮忙看下这段PB反编译代码吗? 0.00雪花

2008-5-2 23:58
4377
call super::clicked;
string ls_registration
string ls_registration1
string ls_temp
string ls_temp1
string ls_temp2
integer i
integer j
boolean b_isok = false

b_isok = false
ls_registration = parent.st_r1.text
ls_registration1 = trim(parent.sle_l1.text) + "-" + trim(parent.sle_l2.text) + "-" + trim(parent.sle_l3.text) + "-" + trim(parent.sle_l4.text)
ls_registration = f_admissionnumber(ls_registration)

if ls_registration1 <> ls_registration then
        messagebox(gs_msg_title,"对不起,您输入的许可号不正确,请重新输入!")
        return 1
else
        b_isok = true
end if

if b_isok then
        setprofilestring(gs_syspath + "\\rocfly.ini","qxqp","licensekey",ls_registration1)
        setprofilestring(gs_winpath + "\\rocfly.ini","qxqp","usetype","2")
        setprofilestring(gs_syspath + "\\rocfly.ini","qxqp","usetype","2")
        registryset("HKEY_LOCAL_MACHINE\Software\rocfly\qxqp","usetype",regstring!,"2")
        messagebox(gs_msg_title,"恭喜您,您注册成功了,请重新启动系统!")
        gs_usetype = "2"
        parent.rocbool = true
        close(w_registration)
else
        messagebox(gs_msg_title,"对不起,您输入的许可号不正确,请重新输入!")
end if

return

WINDOWS目录下边有个 rocfly.ini  文件  软件安装目录下有个REG.DLL 文件 用Borland C++ DLL Method 2  写的  这个什么意思?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 236
活跃值: (11)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
2
很简单,算法加密在DLL中的!
2008-5-3 12:25
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
DLL用ASP2.12加壳的 我脱了  但是我该怎么调试呢?给个思路 呵呵
2008-5-3 23:19
0
雪    币: 246
活跃值: (23)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
在反编译代码中找到f_admissionnumber()函数,这个是注册算法函数,有了它就可以写出注册机了.
ls_registration = parent.st_r1.text  //取用户名or机器码?
ls_registration1 = trim(parent.sle_l1.text) + "-" + trim(parent.sle_l2.text) + "-" + trim(parent.sle_l3.text) + "-" + trim(parent.sle_l4.text) //取输入的许可号,4部分(X-X-X-X)
ls_registration = f_admissionnumber(ls_registration) //由用户名or机器码计算正确的许可号

if ls_registration1 <> ls_registration then //比较输入的许可号和计算得到的许可号
  messagebox(gs_msg_title,"对不起,您输入的许可号不正确,请重新输入!")
  return 1
else
  b_isok = true //相等就设置注册成功标志位
end if
2008-5-4 11:04
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢楼上的大哥,小弟受益匪浅,这种链接库加密的第一次弄,没头绪,呵呵 ,交个朋友 QQ 327773608
哦,对了,我怎么把那个REG.DLL删除了,程序为什么还能运算注册码呢?不会是个陷阱吧?
2008-5-4 22:45
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
string ls_temp
string ls_temp1
string ls_admissionnumber
integer i
integer j

for i = 1 to 4
        ls_temp = f_changestring(registrationnumber,i)
        ls_temp1 = f_conversion(i,ls_temp)
        ls_admissionnumber = ls_admissionnumber + "-" + ls_temp1
next

ls_admissionnumber = mid(ls_admissionnumber,2)
return ls_admissionnumber

这个对吗????
2008-5-4 23:20
0
雪    币: 246
活跃值: (23)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
你需要找出f_admissionnumber()函数及所有它调用的其他自定义函数。
参考这里:
http://bbs.pediy.com/showthread.php?t=63449
2008-5-5 10:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
if ls_registration1 <> ls_registration then

如果没有必要,就做个补丁,暴破掉这句,将<>改为=就可以了

暴破只是权宜之计,能暂时解决问题,就逆向来讲,暴破是无意义的。
2008-5-5 10:37
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢楼上的两位大哥,我先研究下补丁怎么做,然后在学着做注册机,PB我是刚接触,以后还请两位大哥指教
2008-5-5 22:19
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼主,怎么样坐pbd的补丁?请详细说明一下,谢谢
2008-7-8 17:18
0
游客
登录 | 注册 方可回帖
返回
//