首页
社区
课程
招聘
*已破*[PEDIY Crackme 竞赛 2007] [第六回] 第 9 队 – acafeel (队长 vxin)
发表于: 2007-6-18 12:02 14399

*已破*[PEDIY Crackme 竞赛 2007] [第六回] 第 9 队 – acafeel (队长 vxin)

2007-6-18 12:02
14399
收藏
免费
支持
分享
最新回复 (153)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
76
这么牛..........
表面上看的简单.
2007-6-18 17:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
77
都快6个小时了,还秒杀呢!!!
配服佩服
2007-6-18 17:50
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
78
口号要喊起的呀!
2007-6-18 17:53
0
雪    币: 267
活跃值: (44)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
79
看了好几次,还没破啊。
2007-6-18 18:07
0
雪    币: 202
活跃值: (77)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
80
2048-2328-8080-1920
kanxuepe
a2FueHVlcGU=E6FE2D06400B5908080000000000000066A425D19A2A340B4F37962787A7C395
12 base64长度
16 des长度

我只能到这一步了,序列号第一部分是base64,第二部分是des,第三部分是aes
接下去怎么验证我不知道了
貌似又回到了验证激活码的地方,暗门真多呀
2007-6-18 18:11
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
81
加油呀。。。。。

现在得分都有:388了哟~~
2007-6-18 18:15
0
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
82
大家加油啊~~~
2007-6-18 18:23
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
83
都 430 分了哟~~
2007-6-18 19:12
0
雪    币: 250
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
84
看到过了今晚了,观战中
2007-6-18 19:15
0
雪    币: 451
活跃值: (78)
能力值: ( LV12,RANK:470 )
在线值:
发帖
回帖
粉丝
85
不错不错
这个冬冬有希望坚持3天了额
2007-6-18 19:40
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
86
这个cm过了,就是断水流的cm,然后就是太虚伪的cm,估计这个星期就玩这3个cm了~~
2007-6-18 19:43
0
雪    币: 263
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
87
太强了,加油
2007-6-18 19:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
88
你咋不加油呢?
2007-6-18 19:57
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
89
太虚伪了...............
露出了他虚伪的面孔
2007-6-18 19:58
0
雪    币: 202
活跃值: (77)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
90
呵呵,没你厉害了
2007-6-18 20:06
0
雪    币: 202
活跃值: (77)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
91
0040D7B4  /$  55            PUSH EBP
0040D7B5  |.  8BEC          MOV EBP,ESP
0040D7B7  |.  81C4 E8F5FFFF ADD ESP,-0A18
0040D7BD  |.  53            PUSH EBX
0040D7BE  |.  56            PUSH ESI
0040D7BF  |.  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
0040D7C2  |.  8BDA          MOV EBX,EDX
0040D7C4  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
0040D7C7  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
0040D7CA  |.  E8 455FFFFF   CALL <System.@System@@LStrAddRef$qqrpv>
0040D7CF  |.  33C0          XOR EAX,EAX
0040D7D1  |.  55            PUSH EBP
0040D7D2  |.  68 5BD84000   PUSH <System.s_S<uILxUl3Uhn@>
0040D7D7  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
0040D7DA  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
0040D7DD  |.  8D85 E8F5FFFF LEA EAX,DWORD PTR SS:[EBP-A18]
0040D7E3  |.  E8 18FAFFFF   CALL <System.sub_40D200>
0040D7E8  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
0040D7EB  |.  E8 345FFFFF   CALL <System.@System@@LStrToPChar$qqrx17System@AnsiStrin>
0040D7F0  |.  8BF0          MOV ESI,EAX
0040D7F2  |.  56            PUSH ESI
0040D7F3  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
0040D7F6  |.  E8 655DFFFF   CALL <System.sub_403560>
0040D7FB  |.  50            PUSH EAX                                                 ; |
0040D7FC  |.  8BD6          MOV EDX,ESI                                              ; |
0040D7FE  |.  8D85 E8F5FFFF LEA EAX,DWORD PTR SS:[EBP-A18]                           ; |
0040D804  |.  59            POP ECX                                                  ; |
0040D805  |.  E8 5EF9FFFF   CALL <System.sub_40D168>                                 ; \sub_40D168
0040D80A  |.  8BC3          MOV EAX,EBX
0040D80C  |.  85C0          TEST EAX,EAX
0040D80E  |.  79 03         JNS SHORT <System.loc_40D813>
0040D810  |.  83C0 07       ADD EAX,7
0040D813 >|>  C1F8 03       SAR EAX,3                                                ;  loc_40D813
0040D816  |.  48            DEC EAX
0040D817  |.  8BD8          MOV EBX,EAX
0040D819  |.  85DB          TEST EBX,EBX
0040D81B  |.  7C 1D         JL SHORT <System.loc_40D83A>
0040D81D  |.  43            INC EBX
0040D81E  |.  33F6          XOR ESI,ESI
0040D820 >|>  8BC6          /MOV EAX,ESI                                             ;  loc_40D820
0040D822  |.  C1E0 03       |SHL EAX,3
0040D825  |.  0345 FC       |ADD EAX,DWORD PTR SS:[EBP-4]
0040D828  |.  8D95 E8F5FFFF |LEA EDX,DWORD PTR SS:[EBP-A18]
0040D82E  |.  8BC8          |MOV ECX,EAX
0040D830  |.  92            |XCHG EAX,EDX
0040D831  |.  E8 36FFFFFF   |CALL <System.sub_40D76C>
0040D836  |.  46            |INC ESI
0040D837  |.  4B            |DEC EBX
0040D838  |.^ 75 E6         \JNZ SHORT <System.loc_40D820>
0040D83A >|>  8D85 E8F5FFFF LEA EAX,DWORD PTR SS:[EBP-A18]                           ;  loc_40D83A
0040D840  |.  E8 BBF9FFFF   CALL <System.sub_40D200>
0040D845  |.  33C0          XOR EAX,EAX
0040D847  |.  5A            POP EDX
0040D848  |.  59            POP ECX
0040D849  |.  59            POP ECX
0040D84A  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
0040D84D  |.  68 62D84000   PUSH System.0040D862
0040D852  |>  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
0040D855  |.  E8 AA5AFFFF   CALL <System.@System@@LStrClr$qqrpv>
0040D85A  \.  C3            RETN
0040D85B > .^ E9 3C55FFFF   JMP <System.@System@@HandleFinally$qqrv>                 ;  s_S<uILxUl3Uhn@
0040D860   .^ EB F0         JMP SHORT System.0040D852
0040D862   .  5E            POP ESI
0040D863   .  5B            POP EBX
0040D864   .  8BE5          MOV ESP,EBP
0040D866   .  5D            POP EBP
0040D867   .  C3            RETN

有人对这个函数熟悉么?
这应该是一个标准的加密函数
先用密钥初始化A10大小的空间,然后加密
谁能知道这个是啥函数就好了
2007-6-18 20:07
0
雪    币: 202
活跃值: (77)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
92
密钥8位字符的
2007-6-18 20:08
0
雪    币: 202
活跃值: (77)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
93
用activate code做密钥,解密code,如果结果等于name的base64编码就成功了
2007-6-18 20:10
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
94
来了来了!!!!观战中,,,,,,
2007-6-18 20:12
0
雪    币: 538
活跃值: (630)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
95
观战中。。。
2007-6-18 20:24
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
96
搞不动,观战.
2007-6-18 20:24
0
雪    币: 80
活跃值: (1056)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
97
出的几个一个比一个难..
队长们一定偷笑呢在....
杀杀杀/
2007-6-18 20:28
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
98
SKIPJACK
2007-6-18 20:34
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
99
抄一段,encrypt前面xor密钥那一块是原来代码里没有的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
typedef unsigned char   byte;
typedef unsigned int    word32;
 
/**
 * The F-table byte permutation (see description of the G-box permutation)
 */
static const byte fTable[256] = {
    0xa3,0xd7,0x09,0x83,0xf8,0x48,0xf6,0xf4,0xb3,0x21,0x15,0x78,0x99,0xb1,0xaf,0xf9,
    0xe7,0x2d,0x4d,0x8a,0xce,0x4c,0xca,0x2e,0x52,0x95,0xd9,0x1e,0x4e,0x38,0x44,0x28,
    0x0a,0xdf,0x02,0xa0,0x17,0xf1,0x60,0x68,0x12,0xb7,0x7a,0xc3,0xe9,0xfa,0x3d,0x53,
    0x96,0x84,0x6b,0xba,0xf2,0x63,0x9a,0x19,0x7c,0xae,0xe5,0xf5,0xf7,0x16,0x6a,0xa2,
    0x39,0xb6,0x7b,0x0f,0xc1,0x93,0x81,0x1b,0xee,0xb4,0x1a,0xea,0xd0,0x91,0x2f,0xb8,
    0x55,0xb9,0xda,0x85,0x3f,0x41,0xbf,0xe0,0x5a,0x58,0x80,0x5f,0x66,0x0b,0xd8,0x90,
    0x35,0xd5,0xc0,0xa7,0x33,0x06,0x65,0x69,0x45,0x00,0x94,0x56,0x6d,0x98,0x9b,0x76,
    0x97,0xfc,0xb2,0xc2,0xb0,0xfe,0xdb,0x20,0xe1,0xeb,0xd6,0xe4,0xdd,0x47,0x4a,0x1d,
    0x42,0xed,0x9e,0x6e,0x49,0x3c,0xcd,0x43,0x27,0xd2,0x07,0xd4,0xde,0xc7,0x67,0x18,
    0x89,0xcb,0x30,0x1f,0x8d,0xc6,0x8f,0xaa,0xc8,0x74,0xdc,0xc9,0x5d,0x5c,0x31,0xa4,
    0x70,0x88,0x61,0x2c,0x9f,0x0d,0x2b,0x87,0x50,0x82,0x54,0x64,0x26,0x7d,0x03,0x40,
    0x34,0x4b,0x1c,0x73,0xd1,0xc4,0xfd,0x3b,0xcc,0xfb,0x7f,0xab,0xe6,0x3e,0x5b,0xa5,
    0xad,0x04,0x23,0x9c,0x14,0x51,0x22,0xf0,0x29,0x79,0x71,0x7e,0xff,0x8c,0x0e,0xe2,
    0x0c,0xef,0xbc,0x72,0x75,0x6f,0x37,0xa1,0xec,0xd3,0x8e,0x62,0x8b,0x86,0x10,0xe8,
    0x08,0x77,0x11,0xbe,0x92,0x4f,0x24,0xc5,0x32,0x36,0x9d,0xcf,0xf3,0xa6,0xbb,0xac,
    0x5e,0x6c,0xa9,0x13,0x57,0x25,0xb5,0xe3,0xbd,0xa8,0x3a,0x01,0x05,0x59,0x2a,0x46
};
 
