那个新欢乐时光病毒好象就是这样,一打开一个文件夹就会自动生成两个文件,那种自我复制是怎么通过编程实现的呢?另外,有些病毒将恶意代码粘贴到可执行文件里面。这又是如何实现的呢?最好给我一个源程序参考一下--Delphi,C,Asm

解决方案 »

  1.   

    先做个标记,我也一直想知道这个问题。不过我这里有一个病毒程序源代码,也可以实现你说的那些功能。用C和ASM写的,我看不懂,你要的话我给你发过去。
      

  2.   

    去看Delphi中流的使用吧,很容易实现的
      

  3.   

    自我复制 其实很简单! 你一你在你的代码中可以加入像createfile(),copyfile()这样的代码就可以复制(想复制到哪里就可以到哪里),
    用TFileStream 你可以把你想要的代码加到任何文件(你要有写的权限)的任何位置;因为TFileStream 可以精确定位文件的字节流位置;
      

  4.   

    我刚学过,你试一下:
    procedure TForm1.FormCreate(Sender: TObject);
    var
      s:Pchar;
    begin
      s:= Pchar(Application.ExeName);
      copyfile(s, 'c:\a.exe', true);
    end;
    一起看一下吧!
      

  5.   

    procedure TFORM1.FORMCreate(Sender: TObject); 
    var myname: string; 
    begin 
    myname := ExtractFilename(Application.Exename); //获得文件名 
    if application.Exename < > GetWindir + myname then //如果文件不是在Windows\System\那么.. 
    begin 
    copyfile(pchar(application.Exename), pchar(GetWindir + myname), False);{将自己拷贝到Windows\System\下} 
    Winexec(pchar(GetWindir + myname), sw_hide);//运行Windows\System\下的新文件 
    application.Terminate;//退出 
    end; 
    end; 
      

  6.   

    同意 zhenpengka(小鸟笨笨)
     
      

  7.   

    这儿有一篇文章,与你的要求应该紧密相关吧,由于时间关系小弟就不多说了,自己看看吧,
    <<浅谈用delphi来编写蠕虫病毒(part Ⅰ)>>
    首先声明坚决反对大家编写病毒程序,引用这个文章只是为了解决问题研究技术之用,不能用作非法用途喔,http://www.xfocus.net/articles/200202/353.html
    是用delphi开发的,没有完整代码,但有一个小例子可以供研究研究哈,祝大家能技术进步哈,也祝小弟自己在高考之后争取上星喔(唉,我才只有一个小三角形而已,唉,革命尚未成功,同志仍需努力啊)
    大家多多给分哈
      

  8.   

    http://www.xfocus.net/articles/200202/353.html
    这篇文章讲的不错,看看
      

  9.   

    想把你自己的代码粘到别的可执行文件中去。呵呵,这可不是直接搬过去就OK的。
    因为windows下的可执行文件运行时涉及的东西很多。像什么内存定位,还有引用的函数、资源什么的,都在文件头中。你直接把代码弄过去,但引用的一些api函数(一般的程序都会或多或少的引用)在新的文件头中不定有,它就执行不了了。当然肯定有方法可以实现,这我也不清楚。像有些病毒,比如FunLove它就像自己的代码插入到其它可执行文件中。还有像exe压缩文件,比如aspack,upx等,他们可以将自己的一段解压缩代码行执行,再在内存中还原原来的,解压后可以再继续执行原来的文件。
      

  10.   

    使用资源保存另外的程序或病毒感染Exe
    这个很有难度的,会的人大多数不愿意公开的