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

📄 生成花指令.asm

📁 以前写的一个纯汇编壳
💻 ASM
字号:
.386

cseg	segment use16
	assume cs:cseg,ds:cseg
	org 100h
start:
	jmp begin

f1	db 'aaa',0                  ;源文件名固定为aaa,生成的花指令目标文件名固定为bbb.asm
f2      db 'bbb.asm',0
h1	dw ?
h2	dw ?
buf	db 10000 dup (?)
buf2	db 1000 dup (?)
flag	db 0
count	db 0

begin:
	push cs
	pop ds
	push cs
	pop es
	mov dx,offset f1
	mov ax,3d00h
	int 21h
	jc exit
	mov h1,ax
	mov dx,offset f2
	mov cx,0
	mov ah,3ch
	int 21h
	jc exit
	mov h2,ax
	cld
	mov di,offset buf2
m00:
	mov dx,offset buf
	mov bx,h1
	mov cx,10000
	mov ah,3fh
	int 21h
	mov si,offset buf
	mov cx,ax
	cmp cx,4
	jb m9
	inc cx
m0:
	dec cx
	cmp cx,4
	jb m4
	cmp dword ptr [si],'!!!;'
	jne @f
	not flag	
@@:
	lodsb
	stosb
	cmp al,0ah
	jne m0
	cmp flag,0
	je m3
	mov al,9
	stosb
	mov al,'d'
	stosb
	mov al,'b'
	stosb
	mov al,' '
	stosb
	mov al,'0'
	stosb
	mov al,'e'
	stosb
	mov al,'b'
	stosb
	mov al,'h'
	stosb
	mov al,','
	stosb
	in al,40h
	and al,3
	or al,al
	jnz @f
	inc al
@@:
	mov dl,al
	add al,'0'
	stosb
	mov al,','
	stosb
	mov al,'0'
	stosb
	mov al,'9'
	stosb
	mov al,'a'
	stosb
	mov al,'h'
	stosb
m1:
	dec dl
	jz m2
	mov al,','		
	stosb
	mov al,'0'
	stosb
	in al,40h
;mov al,9h


	and al,0fh
	add al,'0'
	cmp al,'9'
	jbe @f
	add al,7
@@:
	stosb
	in al,40h
;mov al,0ah

	and al,0fh
	add al,'0'
	cmp al,'9'
	jbe @f
	add al,7
@@:
	stosb
	mov al,'h'
	stosb
	jmp m1		
m2:
	mov al,13
	stosb
	mov al,10
	stosb
m3:
	sub di,offset buf2
	push cx
	mov cx,di
	mov bx,h2
	mov dx,offset buf2
	mov ah,40h
	int 21h
	pop cx
	mov di,offset buf2			
	jmp m0
m4:
	jcxz @f
	neg cx
	mov dx,cx
	mov cx,-1
	mov bx,h1
	mov ax,4201h
	int 21h
@@:
	jmp m00

m9:
	push cx
	rep movsb
	mov dx,offset buf2
	pop cx
	mov bx,h2
	mov ah,40h
	int 21h			


	mov bx,h1
	mov ah,3eh
	int 21h
	mov bx,h2
	mov ah,3eh
	int 21h

exit:
	mov ah,4ch
	int 21h

cseg	ends
	end start
								

⌨️ 快捷键说明

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