/**
 * The key-dependent permutation G on V^16 is a four-round Feistel network.
 * The round function is a fixed byte-substitution table (permutation on V^8),
 * the F-table.  Each round of G incorporates a single byte from the key.
 */
#define g(tab, w, i, j, k, l) \
{ \
    w ^= (word32)tab[i][w & 0xff] << 8; \
    w ^= (word32)tab[j][w >>   8]; \
    w ^= (word32)tab[k][w & 0xff] << 8; \
    w ^= (word32)tab[l][w >>   8]; \
}
 
#define g0(tab, w) g(tab, w, 0, 1, 2, 3)
#define g1(tab, w) g(tab, w, 4, 5, 6, 7)
#define g2(tab, w) g(tab, w, 8, 9, 0, 1)
#define g3(tab, w) g(tab, w, 2, 3, 4, 5)
#define g4(tab, w) g(tab, w, 6, 7, 8, 9)
 
/**
 * The inverse of the G permutation.
 */
#define h(tab, w, i, j, k, l) \
{ \
    w ^= (word32)tab[l][w >>   8]; \
    w ^= (word32)tab[k][w & 0xff] << 8; \
    w ^= (word32)tab[j][w >>   8]; \
    w ^= (word32)tab[i][w & 0xff] << 8; \
}
 
