野猫III 发表于 2006-6-6 12:01:34

Delphi程序算法注册机申制!

恭喜小黑试当版主!

算法不难,希望小黑试用Delphi来试着编出它的算法注册机。谢谢!

这个算法是引出于逍遥兄的一篇分析:

http://www.d4s.cn/viewthread.php?tid=459371

------------------------------------------------------------------------BY 逍遥风
算法总结:
1)注册名必须大于等于6位。
2)取注册名前6位的ASCII值乘以定值2,并把每一位所得的积相加。设结果为A
3)注册名位数乘以定值2。设结果为B
4)A加B的结果转换成相应的十进制数即得注册码。
例:注册名 tcxbtc
1)t:74*2=E8 c:63*2=C6 x:78*2=F0 b:62*2=C4 t:74*2=E8 c:63*2=C6
E8+C6+F0+C4+E8+C6=510
2)6*2=C
3)510+C=51C 转换成十进制等于1308
所以 注册名tcxbtc
注册码1308

++++++++++++++++++++++++++++++

算法注册机有了,尽量也给仿制出它的Crackme。。。;P ;P

[ 本帖最后由 野猫III 于 2006-6-6 12:04 编辑 ]

caterpilla 发表于 2006-6-6 12:41:07

呵呵,传说中的按文档编程啊。。。。。。。。
有了需求,需要代码实现

黑夜彩虹 发表于 2006-6-6 16:04:26

算法总结:
1)注册名必须大于等于6位。
2)取注册名前6位的ASCII值乘以定值2,并把每一位所得的积相加。设结果为A
3)注册名位数乘以定值2。设结果为B
4)A加B的结果转换成相应的十进制数即得注册码。

注册机:

野猫III 发表于 2006-6-22 22:33:35

怎么没源码?

麻烦小黑咯...

黑夜彩虹 发表于 2006-6-22 23:37:58

原帖由 野猫III 于 2006-6-22 22:33 发表
怎么没源码?

麻烦小黑咯...

源码早删了哦,你不早说。。。 ;P

浮云思音 发表于 2006-6-23 15:14:41

原帖由 黑夜彩虹 于 2006-6-22 23:37 发表


源码早删了哦,你不早说。。。 ;P

程序员对源码比自已的生命还重要,如果他说删了源码,那有两个可能,一个是这个源码太菜了,他随便都可写十个八个,另一个原因就别问了,个人隐私有权保留.

hacker0058 发表于 2006-6-23 19:09:55

我用易语言写个

==================

.版本 2

.程序集 窗口程序集1

.子程序 _按钮_计算_被单击
.局部变量 A, 整数型
.局部变量 B, 整数型
.局部变量 i, 整数型
.局部变量 个数, 整数型

个数 = 取文本长度 (编辑框_user.内容)
.如果真 (个数 < 6)
    信息框 (“注册名必须大于等于6位。”, 0, )
    返回 ()
.如果真结束
B = 个数 × 2
.计次循环首 (6, i)
    A = A + 取代码 (编辑框_user.内容, i) × 2
.计次循环尾 ()
编辑框_key.内容 = 到文本 (A + B)


.子程序 _按钮2_被单击

结束 ()

[ 本帖最后由 hacker0058 于 2006-6-23 19:14 编辑 ]

sislcb 发表于 2006-6-24 08:52:02

呵呵,我帮黑色补个源代码吧,太简单了.

if Length(EdtName.Text)<6 then
begin
ShowMessage('错误,必须大于六位');
exit;
end;
s := Trim(EdtName.Text);
m := 0;

len := Length(s)*2;//B的值

for i:=1 to 6 do   //由于 string第一个字符是长度,所以从1开始
begin
m := Ord(s)*2+m;   // A的值
end;

EdtRegCode.Text := IntToStr(len+m)

dryzh 发表于 2006-7-5 02:07:36

都这么强?有易,还有DELPHI!
(要不我也传我的VB的上来???)

野猫III 发表于 2006-7-6 20:09:32

原帖由 dryzh 于 2006-7-5 02:07 发表
都这么强?有易,还有DELPHI!
(要不我也传我的VB的上来???)

都很强,兄弟如果有的话,传上来就完美咯~
页: [1] 2
查看完整版本: Delphi程序算法注册机申制!