FAR 3.X注册机 (4千字) 算法分析
.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
当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。