吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 683|回复: 7
收起左侧

[求助] PB文件OD无法直接更改

[复制链接]
170077000 发表于 2023-4-27 10:08
25吾爱币
用PB工具可以看到代码    有测试帐号两个  一个支持20次使用  一次支持5次使用  后边是的注册  看不懂PB的代码方式   哪位大神安装有PB试试能否生成注册机

string ls_code
string ls_hdcode
long ll_limit

if ((isnull(as_regcode)) or (len(as_regcode) = 0)) then
il_return = 0
else
if as_sysno = "99" and ((as_name = "xxxxxx有限公司") or (as_name = profilestring("user.ini","chyb","madein",""))) then  
  if as_regcode = "00000000" then
   il_usercount = 20    等于某代码+公司名称+注册码0000000   得到20次试用
   il_return = 5
   goto label_0
  end if
  if as_regcode = "11111111" then
   il_usercount = 5     等于某代码+公司名称+1111111   得到5次试用
   il_return = 4
   goto label_0
  end if
end if
ls_hdcode = createhdcode()
ls_code = createregcode(as_name,as_sysno,ai_usertype,ls_hdcode)
if ls_code <> readcode(as_regcode,1) then
  il_return = 2
else
  ll_limit = uf_xor(of_hextodec(mid(as_regcode,23,1)),of_hextodec(mid(as_regcode,17,1)))
  ll_limit = uf_xor(ll_limit,of_hextodec(mid(as_regcode,29,1)))
  ll_limit = uf_xor(ll_limit,of_hextodec(mid(as_regcode,11,1)))
  ll_limit = uf_xor(ll_limit,of_hextodec(mid(as_regcode,10,1)))
  if right(of_dectohex4(ll_limit),2) <> mid(as_regcode,5,1) + right(as_regcode,1) then
   il_return = 2
  else
   il_usercount = long(readcode(as_regcode,3))
   ll_limit = uf_xor(of_hextodec(mid(as_regcode,19,1)),of_hextodec(mid(as_regcode,2,1)))
   ll_limit = uf_xor(ll_limit,of_hextodec(mid(as_regcode,24,1)))
   if right(of_dectohex4(ll_limit),1) <> mid(as_regcode,10,1) then
    il_return = 2
   else
    ll_limit = long(readcode(as_regcode,2))
    if ll_limit <= 4000 then
     if ll_limit <= abs(al_cishu) then
      il_return = 3
      goto label_0
     end if
     if ll_limit <= abs(al_cishu) + 10 then
      il_return = abs(al_cishu) - ll_limit
      goto label_0
     end if
    end if
    il_return = 1
   end if
  end if
end if
end if

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ppszxc 发表于 2023-4-27 15:45
代码里缺少函数,生成不了注册机
yang0318 发表于 2023-4-27 16:16
这段代码看起来像是某个软件的授权检测代码,大致流程如下:

首先判断输入参数是否为空或长度为0。如果是,则将返回值设置为0,表示无法进行授权检测。

如果不是上述情况,接下来根据as_sysno和as_name的值以及as_regcode(注册码)的值进行授权检测。

如果as_sysno等于"99"并且(as_name等于"xxxxxx有限公司"或者user.ini文件中chyb配置区块的madein键的值为空字符串),则会进入一个特殊的授权检测分支。如果as_regcode等于"00000000",则说明使用了某个固定的注册码,就给予20次试用授权;如果as_regcode等于"11111111",则给予5次试用授权。

如果不符合上述特殊情况,则接下来会调用createregcode函数生成一个注册码ls_code,并与输入的as_regcode进行比较。如果不相等,则说明注册码无效,返回值设为2。

如果注册码有效,则根据注册码中的各个字段计算出一个时间限制值ll_limit,并判断该值是否与注册码中的校验位一致,如果不一致,则说明注册码无效,返回值设为2。

如果时间限制值校验通过,则读取注册码中记录的已授权用户数量il_usercount,并与另一个时间限制值进行比较。如果已授权用户数量大于等于该时间限制值,则说明软件已经超过了授权范围,返回值设为3

免费评分

参与人数 1吾爱币 -8 收起 理由
侃遍天下无二人 -8 禁止照搬AI回复

查看全部评分

ppszxc 发表于 2023-4-27 16:29
软件pbd文件里面应该有createregcode和其他函数的写法
 楼主| 170077000 发表于 2023-4-27 18:29
yang0318 发表于 2023-4-27 16:16
这段代码看起来像是某个软件的授权检测代码,大致流程如下:

首先判断输入参数是否为空或长度为0。如果 ...

是的   有这个  软件下载地址  

https://wwtp.lanzoul.com/i2WNV0u38n0f


对createregcode  和ENCRYPTS函数下断   没用  断不下来
vl_cst_encryptor io_encryptor
integer i
string ls_code

io_encryptor = create vl_cst_encryptor
if isnull(as_sysno) then
as_sysno = ""
end if
ls_code = encrypts(as_name,as_sysno + string(ai_type) + right(of_dectohex4(len(as_name)),1),as_hdcode)
return ls_code

yang0318 发表于 2023-4-27 19:13
170077000 发表于 2023-4-27 18:29
是的   有这个  软件下载地址  
https://wwtp.lanzoul.com/i2WNV0u38n0f

根据这段代码的流程,我猜测createregcode的实现细节应该是在调用了ENCRYPTS函数之后得到的加密结果,并将其返回。

而这段代码中,所谓的ENCRYPTS函数可能是自定义的一个加密函数,并且它的具体实现细节并没有在这段代码中给出,因此你断下来是看不到具体实现的。

如果需要进一步了解createregcode和ENCRYPTS函数的实现细节,建议找到这两个函数的完整代码并进行仔细阅读分析。
ppszxc 发表于 2023-4-29 12:19
ls_hdcode = createhdcode()//生成校验码
//ls_sysno = trim(sle_sysno.text)//单位号
//ls_name = trim(sle_name.text)//单位名称
//ls_source = trim(sle_scode.text)//校验码
//ls_regcode = trim(sle_code.text)//注册码
ls_code = encrypts(as_name,as_sysno + string(ai_type) + right(of_dectohex4(len(as_name)),1),as_hdcode)//生成注册码
其中createhdcode、encrypts、of_dectohex4等函数都在pbd文件里找到,抠出来用
 楼主| 170077000 发表于 2023-4-29 12:48
ppszxc 发表于 2023-4-29 12:19
ls_hdcode = createhdcode()//生成校验码
//ls_sysno = trim(sle_sysno.text)//单位号
//ls_name = trim( ...

PBD下没找到  是哪一个  我看到的是在qsn_reginfo.dll 里
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-3 06:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表