📄 jpegwiz.asm
字号:
;The JPEG Wizard v1.2.1.
;Key Generator by CrackZ.
;31/08/99, tasm jpgwiz, tlink /3 /t jpgwiz
codesg segment
assume cs:codesg
assume ds:codesg
org 100h
.386
start: JMP begin
ebp08 db 4 dup(0)
ebp0c db 4 dup(0)
ebp10 db 4 dup(0)
ebp14 db 2 dup(0)
getname db 0Dh,0Ah,'Please enter your Name: ','$'
jpegwzt db 01h,00h,00h,00h,07h,00h,00h,00h,31h,00h,00h,00h,57h,01h,00h,00h
db 61h,09h,00h,00h,0A7h,41h,00h,00h,91h,0CBh,01h,00h,0F7h,90h,0Ch,00h
db 08h,8Dh,40h,00h,08h,8Dh,40h,00h,0
logo db '-------------------------',0Dh,0Ah
db ' The JPEG Wizard v1.2.1 ',0Dh,0Ah
db ' Key Generator by CrackZ ',0Dh,0Ah
db '-------------------------',0Dh,0Ah,'$'
outreg db 0Dh,0Ah,'Your Registration Number is: ','$'
outregbuff db 11 dup('$')
savename db 4 dup(0)
suffix db 'PegasusJWIZBC111',0
tablehook db 4 dup(0)
tablestart db 4 dup(0)
username db 48 dup('$') ;30 max. plus some extra for the suffix.
begin: MOV AX,02h
INT 10h
MOV DX, offset logo
MOV AH,09h
INT 21h
MOV DX, offset getname
MOV AH,09h
INT 21h
MOV DX, offset username
MOV AH,0Ah
INT 21h
XOR EAX,EAX
MOV AL, BYTE PTR username+1 ;Length.
CMP AL,1Eh
JG endprg
MOV WORD PTR [ebp14],10h ;Suffix length.
ADD WORD PTR [ebp14], AX
MOV DX, offset username+2 ;Username.
AND EDX,0FFFFh
MOV DWORD PTR [savename],EDX
MOV EDI,EDX
ADD DI,AX
MOV SI, offset suffix
AND ESI,0FFFFh
MOV ECX,4h
REPZ MOVSD
SUB DI,AX
SUB DI,10h ;Suffix length.
MOV EAX,EDI
XOR CX,CX
INC DWORD PTR [ebp08]
@a: MOV EAX, DWORD PTR [savename]
MOV EDX, DWORD PTR [ebp08]
MOVZX EAX, BYTE PTR [EAX+EDX-1]
MOV ECX,EAX
NOT ECX
AND ECX,07Fh
AND EAX,07Fh
CMP EAX,20h
JZ @f
INC DWORD PTR [ebp0c]
MOV ESI,8h
MOV EDX, offset jpegwzt ;filebuff
MOV DWORD PTR [tablestart],EDX
ADD EDX, DWORD PTR [tablehook]
@e: TEST AL, 80h
JZ @b
MOV EDX, DWORD PTR [tablestart]
ADD EDX, DWORD PTR [tablehook]
ADD EBX, DWORD PTR [EDX]
ADD EBX,ECX
JMP @c
@b: MOV EDI,EAX
IMUL EDI,ECX
IMUL EDI, DWORD PTR [ebp0c]
ADD EBX,EDI
@c: TEST EBX, 0C0000000h
JZ @d
AND EBX, 03FFFFFFFh
INC DWORD PTR [ebp10]
@d: ADD EAX,EAX
ADD DWORD PTR [tablehook],4h
DEC ESI
JNZ @e
@f: MOV DWORD PTR [tablehook],0h
INC DWORD PTR [ebp08]
DEC WORD PTR [ebp14]
JNZ @a
MOV EAX,EBX
XOR EBX,EBX
MOV ECX,0Ah
MOV EDI, offset outregbuff
CALL @out_1
;-----Functions-----
endprg:
MOV AX, 4C00h
INT 21h
@out_1:
XOR EDX,EDX
DIV ECX
ADD EDX,30h
PUSH EDX
INC EBX
TEST EAX,EAX
JNZ @out_1
@out_2:
POP EDX
MOV BYTE PTR [EDI+EAX],DL
INC EAX
TEST EBX,EBX
DEC EBX
JNZ @out_2
MOV EDX, offset outreg
MOV AH,09h
INT 21h
MOV EDX, offset outregbuff
MOV AH,09h
INT 21h
JMP endprg
codesg ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -