能力值:
( LV2,RANK:10 )
|
-
-
2 楼
由于没有上传权限,放到DFCG上了
http://www.chinadfcg.com/viewthread.php?fpage=&tid=141392&page=1#pid97290
|
能力值:
( LV12,RANK:530 )
|
-
-
3 楼
test.dat文件里面内容是B0.
楼主给个正确的截图.
本人初步研究,名字不能小于5位,test.dat的第一个字节要读入,有用.
算法:
比较
(用户名各位ASCII相加) XOR (test.dat的第一个字节)
和
(序列号各位ASCII相加) XOR B0.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我就是想利用这一点,作保护!
看有没有人能解开
|
能力值:
( LV12,RANK:530 )
|
-
-
5 楼
呵呵,那我成功了?
|
能力值:
(RANK:410 )
|
-
-
6 楼
注册算法倒很简单:
程序首先检查注册Key文档,没有就提示注册错误,接着比较Name和Code的长度,不等就错误。再接着计算Name和Code,公式如下:
if Name的累加和 xor byte ptr [Key[test.dat]] == Code的累加和 xor 0xB0 then,
不过这不是完美注册,因为CrackMe的注册成功等的字串加了密,其中解密的密钥就是test.dat中的第一个字符(字节),在不知道原字串的情况下是无法解密恢复成原字串的(但若公开原字串的话则可以算出密钥并恢复原字串),除了穷举密钥外,没别的办法。
Genius兄,你的防暴方法只要公开了原字串就能完美注册了。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
呵呵,其实,只要把test.dat中的第一个字节,进行穷举就行了,
因为是一个字节,所以00h-FFh,一定会有一个正确的答案!
说一下,我这个是只读一个字节,大家可以进行穷举,如果我要是读8个字节,那怎么办?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
|
能力值:
(RANK:410 )
|
-
-
9 楼
嘿嘿,知道了被加密的原字符串就能完美破解了。
首先在程序目录中创建一个“test.dat”文件,输入密钥“0xD3”(注:必须用UE或其它十六进制编辑器用Hex编辑模式输入这个十六进制值)。接着输入:
用户名:zhanshen[dfcg]
注册码:iiiiiiiiiiiiis
注册成功。。。
附图:
附注册机(c语言编译,MS_DOS方式,注册机会自动生成test.dat文件,不用手动创建了):
附件:KeyGen_c.rar
|
能力值:
(RANK:410 )
|
-
-
10 楼
to Genius兄,你加密的字符串用多位数加密而不能穷举出来的,但只要有一个还原的字符串还是能计算出密钥的,因为你加密的算法(xor)是可逆的。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
战神 在 2005-2-19 11:44 PM 发表:
to Genius兄,你加密的字符串用多位数加密而不能穷举出来的,但只要有一个还原的字符串还是能计算出密钥的,因为你加密的算法(xor)是可逆的。 战神兄,说的有道理,看来以后要用中文加密了,因为2个字,表示一个中文!但还是能穷举出来的,难度又能增加一点.。
|
|
|