📄 geqpro.asm
字号:
;Initialization.
Code Segment Byte Public
Assume Ds:Code,Cs:Code ; COM (Copy Of Memory) File
Org 100h
P386 ; Enable 32 bit registers
Start:
mov ah,0h ; Clear screen and move
mov al,3h
int 10h
mov ah,2
xor dx,dx ; Move cursor to upperleft corner
mov bh,0h
int 10h
xor ah,ah
mov ah,09
mov dx,offset Intro ; Setting the intro
int 21h
mov ah,0Ah
mov edx,offset Namesto
int 21h ; Get Name
xor edi,edi
mov edi,offset Namesto+2 ; +4 if we using dwords
xor ecx,ecx
xor eax,eax
anotherchar:
movsx eax,byte ptr[edi] ; Put Name in eax
cmp eax,0h
jz exit
inc ecx
inc edi
cmp byte ptr [edi],0Dh
jnz anotherchar
jmp encrypt ; JMP to routine
exit:
mov ah,4ch
int 21h
encrypt: ;(Initilization for encryption process)
xor edi,edi ; Initialization stage
xor ebx,ebx ; I just zero-ed all registers
xor ebp,ebp ; except cx (it contains name's
xor edx,edx ; length)
xor eax,eax
mov ebp,5
enc1: ;(First Routine Start Here)
lea edi,[xorbyte+2] ; Get XORByte
movsx edx,byte ptr [edi+ebx] ; Put it in edx
inc ebx ; Increment ebx to get next char
cmp ebp,ebx ; Compare with ebp=5 length of
jnz enc1a ; Xorbyte if not same zero go to
xor ebx,ebx ; encryption 1 if same ebx = 0
enc1a: ;(First Sub-Routine)
lea edi,[namesto+2] ; get name again (not efficient)
xor [edi+eax],edx ; XOR Named with XORByte
inc eax ; Loop to XORed All characters
cmp ecx,eax ; Finish? Then encryption 2
jg enc1
encrypt2: ;(Second Routine)
lea edi,[edi] ; Get the result of First Routine
xor eax,eax ; Initialize registers
xor ebx,ebx
enc2: ;(2nd sub routine)
movsx edx,byte ptr [edi+eax] ; Subroutine (directly ripped when
inc eax ; debugging with SoftICE with
lea edx , [edx*8+edx] ; minor alterations.
add edx,14bh
add ebx,edx
cmp ecx,eax
jg enc2 ; Continue routine for all
mov ecx,ebx ; Stored result in ecx
result: ;(Teraphy's Routine to display result)
xor esi,esi
mov si,offset Serial+9
mov eax,ecx
mov ecx,0Ah
KeepGoing:
xor edx,edx
div ecx
add dl,30h
cmp dl,3Ah
jl printnow
add dl,07
printnow:
dec esi
mov [esi],dl
or eax,eax
jnz KeepGoing
mov ah,9
mov dx,offset RegPrompt
int 21h
int 20h
Intro db 13,10,'-----------------------------------'
db 13,10,' GRaPHiC eQuaLiZeR PRo' v1.1 '
db 13,10,' SoFTWaRe '
db 13,10,' CODED BY: ReZeL The LoNeCRaCKeR. '
db 13,10,' Feb 5th, 1999 '
db 13,10,' http://www.anwida.com '
db 13,10,''
db 13,10,'-----------------------------------',13,10
db 13,10, 'Enter Your Name ===> $'
xorbyte db 13,10,'U7HG4',13,10,'$' ; Get from SoftICE
RegPrompt db 13,10,'Your Registration Number Is ===> '
Serial db 0,0,0,0,0,0,0,0,13,10,24h
Namesto db 18h,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Code Ends
End Start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -