2013-05-03 107 views
0

我想製作一個識別惡意軟件的項目。 那麼有可能讀取.exe文件來尋找惡意的部分?如果是的話。是否可以讀取.exe文件?

+3

*「是否可以逐行讀取.exe文件」* EXEs不是文本,因此根本沒有意義。 – 2013-05-03 09:11:15

+3

1)https://en.wikipedia.org/wiki/Antivirus_software#Identification_methods 2)閱讀!=正在執行,所以是(但是程序中的一行是什麼?)3)您將很難制定一個程序來識別惡意軟件。這不簡單。這是一個價值數百萬美元的業務。另一方面,像https://www.virustotal.com/en/這樣的網站會從你那裏獲取一個文件,在主要的反病毒程序中運行它,並詢問它們是否認爲它是病毒 - 如果你不喜歡,不得不檢查很多文件,這是一個很好的解決方案。 – Patashu 2013-05-03 09:11:28

+1

維基百科是你的朋友:http://en.wikipedia.org/wiki/Portable_Executable(也有指向PE規格的指針) – 2013-05-03 09:36:15

回答

3

直到一個exe運行它只是一個二進制文件,所以是的,你可以閱讀它。然而,二進制文件沒有行,它只是一個常量流。

大多數病毒檢查程序在文件中尋找可能是指令或消息的字節模式的地方使用某種形式的模式識別。如果您發現足夠的這些以匹配已知的病毒,那麼您將該文件標記爲有問題。

3

您必須閱讀.EXE文件的二進制和你沒有執行它裏面讀

0

是有可能但不執行

是,一定要閱讀的.exe 。

是有可能通過線

讀取.exe文件行從理論上說,你可以。但我懷疑這就是你想要的。

你可以在字節塊中讀取二進制文件(即.exe)。

0

讀取可執行文件不會執行它。此外,可執行文件是二進制數據流,因此它可能不包含換行符。因此,逐行閱讀是沒有意義的。您需要逐字節讀取。

0

我不確定你的意思是逐行閱讀,你的意思是閱讀真正的代碼。如果是這樣,那麼不完全是。然而,你可以閱讀編譯代碼,使用工具,如hexdumpgdb

hexdump將讓你看看真正的二進制文件。您可以使用多種格式。給予hexdump,您可以讀取二進制文件並設計一個程序來計算內部工作並確定問題。

gdb允許您以更具可讀性的格式查看程序的框架。但是爲了gdb工作,程序必須用調試標誌進行編譯。

然而有另一個程序叫做strace。這顯示了你對程序所做的所有內核調用。但是,這將執行該程序。也許在沙箱中運行可能會有所幫助。

我發明的工具已經編譯完成,可以讓你做一些事情。但是你可以逐字節讀取文件,並確定你的程序認爲是惡意的。

希望這有助於

+0

謝謝。我試過hexdump會有幫助,因爲它允許在文本文件或任何其他格式中查看文件的實際二進制文件。 – user2346177 2013-05-03 15:38:22

0

不,你不能讀取線exe文件行,因爲它是一個二進制文件,也有它沒有臺詞。

相關問題