2012-09-01 10 views

Odpowiedz

2

System Windows używa formatu Portable Executable.

* nix generalnie używa formatu wykonywalnego i łączonego. Wcześniej niektóre używane SOM, a.out, ECOFF, XCOFF, COFF i kilka innych.

OS X i iOS (i NeXT, wentylatory historii) używają Mach-O.

Systemy PowerPC nadal obsługują format preferowanego formatu, który był używany we wcześniejszych systemach Mac OS oraz niektóre formy BeOS.

Może zacząć http://en.wikipedia.org/wiki/Comparison_of_executable_file_formats

4

Jesteś rację, że plik wykonywalny ma kilka sekcji lub segmenty: Nie wszystkie z nich są jednak kod.

Zwykle jest jeden segment kodu - w ELF i PE jest to zwykle nazywane .text. Dodatkowe nich istnieją do przechowywania danych dynamicznych wiążącą zakodowanego ciągi, tylko do odczytu danych, zmienne globalne, itd

Aby zobaczyć na własne oczy, a nie Wiki i Google, spróbuj ręce:

W Windows: mieć narzędzie o nazwie DUMPBIN.EXE, część visual studio. Jeśli nie możesz tego zdobyć, skorzystaj z Dependency Walker (który można pobrać bezpłatnie). Spowoduje to zanalizowanie plików PE i PE32 + (czyli 64-bitowych):

W systemie Linux: użyj programu objdump -x lub readelf (oba są prawie takie same, choć z nieco innymi opcjami) dla plików ELF.

W komputerze Mac: użyj otool -l, aby wyświetlić komendy ładowania (pokazujące sekcje i segmenty) w plikach Mach-O.

Korzystanie z jednego lub wszystkich narzędzi, mam nadzieję, ułatwi ci pracę.

Nadzieja to pomaga,

TG

Powiązane problemy