Parser pentru fișiere executabile Windows – Portable Executable Files (MZ -PE) [631976]
Parser pentru fișiere executabile Windows – Portable Executable Files (MZ -PE)
Să se scrie un program care să parseze un executabil Windows în format MZ -PE, și să afișeze diverse informații
utile din s tructura și conținutul acestuia.
Aplicația p rimește cel puțin un argument pozițional (obl igatoriu) din linia de comandă, path -ul fișierului MZ -PE
pe care să îl parseze . În plus puteți introduce alte argumente opțional e.
Pentru accesul la conținutul fișierului se vor folosi obiecte de tip File Mapping din Win32 API.
Se va folosi un stil de programare defensiv pentru a mări robustețea aplicației în fața acțiunilor impre dictibile
ale utilizatorilor și a interacțiunii incorecte dintre componentele programului .
Programul trebuie să afi șeze următoarele informații:
1. Informații din header -ele de fișier:
File Header:
Machine
NumberOfSections
Characteristics
Optional Header:
AddressOfEntryPoint
ImageBase
SectionAlignment
FileAlignment
Subsystem
NumberOfRvaAndSizes 2. Informații din header -ele de secțiuni:
Name
Address
Size
3. Lista funcțiilor exportate, dacă există.
Name
Ordinal
Address
4. Lista funcțiilor importate, per modul.
Name
Reguli generale de afișare a informațiilor:
Adrese le se afișează în baza 16 – RVA (Relative Virtual Address ) și FA (File Alignment )
Flag-urile și Enumerări le se afișează în b aza 16 și cu nume textual – pentru cele mai relevante
Alte valori numberice se afișează în b aza 10.
Structuri folosite:
IMAGE_DOS_HEADER
IMAGE_NT_HEADERS
IMAGE_FILE_HEADER
IMAGE_OPTIONAL_HEADER
IMAGE_SECTION_HEADER
IMAGE_DATA_DIRECTORY
IMAGE_EXPORT_DIRECTORY
IMAGE_IMPORT_DESCRIPTOR etc.
Observații
NU se vor folosi funcții Win32 API pentru parsarea fișierului , precum ImageNtHeader, ImageRvaToVa,
etc. Funcții echivalente pot fi implementate, dacă este nevoie.
Pentru verifica rea informațiilor afișate, se pot compara valorile cu cele furnizate de tool-ul gratuit CFF
Explorer (h ttp://www.ntcore.com/exsuite.php).
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Parser pentru fișiere executabile Windows – Portable Executable Files (MZ -PE) [631976] (ID: 631976)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
