home *** CD-ROM | disk | FTP | other *** search
- .386 ;v3.1
-
-
-
- _STACK SEGMENT STACK
-
- dw 100h dup (?)
-
- _STACK ENDS
-
-
-
- _DATA SEGMENT
-
- DATACOUNT dw 0
-
- DATA1 db 'HEXAMELIAN'
-
- DATA2 db 0,0,0,02Dh
-
- DATA3 db 0,0,0,0,02Dh
-
- DATA4 db 0,0,0,0
-
- ALSO_MSG db 'Cygnus Hex Edit is not Case Sensitive. UCF=ucf also',0
-
- ADDCOUNTER db 1
-
- LINE1 equ 0B878h
-
- REGMEMNAMECNTR dw 0
-
- ACTUAL_LETTERS dw 0
-
- RED db 0
-
- GREEN db 0
-
- BLUE db 0
-
- COLOR db 63
-
- ISTHEREANERROR db 0
-
- INIT equ 1Fh
-
- INIT_COLOR equ 01F7Eh
-
- NAME_COLOR equ 1Fh
-
- NUM_COLOR equ 1Fh
-
- PRINT_NUM_CNT dw 22 ;and video address
-
- ERROR_MSG_COLOR equ 0Ch
-
- ERROR db 'Sorry bud, please read the instructions',0
-
- LOGO db 9 dup (0dh,0ah)
-
- db 'Type Name and Company, I.e. NAMECOMPANY-10 char min-',0dh,0ah
-
- db 'Cygnus Hex Editor 1.5 Keygen/tIE - greetz to UCF',0dh,0ah,0dh,0ah
-
- db 'Name+Compa:$'
-
- SERIAL db 0dh,0ah,' Serial:$'
-
- NAMENOVMEM db 40 dup (0)
-
- _DATA ENDS
-
-
-
- _TEXT SEGMENT use16
-
- Assume CS:_TEXT, DS:_DATA, ES:_DATA, SS:_STACK
-
- INTRO:
-
- mov ax,0003h
-
- int 10h
-
- mov ax,_DATA
-
- mov ds,ax
-
- mov ax,1015h
-
- mov bx,0007h
-
- int 10h
-
- mov GREEN,ch
-
- mov BLUE,cl
-
- mov RED,dh
-
- lea dx,LOGO
-
- mov ah,9
-
- int 21h
-
- call CLASS
-
- cld
-
- sub di,58 ;numbe of char *2
-
- jmp DISPLAY_TEXT
-
-
-
- ERROR_1:
-
- call ERROR_MSG
-
- DISPLAY_TEXT:
-
- call ASK
-
- cmp ISTHEREANERROR,1
-
- jz ERROR_1
-
- call ENKRYPT
-
- QUIT:
-
- call WRI_HEX_DIG
-
- call RESET_PAL
-
- call ALSO
-
- mov ax,4c00h
-
- int 21h
-
-
-
- WRI_HEX_DIG Proc
-
- push di
-
- push ax
-
- push dx
-
- cld
-
- mov di,LINE1+10
-
- mov es,di
-
- mov di,PRINT_NUM_CNT
-
- lea si,DATA2
-
- L00PWRITE:
-
- lodsb
-
- mov ah,NUM_COLOR
-
- stosw
-
- or al,al
-
- jnz L00PWRITE
-
- pop dx
-
- pop ax
-
- pop di
-
- ret
-
- WRI_HEX_DIG EndP
-
- CLASS Proc
-
- mov bx,LINE1
-
- mov es,bx
-
- mov di,22
-
- mov ax,INIT_COLOR
-
- mov cx,29
-
- rep stosw
-
- mov ax,1000h
-
- xor bx,bx
-
- mov dx,1000h
-
- int 10h
-
- ret
-
- CLASS EndP
-
- DEL_ERR_MSG Proc
-
- push cx
-
- push ax
-
- push si
-
- push di
-
- push es
-
- mov di,LINE1-10
-
- mov es,di
-
- mov di,0
-
- xor ax,ax
-
- mov cx,40
-
- rep stosw
-
- pop es
-
- pop di
-
- pop si
-
- pop ax
-
- pop cx
-
- ret
-
- DEL_ERR_MSG EndP
-
- ERROR_MSG Proc
-
- push ax
-
- push esi
-
- push es
-
- push di
-
- dec ISTHEREANERROR
-
- mov di,LINE1-10
-
- mov es,di
-
- mov di,0
-
- mov esi,offset ERROR
-
- cld
-
- ERROR_1_1:
-
- lodsb
-
- mov ah,ERROR_MSG_COLOR
-
- stosw
-
- cmp al,0
-
- jne ERROR_1_1
-
- pop di
-
- pop es
-
- pop esi
-
- pop ax
-
- ret
-
- ERROR_MSG EndP
-
- ASK Proc
-
- STOP_1:
-
- call FLASHNOW
-
- xor ah,ah
-
- int 16h
-
- call DEL_ERR_MSG
-
- cmp al,0dh
-
- jz DONE
-
- cmp al,08h
-
- jz NO_SAVE
-
- cmp ACTUAL_LETTERS,29
-
- jz ERROR_DONE
-
- IS_IT_NUM:
-
- cmp al,39h
-
- jle SAVE
-
- and al,05fh
-
- jmp short SAVE
-
- NO_SAVE:
-
- cmp ACTUAL_LETTERS,0
-
- jz ERROR_DONE
-
- std
-
- push ax
-
- dec di
-
- dec di
-
- mov ax,INIT_COLOR
-
- stosw
-
- inc di
-
- inc di
-
- pop ax
-
- cld
-
- dec ACTUAL_LETTERS
-
- dec ACTUAL_LETTERS
-
- dec REGMEMNAMECNTR
-
- jmp short BLAH
-
- SAVE:
-
- mov ah,NAME_COLOR
-
- stosw
-
- call SAVEINREGMEM
-
- BLAH:
-
- inc ACTUAL_LETTERS
-
- jmp STOP_1
-
- ERROR_DONE:
-
- mov ISTHEREANERROR,1
-
- ret
-
- DONE:
-
- cmp ACTUAL_LETTERS,0
-
- jz ERROR_DONE
-
- cmp ACTUAL_LETTERS,10
-
- jl ERROR_DONE
-
- ret
-
- ASK EndP
-
- FLASHNOW Proc
-
- push ax
-
- push bx
-
- push cx
-
- push dx
-
- mov ax,1010h
-
- xor bh,bh
-
- mov bl,7
-
- mov cl,COLOR
-
- mov dh,COLOR
-
- mov ch,COLOR
-
- REDO:
-
- mov ax,1010h
-
- mov cl,COLOR
-
- mov ch,COLOR
-
- mov dh,COLOR
-
- int 10h
-
- dec COLOR
-
- or cl,cl
-
- jnz QUIT_COLOR
-
- mov COLOR,63
-
- QUIT_COLOR:
-
- pop dx
-
- pop cx
-
- pop bx
-
- pop ax
-
- ret
-
- FLASHNOW EndP
-
- RESET_PAL Proc
-
- mov ax,1010h
-
- xor bh,bh
-
- mov bl,7
-
- mov ch,GREEN
-
- mov cl,BLUE
-
- mov dh,RED
-
- int 10h
-
- ret
-
- RESET_PAL EndP
-
- SAVEINREGMEM Proc
-
- push es
-
- push ax
-
- push di
-
- push ds
-
- pop es
-
- mov edi,offset NAMENOVMEM
-
- add di,REGMEMNAMECNTR
-
- stosb
-
- inc REGMEMNAMECNTR
-
- pop di
-
- pop ax
-
- pop es
-
- ret
-
- SAVEINREGMEM EndP
-
- ENKRYPT Proc
-
- push ax
-
- mov ah,09
-
- push dx
-
- lea dx,SERIAL
-
- int 21h
-
- pop dx
-
- pop ax
-
- xor eax,eax
-
- cld
-
- xor edx,edx
-
- mov ecx,0ah
-
- xor ebx,ebx
-
- mov esi,offset NAMENOVMEM
-
- L00P:
-
- lea ebx,DATA1
-
- lodsb
-
- cmp al,20h
-
- jz L00P
-
- add al,ADDCOUNTER
-
- mov bp,ax
-
- cdq
-
- idiv ecx
-
- movsx eax,[ebx+edx]
-
- add ax,bp
-
- xor edx,edx
-
- cdq
-
- idiv ecx
-
- add dx,30h
-
- push di
-
- lea di,DATA4
-
- add di,DATACOUNT
-
- mov [di],dl
-
- pop di
-
- inc DATACOUNT
-
- inc ADDCOUNTER
-
- cmp ADDCOUNTER,4
-
- jnz L00P
-
- mov DATACOUNT,0
-
- L00P2:
-
- lea ebx,DATA1
-
- lodsb
-
- cmp al,20h
-
- jz L00P2
-
- add al,ADDCOUNTER
-
- mov bp,ax
-
- cdq
-
- idiv ecx
-
- movsx eax,[ebx+edx]
-
- add ax,bp
-
- xor edx,edx
-
- cdq
-
- idiv ecx
-
- add dx,30h
-
- push di
-
- lea di,DATA2
-
- add di,DATACOUNT
-
- mov [di],dl
-
- pop di
-
- inc DATACOUNT
-
- inc ADDCOUNTER
-
- cmp ADDCOUNTER,07
-
- jnz L00P2
-
- mov DATACOUNT,0
-
- L00P3:
-
- lea ebx,DATA1
-
- lodsb
-
- cmp al,20h
-
- jz L00P3
-
- add al,ADDCOUNTER
-
- mov bp,ax
-
- cdq
-
- idiv ecx
-
- movsx eax,[ebx+edx]
-
- add ax,bp
-
- xor edx,edx
-
- cdq
-
- idiv ecx
-
- add dx,30h
-
- push di
-
- lea di,DATA3
-
- add di,DATACOUNT
-
- mov [di],dl
-
- pop di
-
- inc DATACOUNT
-
- inc ADDCOUNTER
-
- cmp ADDCOUNTER,0Bh
-
- jnz L00P3
-
- RETURN:
-
- ret ;value in ecx
-
- ENKRYPT EndP
-
- ALSO Proc
-
- push ax
-
- push esi
-
- push es
-
- push di
-
- mov di,LINE1-10
-
- mov es,di
-
- mov di,0
-
- mov esi,offset ALSO_MSG
-
- cld
-
- ALSO_1_1:
-
- lodsb
-
- mov ah,ERROR_MSG_COLOR
-
- stosw
-
- cmp al,0
-
- jne ALSO_1_1
-
- pop di
-
- pop es
-
- pop esi
-
- pop ax
-
- ret
-
- ALSO EndP
-
- _TEXT ENDS
-
- END INTRO
-
-