📄 recorder.asm
字号:
; Mouse & Key Recorder v2.5.1
; CrackZ (26/06/99).
; tasm /zi recorder.asm
; tlink /v recorder
.MODEL SMALL
.STACK 100h
.386
.DATA
done DB 0ah,0dh, 'Your License Code is : ','$'
lf DB 0ah,0dh,'$'
input DB 20h,0
logo DB 0ah,0dh, '-------------------------------',0ah,0dh
DB ' Mouse & Key Recorder v2.5.1 ',0ah,0dh
DB ' Key Generator by CrackZ ',0ah,0dh
DB '-------------------------------',0ah,0dh
DB 0ah,0dh,'$'
prompt DB 'Input your desired name : ','$'
.CODE
START:
MOV AX,@DATA
MOV DS,AX
MOV ES,AX ;Initialisation.
LEA EDX,[logo]
MOV AH,09h
INT 21h ;Display Logo.
LEA EDX,[prompt]
MOV AH,09h
INT 21h ;Prompt.
LEA EDX,[input]
MOV AH,0Ah
INT 21h ;Get Name.
LEA EDI,input+2 ;EDI points at name.
MOVZX EBX, BYTE PTR [EDI-1] ;Length.
XOR EAX, EAX
XOR ECX, ECX
XOR EDX, EDX
XOR ESI, ESI ;Clear all other registers.
MOV ESI, 20h
CALL nameloop
SUB EDI, 2h
ADD EBX, 2h
MOV ESI, EBX ;Save length+2 in ESI.
CALL nameerase
MOV EAX, EDX
MOV ECX, 0Ah
LEA EDI,[input]
CALL hextodec
MOV DWORD PTR [EDI+EAX], 024464A47h ;GJF suffix.
JMP output
;-----Functions section-----
hextodec:
XOR EDX,EDX
DIV ECX
ADD EDX,30h
PUSH EDX
INC EBX
TEST EAX, EAX
JNZ hextodec
hextodec2:
POP EDX
MOV BYTE PTR [EDI+EAX],DL
INC EAX
TEST EBX,EBX
DEC EBX
JNZ hextodec2
RET
nameerase:
MOV BYTE PTR [EDI], '$'
INC EDI
DEC EBX
TEST EBX,EBX
JNZ nameerase
SUB EDI,ESI
RET
nameloop:
MOV CL, BYTE PTR [EDI+EAX]
CMP CL, 20h ;Is it a space.
JZ nspace
JMP nmaths
nfinished:
RET
nfixup:
XOR EAX, EAX ;Reset name counter.
JMP nameloop
nmaths:
PUSH EAX
PUSH EBX
MOV EBX, 0167F411h ;The 'z' value.
MOV EAX, 7Ah ;'z'.
SUB AL, CL
IMUL EAX, 02F320h ;The magic constant (193,312 dec).
SUB EBX, EAX
ADD EDX, EBX ;Store the result.
POP EBX
POP EAX ;Restore registers used.
DEC ESI ;Decrement ESI counter.
TEST ESI, ESI ;Have we looped 32 times as required.
JZ nfinished
INC EAX ;Name pointer.
CMP EAX, EBX
JZ nfixup ;Name needs to be restarted.
JMP nameloop
nspace:
INC EAX
JMP nameloop
output:
LEA EDX,[done]
MOV AH,09h
INT 21h ;"Your License Code is".
LEA EDX,[input]
MOV AH,09h
INT 21h
endprg:
MOV AX,4C00h
INT 21h
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -