能力值:
( LV2,RANK:10 )
|
-
-
3 楼
坐个板凳,顶顶零度雨
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
学习,在顶一下!
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
不错不错!学习,好久没来逛了!
|
能力值:
( LV9,RANK:330 )
|
-
-
6 楼
很详细,辛苦了
|
能力值:
( LV7,RANK:100 )
|
-
-
7 楼
这个确实有点简单,程序很短,我就自己写了注释,和注册机代码。
00401010 |> \55 push ebp
00401011 |. 8BEC mov ebp, esp ; 主函数
00401013 |. 83EC 4C sub esp, 4C
00401016 |. 53 push ebx
00401017 |. 56 push esi
00401018 |. 57 push edi
00401019 |. 8D7D B4 lea edi, dword ptr [ebp-4C] ; 数组a
0040101C |. B9 13000000 mov ecx, 13
00401021 |. B8 CCCCCCCC mov eax, CCCCCCCC
00401026 |. F3:AB rep stos dword ptr es:[edi] ; a[0]到a[12]赋初值
00401028 |. 68 C4714200 push 004271C4 ; ASCII "mode con cols=113 lines=15 &color 9f"
0040102D |. E8 2E040000 call 00401460 ; setprintf设置颜色
00401032 |. 83C4 04 add esp, 4
00401035 |. 68 B8714200 push 004271B8 ; ASCII "color 55"
0040103A |. E8 21040000 call 00401460
0040103F |. 83C4 04 add esp, 4
00401042 |. 68 64714200 push 00427164 ; ASCII "******************************************************************",LF
00401047 |. E8 94030000 call 004013E0 ; 输出
0040104C |. 83C4 04 add esp, 4
0040104F |. 68 10714200 push 00427110
00401054 |. E8 87030000 call 004013E0
00401059 |. 83C4 04 add esp, 4
0040105C |. 68 BC704200 push 004270BC ; ASCII "************* www.0crack.com 09-10-02 ********************",LF
00401061 |. E8 7A030000 call 004013E0
00401066 |. 83C4 04 add esp, 4
00401069 |. 68 64714200 push 00427164 ; ASCII "******************************************************************",LF
0040106E |. E8 6D030000 call 004013E0
00401073 |. 83C4 04 add esp, 4
00401076 |. 68 90704200 push 00427090
0040107B |. E8 60030000 call 004013E0 ; 获取输入的提示
00401080 |. 83C4 04 add esp, 4
00401083 |. 8D45 FC lea eax, dword ptr [ebp-4] ; 帐号变量c
00401086 |. 50 push eax
00401087 |. 68 8C704200 push 0042708C ; ASCII "%d"
0040108C |. E8 EF020000 call 00401380 ; scanf输入帐号
00401091 |. 83C4 08 add esp, 8
00401094 |. 817D FC 80969>cmp dword ptr [ebp-4], 989680 ; 看看超过9999999的值c-9999999
0040109B |. 7F 09 jg short 004010A6 ; 超过,c>99999999
0040109D |. 817D FC 40420>cmp dword ptr [ebp-4], 0F4240 ; 帐号变量c>1000000
004010A4 |. 7D 14 jge short 004010BA
004010A6 |> 68 80704200 push 00427080 ; 输入太长
004010AB |. E8 30030000 call 004013E0
004010B0 |. 83C4 04 add esp, 4
004010B3 |. 6A 00 push 0
004010B5 |. E8 36010000 call 004011F0 ; 调用退出函数
004010BA |> 8B4D FC mov ecx, dword ptr [ebp-4] ; c在正确的长度
004010BD |. 81C1 90360C00 add ecx, 0C3690 ; 帐号加上800400
004010C3 |. 894D F8 mov dword ptr [ebp-8], ecx ; d=c+800400
004010C6 |. 8B55 F8 mov edx, dword ptr [ebp-8] ; edx=d
004010C9 |. C1E2 02 shl edx, 2 ; edx*4
004010CC |. 8955 F8 mov dword ptr [ebp-8], edx ; d*=4
004010CF |. 8B45 F8 mov eax, dword ptr [ebp-8]
004010D2 |. 2D 20340000 sub eax, 3420
004010D7 |. 8945 F8 mov dword ptr [ebp-8], eax ; d-=13344
004010DA |. 8B4D F8 mov ecx, dword ptr [ebp-8]
004010DD |. 81C1 C3F82300 add ecx, 23F8C3
004010E3 |. 894D F8 mov dword ptr [ebp-8], ecx ; d+=2357443
004010E6 |. 8B55 F8 mov edx, dword ptr [ebp-8]
004010E9 |. 81F2 28971302 xor edx, 2139728
004010EF |. 8955 F8 mov dword ptr [ebp-8], edx ; d=d|34838312
004010F2 |. 68 6C704200 push 0042706C
004010F7 |. E8 E4020000 call 004013E0 ; 提示输出密码
004010FC |. 83C4 04 add esp, 4
004010FF |. 8D45 F4 lea eax, dword ptr [ebp-C] ; 密码变量e
00401102 |. 50 push eax
00401103 |. 68 8C704200 push 0042708C ; ASCII "%d"
00401108 |. E8 73020000 call 00401380
0040110D |. 83C4 08 add esp, 8
00401110 |. 8B4D F8 mov ecx, dword ptr [ebp-8] ; 由帐号变量得参考d
00401113 |. 3B4D F4 cmp ecx, dword ptr [ebp-C] ; d-e
00401116 |. 75 0F jnz short 00401127 ; d!=e
00401118 |. 68 30704200 push 00427030 ; d==e
0040111D |. E8 BE020000 call 004013E0 ; 注册成功提示
00401122 |. 83C4 04 add esp, 4
00401125 |. EB 0D jmp short 00401134
00401127 |> 68 24704200 push 00427024 ; 注册失败提示
0040112C |. E8 AF020000 call 004013E0
00401131 |. 83C4 04 add esp, 4
00401134 |> 68 1C704200 push 0042701C ; ASCII "pause"
00401139 |. E8 22030000 call 00401460
0040113E |. 83C4 04 add esp, 4
00401141 |. 5F pop edi
00401142 |. 5E pop esi
00401143 |. 5B pop ebx
00401144 |. 83C4 4C add esp, 4C
00401147 |. 3BEC cmp ebp, esp
00401149 |. E8 22040000 call 00401570
0040114E |. 8BE5 mov esp, ebp
00401150 |. 5D pop ebp
00401151 \. C3 retn
注册机代码:
#include<stdio.h>
void main()
{
int name,b;
printf("输入帐号:");
scanf("%d",&name);
if((name<9999999)&&(name>1000000))
{
b=name+800400;
b=b*4;
b=b-13344;
b=b+2357443;
b=b^34838312;
printf("%d的密码是:%d\n",name,b);
}else{
printf("输入帐号长度不正确");
}
}
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
感谢flyicegood 兄弟,源码加注释还有注册机 很适合我这样还没入门的学习 感谢感谢
|
能力值:
( LV8,RANK:120 )
|
-
-
9 楼
看了看楼主的发帖历史纪录,不是优秀就是精华,真是太可怕了,努力学习中...
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
厉害,向你学习
|
能力值:
( LV3,RANK:30 )
|
-
-
11 楼
user:=user+$0C3690;
user:=user shl 2;
user:=user-$3420;
user:=user+$23F8C3;
user:=user xor $2139728;
哎呀~~又来迟了。
|