首页
社区
课程
招聘
找到了关键的注册码算法,请问如何使用keymake来做算法注册机?
发表于: 2006-5-23 14:44 8762

找到了关键的注册码算法,请问如何使用keymake来做算法注册机?

2006-5-23 14:44
8762
找到了关键的注册码算法,请问如何使用keymake来做算法注册机?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (24)
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
2
这个软件都已经讨论到这个份上了你还不会,建议先学学基础知识吧.
2006-5-23 14:49
0
雪    币: 305
活跃值: (36)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
3
非得用别人的工具么?
2006-5-23 15:22
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
4
最初由 baby2008 发布
这个软件都已经讨论到这个份上了你还不会,建议先学学基础知识吧.


像我等编程盲,可是啥也不会的哦~~
2006-5-23 15:29
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
2006-5-23 16:03
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
6
VB都N年不玩了,帮你看看
2006-5-23 16:04
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
最初由 AZMC 发布
非得用别人的工具么?


我用VB写了,可结果不对,不知哪里出错了?希望有人能指点一二,实在是太重要了,我每天上来这论坛不下10次,看有人提宝贵意见没有
2006-5-23 16:05
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 baby2008 发布
VB都N年不玩了,帮你看看


非常感谢您!!!搞定请您吃饭,这个实在对我很重要,不一定要VB,Dephi我也懂用
2006-5-23 16:18
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
9
为了方便理解,代码未作优化 ^_^

Procedure TForm1.btn1Click(Sender: TObject);
Const

  Tab1: Array[0..255] Of Byte = (
    $78, $C0, $CF, $B7, $F2, $C1, $C4, $B7, $A2, $C9, $D9, $C4, $EA, $BF, $F1, $A3, $AC, $D7, $F3, $C7, $A3, $BB, $C6, $A3, $AC, $D3, $D2, $C7, $E6, $B2, $D4, $A1,
    $A3, $BD, $F5, $C3, $B1, $F5, $F5, $F4, $C3, $A3, $AC, $C7, $A7, $C6, $EF, $BE, $ED, $C6, $BD, $B8, $D4, $A1, $A3, $D3, $FB, $B1, $A8, $C7, $E3, $B3, $C7, $CB,
    $E6, $CC, $AB, $CA, $D8, $A3, $AC, $C7, $D7, $C9, $E4, $BB, $A2, $A3, $AC, $BF, $B4, $CB, $EF, $C0, $C9, $A1, $A3, $BE, $C6, $BA, $A8, $D0, $D8, $B5, $A8, $C9,
    $D0, $BF, $AA, $D5, $C5, $A3, $AC, $F7, $DE, $CE, $A2, $CB, $AA, $A3, $AC, $D3, $D6, $BA, $CE, $B7, $C1, $A3, $A1, $B3, $D6, $BD, $DA, $D4, $C6, $D6, $D0, $A3,
    $AC, $79, $C3, $F7, $D4, $C2, $BC, $B8, $CA, $B1, $D3, $D0, $A3, $AC, $B0, $D1, $BE, $C6, $CE, $CA, $C7, $E0, $CC, $EC, $A1, $A3, $B2, $BB, $D6, $AA, $CC, $EC,
    $C9, $CF, $B9, $AC, $E3, $DA, $A3, $AC, $BD, $F1, $CF, $A6, $CA, $C7, $BA, $CE, $C4, $EA, $A1, $A3, $CE, $D2, $D3, $FB, $B3, $CB, $B7, $E7, $B9, $E9, $C8, $A5,
    $A1, $A3, $D3, $D6, $BF, $D6, $C7, $ED, $C2, $A5, $D3, $F1, $D3, $EE, $A3, $AC, $B8, $DF, $B4, $A6, $B2, $BB, $CA, $A4, $BA, $AE, $A3, $AC, $C6, $F0, $CE, $E8,
    $C5, $AA, $C7, $E5, $D3, $B0, $A3, $AC, $BA, $CE, $CB, $C6, $D4, $DA, $C8, $CB, $BC, $E4, $A1, $A3, $D7, $AA, $D6, $EC, $B8, $F3, $A3, $AC, $B5, $CD, $E7, $B2);

  Tab2: Array[0..9] Of Byte = ($33, $44, $CD, $BC, $B1, $ED, $B7, $D6, $CE, $F6);

Var
  MacCode, RegCode: String;
  i, MacCodeLen: Integer;
  EBP_19, EBP_1A, EBP_1B, EBP_1C, EBP_1D, EBP_1E, EBP_1F, EBP_20, EBP_21, EBP_22, EBP_23, EBP_24, EBP_18: Byte;

Begin
  MacCode := edtMacCode.Text;
  MacCodeLen := Length(MacCode);
  If Length(MacCode) <> 16 Then Exit;
  For i := 0 To MacCodeLen-1  Do
  Begin
    EBP_19 := Ord(MacCode[(($199 + i) Mod MacCodeLen) + 1]);
    EBP_1A := Ord(MacCode[(($E1 + i) Mod MacCodeLen) + 1]);
    EBP_1B := Ord(MacCode[(($1B + i) Mod MacCodeLen) + 1]);

    EBP_1C := Ord(Tab1[EBP_19]);
    EBP_1D := Ord(Tab1[EBP_1A]);
    EBP_1E := Ord(Tab1[EBP_1B]); //正确

    EBP_1F := Ord(Tab2[($BB + i) Mod $A]);
    EBP_20 := Ord(Tab2[($15 + i) Mod $A]);

    EBP_21 := Ord(MacCode[(($886 + i) Mod MacCodeLen) + 1]);
    EBP_22 := Ord(Tab2[($C0 + i) Mod $A]); //正确

    EBP_23 := Ord(Tab2[($144 + i) Mod $A]);
    EBP_24 := Ord(Tab1[(EBP_21 + EBP_22) And $FF]); //正确

    EBP_18 := (EBP_1F * EBP_1F * EBP_1C + EBP_1D * EBP_20 + EBP_1E) And $FF;

    RegCode := RegCode + IntToStr((EBP_23 * EBP_18 + EBP_24) Mod $A);

  End;
  edtRegCode.Text := RegCode;
End;
上传的附件:
2006-5-23 21:22
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
10
非常感谢!!!太感谢了,我下来装Dephi试一下
2006-5-24 10:51
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
11
最初由 baby2008 发布
为了方便理解,代码未作优化 ^_^



Procedure TForm1.btn1Click(Sender: TObject);
........


哟?又是CrackerABC?
2006-5-24 11:02
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
12
2006-5-24 13:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我也觉得  应该先学习学习先
2006-5-24 13:19
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
14
抱歉,文件上传错误,怪不得老K看到ABC
2006-5-24 13:39
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
15
最初由 我要破解 发布
程序有点问题,取2台电脑机器码来测试了下发现一个得到的注册码与原注册机的一致,另一个不一致,会是什么原因呢??见附件贴图


码表错误,已修正.
2006-5-24 13:40
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
16
最初由 baby2008 发布
码表错误,已修正.


OK,我再试试
2006-5-24 14:43
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
17
程序运行没问题了!完全正确!谢谢Baby2008兄!!!
2006-5-24 15:57
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
18
2006-5-24 17:31
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
19
最初由 我要破解 发布
Baby2008兄,我在内存中明明看到的是“

x老夫聊发少年狂,左牵黄,右擎苍。锦帽貂裘,千骑卷平冈。欲报倾城随太守,亲射虎,看孙郎。酒酣胸胆尚开张,鬓微霜,又何妨!持节云中,何日遣冯唐?会挽雕弓如满月,西北望,射天狼。y明月几时有,把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去。又恐琼楼玉宇,高处不胜寒,起舞弄清影,何似在人间。转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆。人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。


........


1、你眼镜度数看来真的有点高了,内存中明明不是上面这句,有你自己贴的图为证。

2、OD看到内存乱码,复制出来转字符串也成问题,所以我直接用内存Byte数据做Tab表了,第一次上传的附件有错主要就是这个表引起的。

程序中有这两句话没错,但还有一处是对这两句进行简单截取连接处理的,自己再研究研究吧,否则是我帮你做作业了
2006-5-24 17:58
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
20
忘了再说一句:这两个字符串哪里来的,是作者在程序中定义死的。就像你做注册机这样定义在代码中。
2006-5-24 18:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
两位精神可佳!!!!!!!!!!!!我们错失再学的机会了,顶
2006-5-24 21:10
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
22
2006-5-25 08:02
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
23
最初由 我要破解 发布
Baby2008兄,谢谢您!

还有个疑问,
EBP_1F := Ord(Tab2[($BB + i) Mod $A ])
为何不是
........


delphi 字符串取字符下标从1开始,循环i=0开始的话要加1

数组可以自己定义Tab2[0..9],或 Tab2[1..10],起始下标不一样。
2006-5-25 08:46
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
24
2006-5-25 11:30
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
25
正确,如果定义Tab2[1..10] of Byte,那么EBP_1F := Ord(Tab2[(($BB + i) Mod $A)+1]);
2006-5-25 13:27
0
游客
登录 | 注册 方可回帖
返回
//