争分夺秒背单词
;从hume的例子中改的:)
;****************crkslm.asm
.386
.model flat,stdcall
option casemap:none
include hd.h
_ProcDlg proto :DWORD,:DWORD,:DWORD,:DWORD
wsprintfA PROTO C :DWORD,:VARARG
BUFF_SIZE equ 50
;->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>data seg
.data
esp_10 db 0 ;保存ecx+5
esp_04 db 0 ;保存高4位
esp_08 db 0 ;保存低4位
flg db 0
rand_init db 0
rand_out db 0
MsgTitle db "A KeyMaker by Fpc", 0
MsgContend db "XXXXXXXXXXXX", 0dh, 0ah, 0dh, 0ah,
"Hompage: www.abc.com", 0
Rc1 db BUFF_SIZE dup(0)
Rc2 db BUFF_SIZE dup(0)
Serial db BUFF_SIZE dup(0)
format db "%lu", 0
.data?
hInstance HANDLE ?
.const
ID_GEN equ 1003
ID_EXIT equ 1002
ID_ABOUT equ 1004
IDC_OUT equ 1001
IDC_RC1 equ 1010
IDC_RC2 equ 1011
DLG_MAIN equ 1000
;-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>code seg
.code
start:
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlg,0
invoke ExitProcess,NULL
_ProcDlg proc uses ebx edi esi, \
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
.IF lParam!=0
.if ax==ID_GEN
;invoke RtlZeroMemory, addr Serial, BUFF_SIZE
invoke GetDlgItemText, hWnd, IDC_RC1, addr Rc1, BUFF_SIZE
invoke GetDlgItemText, hWnd, IDC_RC2, addr Rc2, BUFF_SIZE
call Cal
invoke SetDlgItemText,hWnd,IDC_OUT,addr Serial
.elseif ax==ID_ABOUT
invoke MessageBox, hWnd, Addr MsgContend, Addr MsgTitle, MB_OK
.elseif ax==ID_EXIT
invoke SendMessage,hWnd,WM_CLOSE,NULL,NULL
.endif
.ENDIF
.else
mov eax,FALSE
ret
.endif
mov eax,TRUE
ret
_ProcDlg ENDP
include cal.asm
end start
;********************cal.asm
Cal proc
PUSHAD
lea edi, Rc2
or ecx, 0ffffffffh
xor eax, eax
repnz scasb
not ecx
dec ecx
test ecx, ecx
jz no_input
push ecx
;
lea edi, Rc1
or ecx, 0ffffffffh
repnz scasb
not ecx
dec ecx
test ecx, ecx
jnz next_1
pop ecx
jmp no_input
next_1:
lea edi, Rc1
add edi, ecx
lea esi, Rc2
pop ecx
rep movsb
;
;main proc
;
xor eax, eax
lea esi, Rc1
mov ebx, eax
inc ebx
main_loop:
lodsb
test al, al
jz next_2
imul ebx, ebx, 022d6h
add ebx, eax
jmp main_loop
next_2:
mov eax, ebx
cdq
xor eax, edx
sub eax, edx ;done
invoke wsprintfA, addr Serial, addr format, eax
no_input:
POPAD
ret
Cal endp
;****************rsrc.rc
#include <d:\masm32\include\resource.h>
#define ID_GEN 1003
#define ID_ABOUT 1004
#define ID_EXIT 1002
#define IDC_OUT 1001
#define IDC_RC1 1010
#define IDC_RC2 1011
#define DLG_MAIN 1000
DLG_MAIN DIALOG 37, 61, 282, 59
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Asm Keygen temple, By Fpc, thx to Hume"
FONT 8, "MS Sans Serif"
{
DEFPUSHBUTTON "Generate", ID_GEN, 209, 4, 50, 14
PUSHBUTTON "Exit", ID_EXIT, 209, 40, 50, 14
PUSHBUTTON "About", ID_ABOUT, 209, 22, 50, 14
LTEXT "Name :", -1, 15, 8, 36, 8
LTEXT "Email :", -1, 15, 25, 39, 8
LTEXT "Code :", -1, 15, 43, 49, 10
EDITTEXT IDC_RC1, 67, 6, 48, 13, WS_BORDER | WS_TABSTOP,
EDITTEXT IDC_RC2, 67, 23, 71, 13, WS_BORDER | WS_TABSTOP,
EDITTEXT IDC_OUT, 67, 42, 130, 12, ES_READONLY | WS_BORDER | WS_TABSTOP
} (出处:嬴政天下整理收藏)
相关文章:
·ASProtect的加密算法初步分析
·MD5算法研究
·Active Ebook Compiler的注册算法
·语音界面2.0算法分析及注册机源码!
·简单算法——小护士 V1.2
·侠客系统修改器1.21破解手记--算法分析
·中文拨号上网计时计费器 V4.12注册算法分析
·加密算法之RSA算法
·加密算法之DES算法
·加密算法之ElGamal算法
相关软件:
·胜新通用人事工资管理系统 V5.01注册码算法
·胜新出纳-支票打印软件 V4.0X 的注册码算法
·胜新现代办公百宝箱 V5.01 的注册码算法
·胜新信函宝典-信封打印软件 V2.02 注册码的算法
·胜新通用企业计划管理系统的注册码算法
·共享软件加密算法库 2.5
·操作系统内存分配银行家算法模拟系统 XP
→ 特别推荐
→ 热点TOP10
关于我们 |
帮助(?)
| 广告服务 |
版权声明 |
商业合作 |
发展历程 |
加盟我们 |
联系我们
Copyright © 1999-2003
winzheng.com All Rights Reserved.
繁体版:由华琦数码技术提供
Powered
by:MeSky.Net
当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。