.386
.model flat,stdcall
option casemap:none
include \MASM32\INCLUDE\windows.inc
include \MASM32\INCLUDE\user32.inc
include \MASM32\INCLUDE\kernel32.inc
include \MASM32\INCLUDE\comctl32.inc
include \MASM32\INCLUDE\comdlg32.inc
include \MASM32\INCLUDE\masm32.inc
includelib \MASM32\LIB\masm32.lib
includelib \MASM32\LIB\user32.lib
includelib \MASM32\LIB\kernel32.lib
includelib \MASM32\LIB\comctl32.lib
includelib \MASM32\LIB\comdlg32.lib
DLG_MAIN equ 100
IDGEN equ 10
Edit1 equ 11
Edit2 equ 12
_ProcDlgMain PROTO :DWORD,:DWORD,:DWORD,:DWORD
_Math PROTO :DWORD,:DWORD,:DWORD
BlowFish_En PROTO :DWORD,:DWORD
BlowFish_Fun PROTO :DWORD
BlowFish_Init PROTO :DWORD,:DWORD
.data?
hInstance dd ?
.data
szhex dd 0
jqhlen dd 0
szID db 20 dup(0)
szText db 9 dup(0)
fudian1 dd 3fdca138h,406d9168h,415c6944h,42c60000h
zhong dd 0
sn dd 0
tem dd 0
ftem dd 0
ftem1 dd 1
ftem2 dd 0
fa dd 0
fb dd 0
fc dd 0
fd dd 0
sztxt db 20 dup (0)
sztxt1 db 20 dup (0)
.code
gao proc
mov edx,tem
imul edx,
08088405h
inc edx
mov tem,edx
mul edx
mov eax,
edx
ret
gao endp
jsaqws proc uses eax ebx ecx edx esi edi
mov eax,szhex
mov ecx,013dh
cdq
idiv ecx
mov tem,edx
mov eax,0104ah
call
gao
mov esi,eax
mov eax,016c6h
call
gao
add
esi,eax
mov
zhong,esi
fild
dword ptr zhong
lea
eax,fudian1
fmul
dword ptr [eax]
fstp dword
ptr ftem
fild
ftem1
fld
ftem
fprem
fstp dword
ptr ftem2
fld
ftem
fld
ftem2
fsub
lea
eax,fudian1
fmul
dword ptr [eax]
fstp dword
ptr ftem
fild
ftem1
fld
ftem
fprem
fstp dword
ptr ftem2
fld
ftem
fld
ftem2
fsub
fist dword
ptr fa
finit
mov eax,szhex
mov ecx,011h
cdq
idiv ecx
xor
edx,013h
mov zhong,edx
fild
dword ptr zhong
lea
eax,fudian1
add
eax,4
fmul
dword ptr [eax]
fstp dword
ptr ftem
fild
ftem1
fld
ftem
fprem
fstp dword
ptr ftem2
fld
ftem
fld
ftem2
fsub
fist dword
ptr tem
finit
mov
eax,0f77h
call gao
mov
esi,eax
mov
eax,021e1h
call gao
add
esi,eax
mov eax,017h
call gao
xor
esi,eax
mov
fb,esi
fld
dword ptr fudian1
lea
eax,fudian1
add
eax,4
fadd dword
ptr [eax]
add
eax,4
fadd dword
ptr [eax]
mov eax,szhex
mov ecx,0fh
cdq
idiv ecx
xor
edx,0dh
mov
ftem,edx
fild dword
ptr ftem
faddp
st(1), st
fstp dword
ptr ftem
fild
ftem1
fld
ftem
fprem
fstp dword
ptr ftem2
fld
ftem
fld
ftem2
fsub
fist dword
ptr tem
finit
mov
eax,0f8bh
call gao
mov esi,edx
mov
eax,01c69h
call gao
add esi,edx
mov eax,0e59h
call gao
add esi,edx
mov eax,0defh
call gao
add esi,edx
mov eax,02172h
call gao
add esi,edx
mov fc,esi
lea eax,fudian1
add eax,12
fld dword
ptr [eax]
lea eax,fudian1
fmul dword
ptr [eax]
fstp dword
ptr ftem
fild
ftem1
fld
ftem
fprem
fstp dword
ptr ftem2
fld
ftem
fld
ftem2
fsub
fist dword
ptr ftem
mov
eax,szhex
mov
ecx,ftem
cdq
idiv ecx
mov
edi,edx
mov eax,0b4h
call gao
mov
zhong,eax
fild zhong
fsin
mov
zhong,100
fild zhong
fmul
fstp dword
ptr ftem
fild
ftem1
fld
ftem
fprem
fstp dword
ptr ftem2
fld
ftem
fld
ftem2
fsub
fist dword
ptr ftem
mov
esi,ftem
finit
mov ftem,edi
fild ftem
lea
eax,fudian1
add
eax,8
fmul
dword ptr [eax]
fstp dword
ptr ftem
fild
ftem1
fld
ftem
fprem
fstp dword
ptr ftem2
fld
ftem
fld
ftem2
fsub
fist dword
ptr ftem
add
esi,ftem
mov
tem,esi
mov
eax,0f4fh
call gao
mov esi,eax
mov
eax,1dd1h
call gao
add esi,eax
add esi,fa
add esi,fb
add esi,fc
lea edi,sztxt1
mov eax,esi
xor ebx,ebx
es002: mov ecx,10
cdq
idiv ecx
add edx,030h
mov [edi],edx
inc edi
inc ebx
cmp
eax,0
jz
es003
jmp es002
es003: lea esi,sztxt1
add esi,ebx
dec esi
lea edx,sztxt
es001: mov al,[esi]
mov [edx],al
dec esi
inc edx
dec ebx
jnz es001
ret
ret
jsaqws endp
_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_COMMAND
mov eax,wParam
and eax,0ffffh
.if eax==IDGEN
invoke GetDlgItemText,hWnd,Edit1,offset
szID,50
mov jqhlen,eax
mov esi,offset
szID
mov edi,eax
xor eax,eax
cs008: imul eax,10
mov bl,[esi]
cmp bl,030h
jl
c010
cmp bl,039h
jg
c010
sub bl,030h
and ebx,0ffh
add eax,ebx
inc esi
dec edi
jnz cs008
mov szhex,eax
invoke jsaqws
invoke SetDlgItemText,hWnd,Edit2,offset
sztxt
c010: mov eax,FALSE
ret
.elseif eax==IDCLOSE
invoke EndDialog,hWnd,NULL
.endif
.else
mov eax,FALSE
ret
.endif
mov eax,TRUE
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
;资源文件
#define WS_VISIBLE 0x10000000L
#define WS_CAPTION 0x00C00000L
#define WS_SYSMENU 0x00080000L
#define WS_THICKFRAME 0x00040000L
#define WS_POPUP 0x80000000L
#define DS_MODALFRAME 0x80L
#define SS_LEFT 0x00000000L
#define SS_CENTER 0x00000001L
#define ES_LEFT 0x0000L
#define BS_PUSHBUTTON 0x00000000L
#define IDGEN 10
#define IDCLOSE 8
#define DLG_MAIN 100
#define EDIT1 11
#define EDIT2 12
IDI_ICON1 ICON "smenu.ico"
DLG_MAIN DIALOGEX 100,150,150,80
STYLE DS_MODALFRAME|WS_POPUP|WS_VISIBLE|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME
CAPTION "美萍安全卫士注册机"
FONT 9,"宋体"
BEGIN
CONTROL "机器号:",-1,"Static",SS_LEFT,05,14,30,17
CONTROL "注册码:" ,-2,"Static",SS_LEFT,05,41,40,17
CONTROL "制作-=Funyliang[CNCG]/CYL=-本软件纯属研究之用,请勿用于非法途径"
,-2,"Static",SS_CENTER,05,60,140,17
CONTROL "" ,11,"Edit",ES_LEFT,35,13,70,10
CONTROL "" ,12,"Edit",ES_LEFT,35,40,70,10
CONTROL "算号",IDGEN,"BUTTON",BS_PUSHBUTTON,110,11,35,15
CONTROL "退出",IDCLOSE,"BUTTON",BS_PUSHBUTTON,110,37,35,15
END
- 标 题:好久没来,贴个安全卫士注册机(masm6.0) (10千字)
- 作 者:funyliang
- 时 间:2001-12-5 15:56:43
- 链 接:http://bbs.pediy.com