能力值:
( LV2,RANK:10 )
|
-
-
26 楼
x*x+x*nl-ns*(ns+nl)=0
解方程组:x=ns,x=-(ns+nl)
ss=-x;
其中:nl——用户名长度;
ns——用户名ASCII码之和;
ss——序列号字符串的无符号数表示;
——————————————
00402492 |> /8B55 B4 /mov edx, dword ptr [ebp-4C]
00402495 |. |83EA 01 |sub edx, 1
00402498 |. |8955 B4 |mov dword ptr [ebp-4C], edx
0040249B |> |837D B4 00 cmp dword ptr [ebp-4C], 0
0040249F |. |7C 22 |jl short 004024C3
004024A1 |. |8B45 B4 |mov eax, dword ptr [ebp-4C]
004024A4 |. |0FBE4C05 B8 |movsx ecx, byte ptr [ebp+eax-48]
004024A9 |. |83E9 30 |sub ecx, 30
004024AC |. |0FAF4D B0 |imul ecx, dword ptr [ebp-50]
004024B0 |. |8B55 F0 |mov edx, dword ptr [ebp-10]
004024B3 |. |03D1 |add edx, ecx
004024B5 |. |8955 F0 |mov dword ptr [ebp-10], edx
004024B8 |. |8B45 B0 |mov eax, dword ptr [ebp-50]
004024BB |. |6BC0 0A |imul eax, eax, 0A
004024BE |. |8945 B0 |mov dword ptr [ebp-50], eax
004024C1 |.^\EB CF \jmp short 00402492
————————————————————————————————
其中,上面这段循环的作用是:
例如,注册码为:“123456”,
则ss=123456(无符号整型)。
注册机代码:
————————————————————————————
void keygen(char* s)
{
int i=0,namesum=0,namelen=strlen(s);
for(i;i<namelen;i++)
namesum+=s[i];
printf("Serial[1] %u\n",-namesum);
printf("Serial[2] %u\n",namesum+namelen);
}
——————————————————————————————
|
能力值:
( LV12,RANK:200 )
|
-
-
27 楼
c语言代码?
|
能力值:
( LV2,RANK:10 )
|
-
-
28 楼
我也分析分析
|
能力值:
( LV2,RANK:10 )
|
-
-
29 楼
谢谢楼主,我这个新手就是用您这个练习的,目前只会内存爆破,4024E9地址改成JE
|
能力值:
( LV8,RANK:130 )
|
-
-
30 楼
还没去破解,不过支持一下
|
能力值:
( LV2,RANK:10 )
|
-
-
31 楼
....4年前的都被你挖出来了
|
|
|