#define h0(tab, w) h(tab, w, 0, 1, 2, 3)
#define h1(tab, w) h(tab, w, 4, 5, 6, 7)
#define h2(tab, w) h(tab, w, 8, 9, 0, 1)
#define h3(tab, w) h(tab, w, 2, 3, 4, 5)
#define h4(tab, w) h(tab, w, 6, 7, 8, 9)
 
/**
 * Preprocess a user key into a table to save an XOR at each F-table access.
 */
void makeKey(byte key[10], byte tab[10][256]) {
    /* tab[i][c] = fTable[c ^ key[i]] */
    int i;
    for (i = 0; i < 10; i++) {
        byte *t = tab[i], k = key[i];
        int c;
        for (c = 0; c < 256; c++) {
            t[c] = fTable[c ^ k];
        }
    }
}
 
/**
 * Encrypt a single block of data.
 */
void encrypt(byte tab[10][256], byte in[8], byte out[8]) {
    word32 w1, w2, w3, w4;
 
    w1 = (in[0] << 8) + in[1];
    w2 = (in[2] << 8) + in[3];
    w3 = (in[4] << 8) + in[5];
    w4 = (in[6] << 8) + in[7];
 
    /* stepping rule A: */
    g0(tab, w1); w4 ^= w1 ^ 1;
    g1(tab, w4); w3 ^= w4 ^ 2;
    g2(tab, w3); w2 ^= w3 ^ 3;
    g3(tab, w2); w1 ^= w2 ^ 4;
    g4(tab, w1); w4 ^= w1 ^ 5;
    g0(tab, w4); w3 ^= w4 ^ 6;
    g1(tab, w3); w2 ^= w3 ^ 7;
    g2(tab, w2); w1 ^= w2 ^ 8;
 
    /* stepping rule B: */
    w2 ^= w1 ^  9; g3(tab, w1);
    w1 ^= w4 ^ 10; g4(tab, w4);
    w4 ^= w3 ^ 11; g0(tab, w3);
    w3 ^= w2 ^ 12; g1(tab, w2);
    w2 ^= w1 ^ 13; g2(tab, w1);
    w1 ^= w4 ^ 14; g3(tab, w4);
    w4 ^= w3 ^ 15; g4(tab, w3);
    w3 ^= w2 ^ 16; g0(tab, w2);
 
    /* stepping rule A: */
    g1(tab, w1); w4 ^= w1 ^ 17;
    g2(tab, w4); w3 ^= w4 ^ 18;
    g3(tab, w3); w2 ^= w3 ^ 19;
    g4(tab, w2); w1 ^= w2 ^ 20;
    g0(tab, w1); w4 ^= w1 ^ 21;
    g1(tab, w4); w3 ^= w4 ^ 22;
    g2(tab, w3); w2 ^= w3 ^ 23;
    g3(tab, w2); w1 ^= w2 ^ 24;
 
    /* stepping rule B: */
    w2 ^= w1 ^ 25; g4(tab, w1);
    w1 ^= w4 ^ 26; g0(tab, w4);
    w4 ^= w3 ^ 27; g1(tab, w3);
    w3 ^= w2 ^ 28; g2(tab, w2);
    w2 ^= w1 ^ 29; g3(tab, w1);
    w1 ^= w4 ^ 30; g4(tab, w4);
    w4 ^= w3 ^ 31; g0(tab, w3);
    w3 ^= w2 ^ 32; g1(tab, w2);
 
    out[0] = (byte)(w1 >> 8); out[1] = (byte)w1;
    out[2] = (byte)(w2 >> 8); out[3] = (byte)w2;
    out[4] = (byte)(w3 >> 8); out[5] = (byte)w3;
    out[6] = (byte)(w4 >> 8); out[7] = (byte)w4;
 
}
 
