📄 fr1c8.asm
字号:
; Fr1c's CrackMe #8 Key Generator.
; @author: CrackZ
codesg segment
assume cs:codesg
assume ds:codesg
org 100h
.386
start: jmp begin
GetName db 0ah,0dh,'Please insert your Name (length 4 or more) : ','$'
Logo db 0ah,0dh,'-------------------------------'
db 0ah,0dh,' Fr1c CrackMe #8 Key Generator '
db 0ah,0dh,' By CrackZ (15/10/2000) '
db 0ah,0dh,'-------------------------------','$'
NameBuf db 32 dup ('$')
NameLen dd 0
NameSum dd 0
OutBuf db 16 dup ('$')
OutSer db 0ah,0dh,'Your Serial Number is : ','$'
ResLen dd 0
Suffix db 'Q_W65',0
begin: mov edx, offset Logo
mov ah, 9
int 21h
mov edx, offset GetName
mov ah, 9
int 21h
mov edx, offset NameBuf
mov ah, 0ah
int 21h
mov edx, offset NameBuf+2
movzx ecx, byte ptr [edx-1] ; Length.
mov [NameLen], ecx ; Save it.
xor eax, eax
xor ebx, ebx
xor esi, esi
SumName:
mov al, byte ptr [ebx.edx]
add esi, eax
inc ebx
cmp ebx, ecx
jl SumName
mov [NameSum], esi
add esi, ebx
xor esi, ebx
shr esi, 1
push ebx
sub ebx, 2
sub esi, ebx
sub esi, 61a8h
pop ebx
lea esi, [esi.ebx.4]
push ebx
sub ebx, 2
sub esi, ebx
pop ebx
lea esi, [esi.ebx.2]
sub esi, 0c350h
rol esi, 1
shr esi, 2
sub esi, 02faf080h
mov eax, [NameSum]
sub eax, 41h
add esi, eax
xchg eax, esi
xor ebx, ebx
mov ecx, 0ah
mov edi, offset OutBuf
call @out1
mov ecx, 5
mov esi, offset Suffix
repz movsb
mov edx, offset OutSer
mov ah, 9
int 21h
mov edx, offset OutBuf
mov ah, 9
int 21h
jmp endprg
@out1: xor edx, edx
div ecx
add edx,30h
push edx
inc ebx
test eax, eax
jnz @out1
mov [ResLen], ebx
@out2: pop edx
mov byte ptr [edi],dl
inc edi
dec ebx
jnz @out2
ret
endprg: mov ax, 4c00h
int 21h
codesg ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -