當前位置:首頁 » 編程軟體 » 打病毒編程

打病毒編程

發布時間: 2022-02-09 04:48:37

❶ 用編程工具打開病毒(exe)會中毒嗎

只要沒有運行 那就沒事!

exe是 經過編譯的可執行文件
通常 用反匯編和跟蹤的手段 對其進行分析

常用的工具有:wdasm debug 加一些脫殼工具

得到的是 匯編程序 而且還需要一定的 整理後才適合觀察

如果是初學者 建議手頭備上《匯編語言教程》、 《微機介面》

如果是 win32 病毒 再加上《Windows環境下32位匯編語言程序設計》

呵呵 有你忙的了!

以上是我的經驗 絕無抄襲

❷ 簡單的病毒編程代碼是什麼

編寫的計算機程序代碼統稱為惡意代碼。惡意代碼定義一:惡意代碼又稱惡意軟體。

首先,病毒要有感染機制,即它能夠實現繁殖自身。其次,病毒要有有效載荷觸發事件,即病毒要找到一定數量的感染體、或者某一日期、或者在碰到某一段文本後才能發作。

所謂的病毒代碼其實可以想像成是犯人的指紋, 當防毒軟體公司收集到一隻新的病毒時, 他們就會從這個病毒程序中截取一小段獨一無二而且足以表示這只病毒的二進位程序碼 (Binary Code) , 來當做殺毒程序辨認此病毒的依據。

而這段獨一無二的二進位程序碼就是所謂的病毒代碼。病毒代碼它可以把計算機程序打亂,使計算機無法正常使用。

❸ 簡單的病毒編程代碼

摘要 繞過殺毒軟體防禦:

❹ 病毒編程

c語言和 windows api 看完c語言,再看 windows 程序設計第五版

打好基礎,逐步了解更多的系統API, 熟悉鉤子(hook)編程

要想執行效率和把病毒寫的更小巧,最後要學匯編~~~

❺ 怎樣編寫程序來殺滅病毒

我給你做個專殺威金病毒的

在桌面上單擊滑鼠右鍵,選擇新建一個「記事本」,把下面部分復制進去,點「另存為」,把文件名定為「 威金病毒批處理專殺.bat 」就完成,記住後綴名一定要是.bat,然後把它移到一個您想要保存的目錄,OK了!