/**
 * Decrypt a single block of data.
 */
void decrypt(byte tab[10][256], byte in[8], byte out[8]) {
    word32 w1, w2, w3, w4;
 
    w1 = (in[0] << 8) + in[1];
    w2 = (in[2] << 8) + in[3];
    w3 = (in[4] << 8) + in[5];
    w4 = (in[6] << 8) + in[7];
 
    /* stepping rule A: */
    h1(tab, w2); w3 ^= w2 ^ 32;
    h0(tab, w3); w4 ^= w3 ^ 31;
    h4(tab, w4); w1 ^= w4 ^ 30;
    h3(tab, w1); w2 ^= w1 ^ 29;
    h2(tab, w2); w3 ^= w2 ^ 28;
    h1(tab, w3); w4 ^= w3 ^ 27;
    h0(tab, w4); w1 ^= w4 ^ 26;
    h4(tab, w1); w2 ^= w1 ^ 25;
 
    /* stepping rule B: */
    w1 ^= w2 ^ 24; h3(tab, w2);
    w2 ^= w3 ^ 23; h2(tab, w3);
    w3 ^= w4 ^ 22; h1(tab, w4);
    w4 ^= w1 ^ 21; h0(tab, w1);
    w1 ^= w2 ^ 20; h4(tab, w2);
    w2 ^= w3 ^ 19; h3(tab, w3);
    w3 ^= w4 ^ 18; h2(tab, w4);
    w4 ^= w1 ^ 17; h1(tab, w1);
 
    /* stepping rule A: */
    h0(tab, w2); w3 ^= w2 ^ 16;
    h4(tab, w3); w4 ^= w3 ^ 15;
    h3(tab, w4); w1 ^= w4 ^ 14;
    h2(tab, w1); w2 ^= w1 ^ 13;
    h1(tab, w2); w3 ^= w2 ^ 12;
    h0(tab, w3); w4 ^= w3 ^ 11;
    h4(tab, w4); w1 ^= w4 ^ 10;
    h3(tab, w1); w2 ^= w1 ^  9;
 
    /* stepping rule B: */
    w1 ^= w2 ^ 8; h2(tab, w2);
    w2 ^= w3 ^ 7; h1(tab, w3);
    w3 ^= w4 ^ 6; h0(tab, w4);
    w4 ^= w1 ^ 5; h4(tab, w1);
    w1 ^= w2 ^ 4; h3(tab, w2);
    w2 ^= w3 ^ 3; h2(tab, w3);
    w3 ^= w4 ^ 2; h1(tab, w4);
    w4 ^= w1 ^ 1; h0(tab, w1);
 
    out[0] = (byte)(w1 >> 8); out[1] = (byte)w1;
    out[2] = (byte)(w2 >> 8); out[3] = (byte)w2;
    out[4] = (byte)(w3 >> 8); out[5] = (byte)w3;
    out[6] = (byte)(w4 >> 8); out[7] = (byte)w4;
 
}
 
#include <stdio.h>
#include <string.h>
#include <time.h>
 
int main()
{
    byte key[10] = {0x00, 0xB8, 0x29, 0x37, 0x40, 0x00, 0xC3, 0x8B, 0x10, 0x85};
    byte tab[10][256];
    byte inp[8] = "12345678";
    byte enc[8];
    int i;
 
    makeKey(key, tab);
    for (i=0;i<8;i++)
    {
        inp[i] ^= key[i];
    }
    encrypt(tab,inp,enc);
 
    return 0;
}
2007-6-18 20:40
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
100
太虚伪、hexer、很多牛人都来了呀~~~~~~~
2007-6-18 20:50
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册