老文章档案 · 2003 年

汇编注册机源代码

网络学院 · 破解文章 · 2003-09-10 · 出处:赢政天下整理收藏

.386

.model flat,stdcall

option casemap:none

WinMain proto :DWORD,:DWORD,:DWORD,:DWORD

GetOurCode proto :DWORD,:DWORD

include \masm32\include\windows.inc

include \masm32\include\user32.inc

include \masm32\include\kernel32.inc

include \masm32\include\masm32.inc

includelib \masm32\lib\user32.lib

includelib \masm32\lib\kernel32.lib

includelib \masm32\lib\masm32.lib

.data

ClassName db "SimpleWinClass",0

AppName db "********注册机",0

MenuName db "FirstMenu",0

ButtonClassName db "button",0

ButtonText db "获取注册号",0

EditClassName db "edit",0

StaticClassName db "static",0

buffer5 db 10 dup(30h),0

buffer6 db 10 dup(0),0

TestString1 db "cracked by miaomiao 2003.1.17",0

TestString2 db "用户名",0

TestString3 db "机器码",0

TestString4 db "序列号",0

.data?

hInstance HINSTANCE ?

CommandLine LPSTR ?

hwndButton HWND ?

hwndEdit1 HWND ?

hwndEdit2 HWND ?

hwndEdit3 HWND ?

hwndstatic1 HWND ?

hwndstatic2 HWND ?

hwndstatic3 HWND ?

hwndstatic4 HWND ?

buffer1 db 256 dup(?) ; buffer to store the text retrieved from the edit box

buffer2 db 256 dup(?) ;buffer to store the text calculated from the edit box value

buffer3 db 10 dup(?)

buffer4 db 30 dup(?),?

walue dd ?

walue1 dd ?

length1 dw ?

length2 dw ?

.const

ButtonID equ 1 ; The control ID of the button control

EditID equ 2 ; The control ID of the edit control

IDM_HELLO equ 1

IDM_CLEAR equ 2

IDM_GETTEXT equ 3

IDM_EXIT equ 4

.code

start:

invoke GetModuleHandle, NULL

mov hInstance,eax

invoke GetCommandLine

mov CommandLine,eax

invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT

invoke ExitProcess,eax

WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD

LOCAL wc:WNDCLASSEX

LOCAL msg:MSG

LOCAL hwnd:HWND

mov wc.cbSize,SIZEOF WNDCLASSEX

mov wc.styl, CS_HREDRAW or CS_VREDRAW ;这句前面的字符有问题,不让发布

mov wc.lpfnWndProc, OFFSET WndProc

mov wc.cbClsExtra,NULL

mov wc.cbWndExtra,NULL

push hInst

pop wc.hInstance

mov wc.hbrBackground,COLOR_BTNFACE+1

mov wc.lpszMenuName,OFFSET MenuName

mov wc.lpszClassName,OFFSET ClassName

invoke LoadIcon,NULL,IDI_APPLICATION

mov wc.hIcon,eax

mov wc.hIconSm,eax

invoke LoadCursor,NULL,IDC_ARROW

mov wc.hCursor,eax

invoke RegisterClassEx, addr wc

invoke CreateWindowEx,WS_EX_CLIENTEDGE,ADDR ClassName, \

ADDR AppName, WS_OVERLAPPEDWINDOW,\

CW_USEDEFAULT, CW_USEDEFAULT,\

400,230,NULL,NULL, hInst,NULL

mov hwnd,eax

invoke ShowWindow, hwnd,SW_SHOWNORMAL

invoke UpdateWindow, hwnd

.WHILE TRUE

invoke GetMessage, ADDR msg,NULL,0,0

.BREAK .IF (!eax)

invoke TranslateMessage, ADDR msg

invoke DispatchMessage, ADDR msg

.ENDW

mov eax,msg.wParam

ret

WinMain endp

WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM

.IF uMsg==WM_DESTROY

invoke PostQuitMessage,NULL

.ELSEIF uMsg==WM_CREATE

invoke CreateWindowEx,WS_EX_CLIENTEDGE, ADDR StaticClassName,NULL,\

WS_CHILD or WS_VISIBLE or ES_CENTER ,\

80,10,250,20,hWnd,4,hInstance,NULL

mov hwndstatic1,eax

invoke SetWindowText,hwndstatic1,ADDR TestString1 ;显示破解信息cracked by miaomiao

invoke CreateWindowEx,WS_EX_CLIENTEDGE, ADDR StaticClassName,NULL,\

WS_CHILD or WS_VISIBLE or ES_CENTER ,\

20,45,100,25,hWnd,4,hInstance,NULL

mov hwndstatic2,eax ;创建 用户名

invoke SetWindowText,hwndstatic2,ADDR TestString2

invoke CreateWindowEx,WS_EX_CLIENTEDGE, ADDR StaticClassName,NULL,\

WS_CHILD or WS_VISIBLE or ES_CENTER ,\

20,75,100,25,hWnd,4,hInstance,NULL