@ECHO OFF
del c:\winnt\logo1_.exe
del c:\windows\logo1_.exe
del c:\winnt\0sy.exe
del c:\windows\0sy.exe
del c:\winnt\1sy.exe
del c:\windows\1sy.exe
del c:\winnt\2sy.exe
del c:\windows\2sy.exe
del c:\winnt\3sy.exe
del c:\windows\3sy.exe
del c:\winnt\4sy.exe
del c:\windows\4sy.exe
del c:\winnt\5sy.exe
del c:\windows\5sy.exe
del c:\winnt\6sy.exe
del c:\windows\6sy.exe
del c:\winnt\7sy.exe
del c:\windows\7sy.exe
del c:\winnt\8sy.exe
del c:\windows\8sy.exe
del c:\winnt\9sy.exe
del c:\windows\9sy.exe
del c:\winnt\rundl132.exe
del c:\windows\rundl132.exe
net share c$ /d
net share d$ /d
net share e$ /d
net share F$ /d
net share G$ /d
net share h$ /d
net share i$ /d
net share j$ /d
net share admin$ /d
net share ipc$ /d
del c:\winnt\logo1_.exe
del c:\windows\logo1_.exe
del c:\windows\vdll.dll
del c:\winnt\vdll.dll
del c:\windows\tdll.dll
del c:\winnt\tdll.dll
del c:\windows\dll.dll
del c:\winnt\dll.dll
del c:\winnt\kill.exe
del c:\windows\kill.exe
del c:\winnt\sws32.dll
del c:\windows\sws32.dll
del c:\winnt\rundl132.exe
del c:\windows\rundl132.exe
echo.
echo.
echo.
echo. *****************************
echo.
echo. 正在為您查毒...請不要關閉......
echo.
echo. *****************************
echo.
echo.
echo.
echo.
ping 127.0.0.1 -n 5
del c:\winnt\logo1_.exe
del c:\windows\logo1_.exe
del c:\windows\vdll.dll
del c:\winnt\vdll.dll
del c:\windows\dll.dll
del c:\winnt\dll.dll
del c:\windows\tdll.dll
del c:\winnt\tdll.dll
del c:\winnt\kill.exe
del c:\windows\kill.exe
del c:\winnt\sws32.dll
del c:\windows\sws32.dll
del c:\winnt\rundl132.exe
del c:\windows\rundl132.exe
echo.
echo.
echo.
echo. *****************************
echo.
echo. 正在為您查毒...請不要關閉......
echo.
echo. *****************************
echo.
echo.
echo.
echo.
ping 127.0.0.1 -n 5
del c:\winnt\logo1_.exe
del c:\windows\logo1_.exe
del c:\windows\vdll.dll
del c:\winnt\vdll.dll
del c:\windows\dll.dll
del c:\winnt\dll.dll
del c:\windows\tdll.dll
del c:\winnt\tdll.dll
del c:\winnt\kill.exe
del c:\windows\kill.exe
del c:\winnt\sws32.dll
del c:\windows\sws32.dll
del c:\windows\0sy.exe
del c:\winnt\1sy.exe
del c:\windows\1sy.exe
del c:\winnt\2sy.exe
del c:\windows\2sy.exe
del c:\winnt\3sy.exe
del c:\windows\3sy.exe
del c:\winnt\4sy.exe
del c:\windows\4sy.exe
del c:\winnt\5sy.exe
del c:\windows\5sy.exe
del c:\winnt\6sy.exe
del c:\windows\6sy.exe
del c:\winnt\7sy.exe
del c:\windows\7sy.exe
del c:\winnt\8sy.exe
del c:\windows\8sy.exe
del c:\winnt\9sy.exe
del c:\windows\9sy.exe
del c:\winnt\rundl132.exe
del c:\windows\rundl132.exe
del C:\winnt\Logo1_.exe
del C:\winnt\rundl132.exe
del C:\winnt\bootconf.exe
del C:\winnt\kill.exe
del C:\winnt\sws32.dll
del C:\winnt\dll.dll
del C:\winnt\vdll.dll
del c:\winnt\tdll.dll
del C:\winnt\system32\ShellExt\svchs0t.exe
del C:\Program Files\Internet Explorer\0SY.exe
del C:\Program Files\Internet Explorer\1SY.exe
del C:\Program Files\Internet Explorer\2sy.exe
del C:\Program Files\Internet Explorer\3sy.exe
del C:\Program Files\Internet Explorer\4sy.exe
del C:\Program Files\Internet Explorer\5sy.exe
del C:\Program Files\Internet Explorer\6SY.exe
del C:\Program Files\Internet Explorer\7sy.exe
del C:\Program Files\Internet Explorer\8sy.exe
del C:\Program Files\Internet Explorer\9sy.exe
del C:\winnt\system32\Logo1_.exe
del C:\winnt\system32\rundl132.exe
del C:\winnt\system32\bootconf.exe
del C:\winnt\system32\kill.exe
del C:\winnt\system32\sws32.dll
del C:\windows\Logo1_.exe
del C:\windows\rundl132.exe
del C:\windows\bootconf.exe
del C:\windows\kill.exe
del C:\windows\sws32.dll
del C:\windows\dll.dll
del C:\windows\vdll.dll
del c:\windows\tdll.dll
del C:\windows\system32\ShellExt\svchs0t.exe
del C:\windows\system32\Logo1_.exe
del C:\windows\system32\rundl132.exe
del C:\windows\system32\bootconf.exe
del C:\windows\system32\kill.exe
del C:\windows\system32\sws32.dll
del c:\_desktop.ini /f/s/q/a
del d:\_desktop.ini /f/s/q/a
del e:\_desktop.ini /f/s/q/a
del f:\_desktop.ini /f/s/q/a
del g:\_desktop.ini /f/s/q/a
del h:\_desktop.ini /f/s/q/a
del i:\_desktop.ini /f/s/q/a
del j:\_desktop.ini /f/s/q/a
del k:\_desktop.ini /f/s/q/a

