cooolftp 使用了经过修改的 des 来实现注册判断。每个注册码为 8 个字符,正好是 des 需要的 key 长度。具体流程:
const char magic[100][16] = { ..... }; <-- 事先存好的结果
strupr( key );
des_init( key );
des_encrypt( key, "coolftp....", outbuf ); <--- 是一个16字符的串,可以直接看到
for (i=0; i<100; i++) {
if( !memcmp( outbuf, magic[i] ) ) reg_ok();
}
reg_failed();
所以注册码必须满足:des后的结果是事先存好的100个结果之一。
它的所有注册码都是偶数数字和第偶数个字母(B,D,F...)组成的,这样,一共有5+13=18个字符。在 18^8 范围内穷举,就可以得到注册码。
顺便说一句,作者不懂密码学,他修改过的 des 强度大大低于原来的 des。
- 标 题:cooolftp 注册过程 (643字)
- 作 者:1212
- 时 间:2001-6-1 11:01:08
- 链 接:http://bbs.pediy.com