老文章档案 · 2003 年

FAR 3.X注册机 (4千字) 算法分析

破解教程 · 算法分析 · 2003-07-31 · 作者:夜月 人气: · 出处:赢政天下整理收藏)

.386

.model flat,stdcall

option casemap:none

include windows.inc

include user32.inc

include kernel32.inc

include comctl32.inc

include comdlg32.inc

include masm32.inc

includelib masm32.lib

includelib user32.lib

includelib kernel32.lib

includelib comctl32.lib

includelib comdlg32.lib

DLG_MAIN equ 100

IDGEN equ 10

Edit1 equ 11

Edit2 equ 12

Edit3 equ 13

BFLEFT EQU BFHIGH

BFRIGHT EQU BFLOW

IDABOUT EQU 17

STATIC1 equ 14

STATIC2 equ 15

STATIC3 equ 16

IDI_ICO equ 101

_ProcDlgMain PROTO :DWORD,:DWORD,:DWORD,:DWORD

.data?

hInstance dd ?

.data

STRABOUT1 DB "任何问题,提议,请联系",0

STRABOUT2 DB "firingme@sina.com",0

STRDEF1 DB "仅以此献给我们可爱的CCG",0

STRDEF2 DB " 祝愿它蒸蒸日上!",0

szOK DB "OK",0

szABOUT DB "ABOUT",0

szID DB 10 DUP(0)

NAMEERR DB "名字,Email长度不能为0",0

szName db 100 dup(0)

szEmail db 100 dup(0)

szSn db "FAR22-%s-00000-%s",0

szTemp1 db 10 dup (0)

szTemp2 db 10 dup (0)

szAAA db "AAAAA",0

szLast db 100 dup (0)

magicnum dw 0

NameLen dd 0

EmailLen dd 0

Num dd 0

.code

;消息处理函数

_ProcDlgMain proc uses ebx edi esi edx ecx,hWnd:DWORD,wMsg:DWORD,wParam:DWORD,lParam:DWORD

mov eax,wMsg

.if eax==WM_CLOSE

invoke EndDialog,hWnd,NULL

.ELSEif eax==WM_INITDIALOG

invoke LoadIcon,hInstance,IDI_ICO

invoke SendMessage,hWnd,WM_SETICON,ICON_BIG,EAX

MOV EAX,FALSE

RET

.elseif eax==WM_COMMAND

mov eax,wParam

and eax,0ffffh

.if eax==IDGEN

invoke GetDlgItem,hWnd,Edit2

invoke SetFocus,EAX

invoke GetDlgItemText,hWnd,Edit1,offset szName,100

mov NameLen,eax

.if eax==0

jmp @ERR

.endif

invoke GetDlgItemText,hWnd,Edit2,offset szEmail,100

mov EmailLen,eax

.if eax==0

jmp @ERR

.endif

MOV ECX,NameLen

add EmailLen,ecx

mov esi,offset szName

MOV EdI,OFFSET szEmail

add edi,eax

rep movsb

mov ecx,EmailLen

mov esi,offset szEmail

mov edi,offset szTemp1

xor eax,eax

xor ebx,ebx

@@1:

lodsb

.if (eax>40h)&&(eax<5bh)

stosb

inc ebx

.if ebx==5

jmp @@3

.endif

.endif

loop @@1

mov esi,offset szAAA

mov ecx,5

sub ecx,ebx

rep movsb

@@3:

mov byte ptr [edi],0

mov magicnum,13820

mov ecx,5

xor eax,eax

mov esi,offset szTemp1

@@2:

lodsb

sub ax,41h

imul ax,10

add magicnum,ax

loop @@2

mov ax,magicnum

cwd

invoke dwtoa,eax,offset szTemp2

invoke wsprintf,offset szLast,offset szSn,offset szTemp1,offset szTemp2

invoke SetDlgItemText,hWnd,Edit3,offset szLast

mov eax,FALSE

ret

@ERR:

invoke SetDlgItemText,hWnd,Edit2,NULL

invoke SendDlgItemMessage,hWnd,Edit1,EM_SETREADONLY,TRUE,NULL

invoke SendDlgItemMessage,hWnd,Edit2,EM_SETREADONLY,TRUE,NULL

invoke SetDlgItemText,hWnd,STATIC1,offset NAMEERR

invoke SetDlgItemText,hWnd,STATIC2,NULL

invoke SetDlgItemText,hWnd,IDABOUT,OFFSET szOK

MOV EAX,FALSE

RET

.elseif eax==IDABOUT

invoke GetDlgItemText,hWnd,IDABOUT,OFFSET szID,5

MOVZX EAX,BYTE PTR [szID]

.IF EAX==79 ;此时显示的是OK

invoke GetDlgItem,hWnd,Edit1

invoke SetFocus,eax

invoke SendDlgItemMessage,hWnd,Edit1,EM_SETREADONLY,FALSE,NULL

invoke SendDlgItemMessage,hWnd,Edit2,EM_SETREADONLY,FALSE,NULL

invoke SetDlgItemText,hWnd,STATIC1,offset STRDEF1

invoke SetDlgItemText,hWnd,STATIC2,offset STRDEF2

invoke SetDlgItemText,hWnd,IDABOUT,offset szABOUT

MOV EAX,FALSE

RET

.ELSE

invoke GetDlgItem,hWnd,Edit2

invoke SetFocus,eax

invoke SendDlgItemMessage,hWnd,Edit1,EM_SETREADONLY,TRUE,NULL

invoke SendDlgItemMessage,hWnd,Edit2,EM_SETREADONLY,TRUE,NULL

invoke SetDlgItemText,hWnd,STATIC1,offset STRABOUT1

invoke SetDlgItemText,hWnd,STATIC2,offset STRABOUT2

invoke SetDlgItemText,hWnd,IDABOUT,offset szOK

MOV EAX,FALSE

RET

.ENDIF

.endif

.else

mov eax,FALSE

ret

.endif

mov eax,FALSE

RET

_ProcDlgMain endp

;主程序

start:

invoke InitCommonControls

invoke GetModuleHandle,NULL

mov hInstance,eax

invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,0

invoke ExitProcess,NULL

end start

end (出处:赢政天下整理收藏)

相关文章:

·语音界面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 © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

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

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

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