|
Участник форума
Регистрация: 11.07.2007
Сообщений: 190
Провел на форуме: 254313
Репутация:
185
|
|
format PE GUI 4.0
entry start
Include '%fasminc%\win32a.inc'
ID_MAINDIALOG =1000
ID_NAME = 101
ID_SERIAL = 102
ID_GEN = 103
section '.code' code readable writeable
buff db 256 dup (?)
pass dd ?
start:
invoke GetModuleHandle,0
invoke DialogBoxParam,eax,ID_MAINDIALOG,HWND_DESKTOP,Dial ogProc,0
or eax,eax
je exit
exit:
invoke ExitProcess,0
proc DialogProc hwnddlg,msg,wparam,lparam
push ebx esi edi
cmp [msg],WM_INITDIALOG
je .processed
cmp [msg],WM_COMMAND
je .wmcommand
cmp [msg],WM_CLOSE
je .wmclose
xor eax,eax
jmp .finish
.wmcommand:
cmp [wparam],BN_CLICKED shl 16 + ID_GEN
jnz .processed
invoke GetDlgItemText,[hwnddlg],ID_NAME,pass,40h
xor eax,eax
xor ecx,ecx
mov esi,pass
mov edi,buff
mov bl,01ah
.go:
cmp byte [esi],0
je .@f
mov al,byte [esi]
add al,cl
xor al,cl
div bl
shr ax,8
add al,41h
mov byte [edi],al
inc edi
inc esi
inc ecx
jmp .go
.@f:
invoke SetDlgItemText,[hwnddlg],ID_SERIAL,buff
jmp .processed
.wmclose:
invoke EndDialog,[hwnddlg],0
.processed:
mov eax,1
.finish:
pop edi esi ebx
ret
endp
section '.idata' import data readable writeable
library kernel,'KERNEL32.DLL',\
user,'USER32.DLL'
import kernel,\
GetModuleHandle,'GetModuleHandleA',\
ExitProcess,'ExitProcess'
import user,\
DialogBoxParam,'DialogBoxParamA',\
GetDlgItemText,'GetDlgItemTextA',\
SetDlgItemText,'SetDlgItemTextA',\
EndDialog,'EndDialog'
section '.rsrc' resource from 'Keygen.res' data readable
Вот так примерно.....Не фонтан конечьно,но для примера пойдёт! 
Последний раз редактировалось Lamia; 23.07.2008 в 14:47..
|