不懂算法 发表于 2007-3-1 15:34:57

飘过,丢个注册机模版
;
;不懂算法的keygen模版,欢迎随便修改
;
.386
.model flat,stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\comctl32.inc

includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\comctl32.lib

dlgproc proto :DWORD,:DWORD,:DWORD,:DWORD

.const

.data
szName        db        020h dup (0)
szSerial db        010h dup (0)
fmt        db        "%d",0
szErr        db        "错误",0
szErr1        db        "名字长度必须为7",0

.data?
hInstance dd ?

.code
start:
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke DialogBoxParam,eax,101,NULL,offset dlgproc,0
invoke ExitProcess,NULL

dlgproc proc hWnd:DWORD,wMsg:DWORD,wParam:DWORD,lParam:DWORD
moveax,wMsg
.ifeax == WM_CLOSE
        invokeEndDialog,hWnd,NULL
.elseifeax == WM_INITDIALOG
        invoke LoadIcon,hInstance,1
        invoke SendMessage,hWnd,WM_SETICON,0,eax
.elseifeax == WM_COMMAND
        moveax,wParam
        .ifeax == 1002
                invokeGetDlgItemText,hWnd,1000,addr szName,11h
                .if eax!=7
                        invoke MessageBox,NULL,addr szErr1,addr szErr,MB_OK
                        mov eax,FALSE
                        ret
                .endif
                xor eax,eax
                movsx ebx,byte ptr ds:
                movsx ecx,byte ptr ds:
                imul ebx,ecx
                add eax,ebx
               
                movsx ebx,byte ptr ds:
                movsx ecx,byte ptr ds:
                imul ebx,ecx
                add eax,ebx
               
                movsx ebx,byte ptr ds:
                movsx ecx,byte ptr ds:
                imul ebx,ecx
                add eax,ebx

                imul eax,eax
                movsx ebx,byte ptr ds:
                xor eax,ebx

                .while eax<1000000
                        imul eax,eax
                        cdq
                        xor eax,edx
                        sub eax,edx
                .endw

                invoke wsprintf,addr szName,addr fmt,eax

                mov al,byte ptr ds:
                mov byte ptr ds:,al
                mov al,byte ptr ds:
                mov byte ptr ds:,al
                mov al,byte ptr ds:
                mov byte ptr ds:,al
                mov al,byte ptr ds:
                mov byte ptr ds:,al
                mov al,byte ptr ds:
                mov byte ptr ds:,al
                mov al,byte ptr ds:
                mov byte ptr ds:,al
                mov al,byte ptr ds:
                mov byte ptr ds:,al
                mov byte ptr ds:,037h
                mov byte ptr ds:,039h
                mov byte ptr ds:,0h

                invoke SetDlgItemText,hWnd,1001,addr szSerial

        .endif
.else
        moveax,FALSE
        ret
.endif      
moveax,TRUE
ret
dlgproc endp

end start

小子贼野 发表于 2007-3-31 19:34:21

难道是传说中的明码比较?

csks 发表于 2007-3-31 22:13:47

飘过... ...

wulijin 发表于 2007-12-31 10:37:15

2007年的最后一天了 赶紧下来试试 不然没机会了
不能拖到08念了

byp100 发表于 2008-1-3 20:58:08

我想看算法分析啊

vecri 发表于 2008-1-3 21:45:04

算法分析在另外一个帖子里:
"请大家帮忙看看 KeyGenMe2007_A", 地址
https://www.chinapyg.com/viewthread.php?tid=23504&extra=page%3D1

圣人 发表于 2008-1-5 11:08:10

下载顶起/:L

bsuc 发表于 2008-2-22 10:32:44

下回来,练练手吧,谁让咱笨呢

坏づ铥铥 发表于 2008-4-24 17:49:45

从零开始。谁叫我爱上这个。
页: 1 2 [3]
查看完整版本: KeyGenMe2007_A,小年夜用来给算法初学者增强信心!