mov hwndstatic3,eax

invoke SetWindowText,hwndstatic3,ADDR TestString3 ;创建机器码提示

invoke CreateWindowEx,WS_EX_CLIENTEDGE, ADDR StaticClassName,NULL,\

WS_CHILD or WS_VISIBLE or ES_CENTER ,\

20,105,100,25,hWnd,4,hInstance,NULL

mov hwndstatic4,eax

invoke SetWindowText,hwndstatic4,ADDR TestString4 ;创建注册号提示框

invoke CreateWindowEx,WS_EX_CLIENTEDGE, ADDR EditClassName,NULL,\

WS_CHILD or WS_VISIBLE or ES_LEFT or\

ES_AUTOHSCROLL,\

120,45,230,25,hWnd,8,hInstance,NULL ;输入用户名

mov hwndEdit1,eax

invoke CreateWindowEx,WS_EX_CLIENTEDGE, ADDR EditClassName,NULL,\

WS_CHILD or WS_VISIBLE or ES_LEFT or\

ES_AUTOHSCROLL,\

120,75,230,25,hWnd,8,hInstance,NULL ;输入机器号

mov hwndEdit2,eax

invoke CreateWindowEx,WS_EX_CLIENTEDGE, ADDR EditClassName,NULL,\

WS_CHILD or WS_VISIBLE or WS_BORDER or ES_LEFT or\

ES_AUTOHSCROLL,\

120,105,258,25,hWnd,8,hInstance,NULL ;输入注册码

mov hwndEdit3,eax

invoke SetFocus, hwndEdit1

invoke CreateWindowEx,NULL, ADDR ButtonClassName,ADDR ButtonText,\

WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON,\

120,155,130,25,hWnd,ButtonID,hInstance,NULL

mov hwndButton,eax ;pulldown

.ELSEIF uMsg==WM_COMMAND

mov eax,wParam

.IF lParam==0

.IF ax==IDM_HELLO

invoke SetWindowText,hwndEdit3,ADDR TestString1

.ELSEIF ax==IDM_CLEAR

invoke SetWindowText,hwndEdit3,NULL

.ELSEIF ax==IDM_GETTEXT

invoke GetWindowText,hwndEdit1,ADDR buffer1,256

invoke GetWindowText,hwndEdit2,ADDR buffer2,256

lea esi,buffer1

lea edi,buffer3

xor ecx,ecx

@loop1:

lodsb

cmp al,0

jz @sub1

inc ecx

stosb

cmp ecx,0aH

jl @loop1

jmp @exit

@sub1:

mov eax,0ah

lea edi,buffer5

lea esi,buffer3

sub eax,ecx

add edi,eax

rep movsb

mov ecx,0ah

lea esi,buffer5

lea edi,buffer3

rep movsb

@exit:

mov ebx,0ah

@sub4:

lea eax,buffer3

movzx esi,byte ptr [eax+ebx-01]

mov eax,esi

mov ecx,0ah

xor edx,edx

div ecx

push edx

mov edx,eax

add dl,41h

mov [edi],dl

inc edi

pop edx

add dl,30h

mov [edi],dl

inc edi

dec ebx

jnz @sub4

push edi

lea esi,buffer2

lea edi,buffer6

xor edx,edx

@loopsub1:

lodsb

cmp eax,0

jz @exit1

stosb

inc edx

cmp edx,0ah

jne @loopsub1

@exit1:

;lea edi,buffer4

pop edi

mov ebx,0ah

@loopsub7:

mov eax,ebx

and eax,80000001h

jns @loopsub3

dec eax

or eax,byte -2

inc eax

@loopsub3:

test eax,eax

jne @loopsub5

lea eax,buffer6

movzx eax,byte ptr [eax+ebx-01]

mov ecx,0ah

xor edx,edx

div ecx

add dl,41h

mov al,dl

stosb

;mov byte ptr [edi],dl

;inc edi

jmp @loopsub6

@loopsub5:

lea eax,buffer6

movzx eax,byte ptr [eax+ebx-01]

mov ecx,0ah

xor edx,edx

div ecx

mov eax,09h

sub eax,edx

add eax,30h

stosb

;mov byte ptr [edi],al

;inc edi

@loopsub6:

dec ebx

test ebx,ebx

jne @loopsub7

相关资讯:

·语音界面2.0算法分析及注册机源码!

·侠客系统修改器1.21破解手记--算法分析

·中文拨号上网计时计费器 V4.12注册算法分析

·ClockWise 3.22e注册码算法分析

·CoolClock V1.02注册算法分析

·Directory Scanner v1.5 注册算法分析

·Disk Chief 1.2 简单注册算法分析

·EffeTech HTTP Sniffer 3.2注册算法分析

·eLib2.01算法分析

·EZ MP3 Recorder 1.15 注册算法分析

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)|

广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright (C) 1998-2004 winzheng.com All Rights Reserved.

特别感谢 蓝芒科技 提供下载站及论坛服务器

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史