2009-10-22 20 views
5

Chcę zrobić podstawowy program antywirusowy dla mojego wolnego czasu. Zasadniczo dowiedziałem się o podstawowej strukturze pliku EXE (Windows). Jak wyodrębnić kod ASM z pliku i nagłówka PE?Dekompilacja EXE do ASM

+0

Dlaczego uważasz, że potrzebujesz dezasemblera w programie antywirusowym? – zxcat

+0

Jak wykryję część wirusa? @zxcat jak byś to zrobił? –

Odpowiedz

5

Można zainstalować Cygwin i użyć objdump, aby zdekompilować exe do ASM. Upewnij się, że wybierasz binutils podczas instalacji cygwin. Po zainstalowaniu Cygwin, można uruchomić następujące z powłoki bash:

objdump -Slx yourpgm.exe 
+2

Tak, lub uruchom Linuksa na maszynie wirtualnej i używaj tam programu objdump. Brzmi jak czarny humor;) – zxcat

1

Można użyć trochę wolnego distrubuted disassembler.for przykład: ollydbg diassembler.

uwaga: w nagłówku PE znajduje się tylko kod wykonywalny MS-DOS stub.

+0

"W nagłówku PE znajduje się tylko kod wykonawczy MS-DOS stub". A co, jeśli nie ma? Nigdy nie wiesz, gdzie wirus będzie chciał się ukryć, a nagłówki są również ładowane do pamięci, prawda? –

+0

W rzeczywistości wiem, że wirus może wstrzyknąć kod do nagłówka pe ... – Jichao