❻ 病毒,木馬一般用什麼語言(編程)編成的

什麼語言都可以,比如熊貓燒香就是用delphi編出來的

❼ 病毒編寫教程

《黑客X檔案》的系列叢書不錯,有各個方面的,像《黑客編程入門》,《黑客腳本攻擊》《黑客免殺入門》都是不錯的,而且都帶光碟,《傻瓜黑客》更是適合新手。

❽ 怎麼編程病毒

摟主`你多C語言懂多少呀?通常只要在病毒代碼的開始計算出delta offset,通過變址定址的方式書寫引用數據的匯編代碼,即可保證病毒代碼在運行時被正確重定位。假設ebp 包含了delta offset,使用如下變址定址指令則可保證在運行時引用的數據地址是正確的:

;ebp 包含了delta offset 值
401000:
mov eax,dword ptr [ebp+0x402035]
......
402035:
db "hello world!",0
在書寫源程序時可以採用符號來代替硬編碼的地址值,上述的例子中給出的不過是編譯器對符號進行地址替換後的結果。現在的問題就轉換成如何獲取delta offset的值了,顯然:

call delta
delta:
pop ebp
sub ebp,offset delta
在運行時就動態計算出了delta offset 值,因為call要將其後的第一條指令的地址壓入堆棧,因此pop ebp 執行完畢後ebp 中就是delta的運行時地址,減去delta的編譯時地址「offset delta」就得到了delta offset 的值。除了用明顯的call 指令外,還可以使用不那麼明顯的fstenv、fsave、fxsave、fnstenv等浮點環境保存指令進行,這些指令也都可以獲取某條指令的運行時地址。以fnstenv 為例,該指令將最後執行的一條FPU 指令相關的協處理器的信息保存在指定的內存中fpu_addr:
fnop
call GetPhAddr
sub ebp,fpu_addr
GetPhAddr:
sub esp,16
fnstenv [esp-12]
pop ebp
add esp,12
ret
delta offset 也不一定非要放在ebp 中,只不過是ebp 作為棧幀指針一般過程都不將該寄存器用於其它用途,因此大部分病毒作者都習慣於將delta offset 保存在ebp 中,其實用其他寄存器也完全可以。

在優化過的病毒代碼中並不經常直接使用上述直接計算delta offset 的代碼,比如在Elkern開頭寫成了類似如下的代碼:

call _start_ip
_start_ip:
pop ebp
;...
;使用
call [ebp+addrOpenProcess-_start_ip]
;...
addrOpenProcess dd 0
;而不是
call _start_ip
_start_ip:
pop ebp
sub ebp,_start_ip
call [ebp+addrOpenProcess]
為什麼不採用第二種書寫代碼的方式?其原因在於盡管第一種格式在書寫源碼時顯得比較羅嗦, 但是addrOpenProcess-_start_ip 是一個較小相對偏移值,一般不超過兩個位元組,因此生成的指令較短,而addrOpenProcess在32 Win32編譯環境下一般是4 個位元組的地址值,生成的指令也就較長。有時對病毒對大小要求很苛刻,更多時候也是為了顯示其超俗的編程技巧,病毒作者大量採用這種優化,對這種優化原理感興趣的讀者請參閱Intel手冊卷2中的指令格式說明。

API 函數地址的獲取

在能夠正確重定位之後,病毒就可以運行自己代碼了。但是這還遠遠不夠,要搜索文件、讀寫文件、進行進程枚舉等操作總不能在有Win32 API 的情況下自己用匯編完全重新實現一套吧,那樣的編碼量過大而且兼容性很差。

Win9X/NT/2000/XP/2003系統都實現了同一套在各個不同的版本上都高度兼容的Win32 API,因此調用系統提供的Win32 API實現各種功能對病毒而言就是自然而然的事情了。所以接下來要解決的問題就是如何動態獲取Win32 API的地址。最早的PE病毒採用的是預編碼的方法,比如Windows 2000 中CreateFileA 的地址是0x7EE63260,那麼就在病毒代碼中使用call [7EE63260h]調用該API,但問題是不同的Windows 版本之間該API 的地址並不完全相同,使用該方法的病毒可能只能在Windows 2000的某個版本上運行。

因此病毒作者自然而然地回到PE結構上來探求解決方法,我們知道系統載入PE 文件的時候,可以將其引入的特定DLL 中函數的運行時地址填入PE的引入函數表中,那麼系統是如何為PE引入表填入正確的函數地址的呢?答案是系統解析引入DLL 的導出函數表,然後根據名字或序號搜索到相應引出函數的的RVA(相對虛擬地址),然後再和模塊在內存中的實際載入地址相加,就可以得到API 函數的運行時真正地址。在研究操作系統是如何實現動態PE文件鏈接的過程中,病毒作者找到了以下兩種解決方案:

A)在感染PE 文件的時候,可以搜索宿主的函數引入表的相關地址,如果發現要使用的函數已經被引入,則將對該API 的調用指向該引入表函數地址,若未引入,則修改引入表增加該函數的引入表項,並將對該API 的調用指向新增加的引入函數地址。這樣在宿主程序啟動的時候,系統載入器已經把正確的API 函數地址填好了,病毒代碼即可正確地直接調用該函數。

B)系統可以解析DLL 的導出表,自然病毒也可以通過這種手段從DLL 中獲取所需要的API地址。要在運行時解析搜索DLL 的導出表,必須首先獲取DLL 在內存中的真實載入地址,只有這樣才能解析從PE 的頭部信息中找到導出表的位置。應該首先解析哪個DLL 呢?我們知道Kernel32.DLL幾乎在所有的Win32 進程中都要被載入,其中包含了大部分常用的API,特別是其中的LoadLibrary 和GetProcAddress 兩個API可以獲取任意DLL 中導出的任意函數,在迄今為止的所有Windows 平台上都是如此。只要獲取了Kernel32.DLL在進程中載入的基址,然後解析Kernel32.DLL 的導出表獲取常用的API 地址,如需要可進一步使用Kernel32.DLL 中的LoadLibrary 和GetProcAddress 兩個API 更簡單地獲取任意其他DLL 中導出函數的地址並進行調用。

❾ 編病毒最好用什麼編程軟體

C++可以說是專業做病毒的軟體,做起病毒來也比較容易,但是也蠻難學的!!!

❿ 計算機病毒編程

一般編寫出來的都不是最厲害的~而是通過傳播~感染~之後的變異再變異才是最猛的。

熱點內容
雲列印伺服器硬體 發布:2025-01-11 07:44:56 瀏覽:768
怎麼在手機上更改wifi密碼 發布:2025-01-11 07:37:26 瀏覽:336
開機啟動serviceandroid 發布:2025-01-11 07:35:24 瀏覽:523
天龍八部腳本設置自動喊話 發布:2025-01-11 07:31:37 瀏覽:310
硒標准溶液配置為什麼要加鹽酸 發布:2025-01-11 07:27:51 瀏覽:253
怎麼做電腦編程 發布:2025-01-11 07:14:36 瀏覽:481
壓縮圓環 發布:2025-01-11 06:41:37 瀏覽:512
安卓背面是什麼字母 發布:2025-01-11 06:37:55 瀏覽:215
個人小程序怎麼購買雲伺服器 發布:2025-01-11 06:33:08 瀏覽:912
手機mc怎麼玩伺服器國際服 發布:2025-01-11 06:18:33 瀏覽:160