能力值:
( LV8,RANK:130 )
|
-
-
2 楼
强,想先运行看一下界面,直接报错。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
抱歉忘说了,没写界面,就是命令行的,程序第一个参数就是序列号
报错是因为序列号不正确。当然这很不友好,在软件产品中我觉得可以捕捉这种异常,让它变得友好一些...
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
晕,序列号错误就异常,这个真的太不友好了:)
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
晕S,就是那壳的,如果不是壳的话应该会显示明码。。。。。。。。。。。。。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
不是的,没有壳也是这样的。加了一个aspr2.4,加这个壳主要是为去掉符号,以及简单的加密明文字符串。也可以去掉,但是为了真实一点还是弄上了... 程序第一个参数就是序列号
|
能力值:
( LV9,RANK:180 )
|
-
-
7 楼
这东西发到CM小心被人骂
得找小云要一下什么文字的 MD5 = 3575D0EBF88E717B9E2ECA46FFEC2487
Correct serials
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
对,不加壳或者脱壳后可以搜索到一段字符串就是“Correct serials”。当然用hash逆推明文,或者找碰撞都可以破解。请问你是否试过,如果不逆推明文,而是直接替换这个hash值为一个已知明文的hash值是否能破解?按照设计理论是不行的,算法重点就是转化具体比较和分支跳转的机器码实现。要是被破了就再接再厉继续完善算法。嘿嘿
要是必须逆推出明文或者找碰撞才能破解,那么我认为安全性是基于散列算法的安全性,那么更换为更安全的hash算法以及弄个复杂明文似乎可以大大提高安全性。
|
能力值:
( LV9,RANK:180 )
|
-
-
9 楼
类似的做法..在论坛上你可以找看看.
大多会被回帖者回批 : 流出一个正确的序号等于已遭破解
保护者与破解者往往看的点不一样, 所以若LZ相信自己,不妨就用此方法来保謢自己的软件吧
个人认为你这个跟下列的难度是一样的
序号 -> MD5 -> 程序解码 -> 继续执行....
所以..不用搞得这么复杂.
另外..你上面好像有说到处理例外使得程序完善一点.
我是觉得用下列的方法就很完善了. 连例外都不用处理 :
序号 -> MD5 ->
if MD5==3575D0EBF88E717B9E2ECA46FFEC2487
{
SHA1(序号) -> 解程序码 -> 执行
}
else
{
MsgBox(注册码错误, 请重新输入)
} 这里的序号也可以Key文件替代. 什么碰撞都没用了.
个人浅见.
注: 我7楼贴的 3575D0EBF88E717B9E2ECA46FFEC2487 就是你这CM的正确序号的MD5
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
明白您的意思!
对于“流出一个正确的序号等于已遭破解”,我想是通过加密狗解决。虽然用户不参与序列号的直接输入,但是这样就要求读取加密狗数据过程的安全性要很高才行。好在对于目前的狗,即使知道了狗里面的验证数据,也无法简单的把相同的数据写到另外一个狗里面.
另外程序难度稍有点不同,应该还是: 序号 -> MD5(或别的hash算法) -> 验证序列号 -> 继续执行
还没有对程序本身代码进行加密. 验证序列号的部分,主要是转化了cmp和jmp等相关语句,防止爆破.
哦,流程确实不是这样的:
序号 -> MD5 ->
if MD5==3575D0EBF88E717B9E2ECA46FFEC2487
{
SHA1(序号) -> 解程序码 -> 执行
}
else
{
MsgBox(注册码错误, 请重新输入)
}
因为算法的原因,无法判断是否序列号错误....所以,要捕捉异常,让程序更友好一些.
多谢高手点评!
|
能力值:
( LV9,RANK:180 )
|
-
-
11 楼
做保护得先研究破解先.
所以你最好先了解破解者对加密狗的做法.
以免弄成花钱买狗却一点用也没有.
这种事不便说得太明, 供LZ参考
|
能力值:
(RANK:420 )
|
-
-
12 楼
plus one
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
突然明白,我把重点放在防止比较阶段的爆破方面,但是没想到百密一疏,读狗数据方面有漏洞。感觉11楼的意思是暗指当前大多数加密狗的数据都可以用某种方式读出?那确实比较可怕... 原本以为靠狗的安全性来大大增强软件的安全性,这样的话,实际上软件加密方式本身多复杂都没什么用。就上上面提到的,以用户序列号当作key加密程序本身一段代码等方式,安全性很高,但一旦流出一个正确的号,就全完了。
这个crackme欢迎大家继续玩玩,不过防盗版的任务还是任重道远...得继续努力了。
|
能力值:
( LV9,RANK:180 )
|
-
-
14 楼
这个CM算是结尾了吧.
LZ可否公布一下 3575D0EBF88E717B9E2ECA46FFEC2487 是那个字符串的MD5 ?
我查了MD5的网页及跑了一下MD5的程式都没找出来.
|
能力值:
( LV4,RANK:50 )
|
-
-
15 楼
下来看看,接触不久
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
其实不应该算结尾了!因为还没有人公布出破解算法,哈哈!确实不是用输入的字符串来作为seed加密程序的某个部分。想看看这种防止汇编级爆破的方式效果到底怎么样... 希望众高手有时间再玩玩..
其实这个号不是重点,告诉大家吧: a1d2c3f4
另外,咨询了一些人,也包括做狗的,说当前读取狗和程序间通讯数据以及狗内特定信息的难度还是很大的。以智能卡加密狗来说,基本上没什么方法获取。也就是说如果把这个号保存在狗里面,安全性还是很高的。哈,这只是一种说法,有什么新的破解方式希望能够学习下!
|
能力值:
( LV9,RANK:180 )
|
-
-
17 楼
祝你们软件大卖
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
 LZ还是只站在加密的角度想解密
sessiondiy都讲的很清楚了
站在解密的角度来看,算法跟爆破是没啥关系的
祝你们软件大卖
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
 ..瞧瞧
|
|
|