【原创】还是PB程序破解分析

Eddy 发布于2009-10-28 12:18:5 分类: 技术心得 已浏览loading 网友评论0条 我要评论

主程序用peid查是VC的,但你用OD跟下就发现总在pbvm90.dll里打转。基本可以确定是PB程序了。

对付PB程序的利器:shudepb
虽说是试用版,但功能已经足够强大

打开shudepb,载入程序主文件,进行全局搜索(当然是搜索敏感字符串了),这
样就可以定位到关键代码处:

 

引用

//clicked (none) returns long [pbm_bnclicked]
//long ancestorreturnvalue
string ls_key
string ls_reg_code

CALL SUPER::clicked
ls_reg_code = trim(PARENT.regedit_code.text)
ls_key = "HKEY_LOCAL_MACHINE\SOFTWARE\FYSOFT"
registryset(ls_key,"registcode",regstring!,ls_reg_code)
registryget(ls_key,"registcode",regstring!,ls_regedit_code)
IF mid(f_regedit_reg_success("fy5.0"),1,15) = ls_regedit_code THEN //6
messagebox("注册","软件注册成功!感谢你使用XXXXX软件!")
ELSE //6
messagebox("注册","软件注册失败!请检查你输入的注册码!")
END IF //6
RETURN



稍微懂点编程的就能看懂是什么意思,基本是源码了嘛^_
f_regedit_reg_success()这个是个关键函数,搜索“f_regedit_reg_success”

 

引用

//Public function f_regedit_reg_success (string soft_ver) returns string
//string soft_ver
string ls_disk_serial

ls_disk_serial = f_regedit("c:")
IF len(ls_disk_serial) > 5 THEN //4
ls_disk_serial = mid(ls_disk_serial,1,5)
END IF //4
ls_disk_serial = ls_disk_serial + soft_ver
RETURN gf_md5string(ls_disk_serial)



以上就是这个函数的原型了。下面用VB写个注册机:

注册机源码(VB):

 

引用

Function f_regedit_reg_success(soft_ver As String) As String
Dim ls_disk_serial As String
ls_disk_serial = Text1.Text
If Len(ls_disk_serial) > 5 Then
    ls_disk_serial = Mid(ls_disk_serial, 1, 5)
End If
ls_disk_serial = ls_disk_serial + soft_ver
f_regedit_reg_success = ls_disk_serial
End Function
Private Sub Command1_Click()
Dim strMd5 As String
strMd5 = DigestStrToHexStr(f_regedit_reg_success("fy5.0")) 'MD5加密
Text2.Text = Mid(strMd5, 1, 15)
End Sub

已经有(0)位网友发表了评论,你也评一评吧!
原创文章如转载,请注明:转载自Eddy Blog
原文地址:http://www.rrgod.com/technique/6.html     欢迎订阅Eddy Blog

关于 PB  破解  的相关文章

记住我的信息,下次不用再输入 欢迎给Eddy Blog留言