kingswb 发表于 2014-8-2 10:07

160个CM之第四题CKme注册机(源码+成品)献给所有爱汇编的朋友

大牛可以飘过了,由于今年署期52没有CM大赛,看到八爷写的160的教程,于是自己也想挑战下这160个CM看看能否全部坚持把注册机都写出来,纯汇编编写的注册机,给在学习的朋友们一个参考
(ps:这个CM弄的有点头晕,不枉人家写了二天半的CM,新手们都可以试试,使用注册机算出的机器码请手动输入,输入后点击图片框三次就行了)
以下直接贴出源码
第四题CKme

.386
.model flat, stdcall;32 bit memory model
option casemap :none;case sensitive

include 160个CM之第四题.inc

.code

start:

        invoke GetModuleHandle,NULL
        mov                hInstance,eax

    invoke InitCommonControls
        invoke DialogBoxParam,hInstance,IDD_DIALOG1,NULL,addr DlgProc,NULL
        invoke ExitProcess,0

;########################################################################

DlgProc proc hWin:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
                LOCAL @buffer:byte
                LOCAL @buffer1:byte
               
        mov                eax,uMsg
        .if eax==WM_INITDIALOG
               invoke LoadIcon,hInstance,APP_ICON
               invoke SendMessage,hWin,WM_SETICON,ICON_BIG,eax
        .elseif eax==WM_COMMAND
                mov eax,wParam
                .if ax==IDC_OK
                                INVOKE GetDlgItemText,hWin,IDC_MAME,addr @buffer1,256
                                add eax,5       
                                lea ebx,@buffer1
                                invoke wsprintf,addr @buffer,offset szfomt,eax,ebx
                                invoke SetDlgItemText,hWin,IDC_REG,addr @buffer
                .ENDIF
        .elseif eax==WM_CLOSE
                invoke EndDialog,hWin,0
        .else
                mov                eax,FALSE
                ret
        .endif
        mov                eax,TRUE
        ret

DlgProc endp

end start









不喜勿喷

791898456 发表于 2014-8-2 10:22

不明觉历

SaberMason 发表于 2014-8-2 11:45

厉害,可惜看不懂
页: [1]
查看完整版本: 160个CM之第四题CKme注册机(源码+成品)献给所有爱汇编的朋友