今天看了个大佬的帖子,提到了卡密的生成方法,有一定的防破解能力,分享下.
思路就是:卡密按规则生成,但是第一次不全部效验,给PJ者留点机会,中途随机调用1个效验进行二次效验
中途调用时用启动线程的方法,能规避一定的跟踪,判断到异常时不要退出软件,因为容易下断点,把一些全局变量清空,或者数组清空就行,就是让软件出错即可.
生成卡密的代码
变量名 | 类 型 | 静态 | 数组 | 备 注 | a | 整数型 | | | c | 整数型 | | | b | 整数型 | | | 前 | 文本型 | | | 中 | 文本型 | | | 后 | 文本型 | | | 尾1 | 文本型 | | | 尾2 | 文本型 | | | 尾3 | 文本型 | | | 卡密 | 文本型 | | | 置随机数种子 ()a = 取随机数 (0, 4 )b = 取随机数 (0, 4 )c = a + b 前 = 到大写 (文本_取随机字符 (3 )) 中 = 到大写 (文本_取随机字符 (4 )) 后 = 到大写 (文本_取随机字符 (4 )) 尾1 = 到大写 (取文本右边 (取数据摘要 (到字节集 (前 + 到文本 (a )) ), 5 )) 尾2 = 到大写 (取文本右边 (取数据摘要 (到字节集 (中 + 到文本 (b )) ), 5 )) 尾3 = 到大写 (取文本右边 (取数据摘要 (到字节集 (后 + 到文本 (c )) ), 5 )) 卡密 = 前 + 到文本 (a ) + 中 + 到文本 (b ) + 后 + 到文本 (c ) + 尾1 + 尾2 + 尾3 返回 (卡密 )
四个效验的方法:
a = 到整数 (取文本中间 (卡密, 4, 1 )) b = 到整数 (取文本中间 (卡密, 9, 1 )) 判断 (a + b = 到整数 (取文本中间 (卡密, 14, 1 )) ) 返回 (真) 返回 (假)变量名 | 类 型 | 静态 | 数组 | 备 注 | 前4 | 文本型 | | | MD5 | 文本型 | | |
前4 = 取文本左边 (卡密, 4 )MD5 = 到大写 (取数据摘要 (到字节集 (前4 )) ) 判断 (寻找文本 (卡密, 取文本右边 (MD5, 5 ), , 假) ≠ -1 ) 返回 (真) 返回 (假)变量名 | 类 型 | 静态 | 数组 | 备 注 | 中5 | 文本型 | | | MD5 | 文本型 | | |
中5 = 取文本中间 (卡密, 5, 5 )MD5 = 到大写 (取数据摘要 (到字节集 (中5 )) ) 判断 (寻找文本 (卡密, 取文本右边 (MD5, 5 ), , 假) ≠ -1 ) 返回 (真) 返回 (假)变量名 | 类 型 | 静态 | 数组 | 备 注 | 后5 | 文本型 | | | MD5 | 文本型 | | |
后5 = 取文本中间 (卡密, 10, 5 )MD5 = 到大写 (取数据摘要 (到字节集 (后5 )) ) 判断 (寻找文本 (卡密, 取文本右边 (MD5, 5 ), , 假) ≠ -1 ) 返回 (真) 返回 (假)
这个只是个例子,可以根据这个思路自由发挥.
|