Format Windows Portable Executable ima svoje majhne nianse, zato je tukaj kratek vodnik o tem, kako delujejo.
Windows Portable Executable (PE) je izvorni format datoteke Windows za izvedljive datoteke in druge binarne vrste datotek. Format datoteke PE je zasnovan tako, da je neodvisen od platforme, zato ga je mogoče uporabljati na katerem koli računalniku Windows z isto različico operacijskega sistema in arhitekturo procesorja, za katero je bila datoteka sestavljeno.
Torej, razčlenimo obliko datoteke Windows PE in spoznajmo njeno strukturo in sestavne dele.
Kaj je prenosna izvršljiva datoteka Windows?
Preden začnete raziskovati obliko Windows Portable Executable, je pomembno, da razčistite osnove. Stopimo korak nazaj in spoznajmo osnovni koncept Windows PE—COFF.
Ko prevedete izvorno kodo v program, prevajalnik ustvari objektno datoteko (.obj). Ta objektna datoteka vsebuje navodila za računalnik v binarni obliki.
COFF ali Common Object File Format je standardiziran niz konvencij za predstavitev binarnih navodil. COFF pomaga pri ohranjanju združljivosti med platformami, saj vsi formati datotek COFF sledijo istemu nizu pravil in konvencij za organiziranje kode in podatkov. Čeprav je bil COFF prvotno razvit za uporabo v sistemih *NIX, je zdaj vseprisoten na vseh platformah.
Format datoteke Windows Portable Executable (PE) je modifikacija COFF in je bil razvit za izključno uporabo na 32-bitni in 64-bitni sistemi Windows. Za razliko od COFF-a, ki zagotavlja standardizirano obliko za objektne datoteke, Windows PE ponuja standardizirano obliko za izvedljive datoteke in knjižnične datoteke.
Vsebuje razdelke in glave, ki zagotavljajo informacije o zadevni izvršljivi datoteki in pomagajo sistemskemu nalagalniku upravljati podatke, povezane z izvršljivo datoteko. Glave v datoteki PE pomagajo sistemskemu nalagalniku preslikati datoteko v pomnilnik, razrešiti odvisnosti, kot so izvozi/uvozi API-ja, upravljati vire in pripraviti datoteko za izvajanje.
Linux ima tudi svojo lastno ponovitev COFF; imenuje se izvršljiva povezovalna datoteka ali na kratko ELF binary. Ali je datoteka ELF ali ne, lahko preverite tako, da zaženete ukaz datoteke v sistemu Linux z imenom datoteke kot prvim argumentom.
Struktura prenosne izvedljive datoteke Windows
Format datoteke Portable Executable je sestavljen iz več komponent, od katerih ima vsaka poseben namen. Te komponente vključujejo:
- Glave odsekov, ki opisujejo postavitev in značilnosti vsakega odseka datoteke Sami odseki, ki vsebujejo izvršljivo kodo, podatke in vire.
- Glava PE, ki zagotavlja informacije o celotni strukturi in zahtevah datoteke.
- Glava DOS, ki vključuje majhen program, ki se zažene, ko se datoteka izvaja v sistemu DOS.
- In končno, glave razdelkov PE, ki opisujejo lokacijo in atribute vsakega razdelka v datoteki.
Na splošno te komponente delujejo skupaj, da ustvarijo strukturirano obliko, ki operacijskemu sistemu omogoča pravilno nalaganje, izvajanje in upravljanje izvršljive kode v datoteki. Naučimo se, kaj natančno počne vsaka komponenta.
Glava DOS
Prvi del datoteke PE se imenuje glava DOS. Majhna količina izvršljive kode je shranjena v glavi DOS, ki jo je mogoče izvajati tudi na računalniku DOS.
Ta koda se imenuje tudi škrbina MS-DOS in se uporablja za pošiljanje sporočila o napaki v sistemih, ki ne podpirajo datoteke PE.
PE glava
Glava Portable Executable daje informacije o izvedljivi datoteki, na primer, kako velika je datoteka, kje se nahajajo različni deli in katere vire potrebuje izvršljiva datoteka. Glava PE ima tudi informacije o vrsti izvedljive datoteke, ali gre za a Windows datoteka .DLL ali .EXE.
Glave razdelkov
Odseki so implementirani za organiziranje številnih komponent izvršljive datoteke, kot so koda, podatki in viri, kot so besedilni nizi, slike itd. Glave odsekov vključujejo informacije o velikosti in lokaciji vsakega odseka ter vse povezane zastavice.
Zastavice, povezane z vsako glavo odseka, lahko označujejo različne atribute odseka, na primer, ali je izvršljiv, zapisljiv ali berljiv. Te zastavice pomagajo operacijskemu sistemu pravilno naložiti in upravljati vsebino vsakega razdelka med izvajanjem programa.
Oddelki
Sami razdelki vsebujejo pravo kodo, podatke in vire izvedljive datoteke. Vsak segment je poravnan z določeno mejo pomnilnika in ima svoj niz atributov, ki vplivajo na to, kako ga operacijski sistem obravnava.
Zdaj veste vse o formatu prenosne datoteke Windows Portable
Windows Portable Executable je robusten in vsestranski format datoteke, ki se uporablja za izdelavo najrazličnejših aplikacij Windows in sistemskih komponent. Z razumevanjem strukture formata datoteke PE lahko razvijalci izdelajo učinkovite aplikacije, ki izkoriščajo značilne značilnosti sistema Windows.
Poleg poglobljenega razumevanja platforme, na kateri se bo izvajala vaša aplikacija, z upoštevanjem nekaj standardnih dobrih praks kodiranja, boste lahko povečali kakovost aplikacije ne glede na platformo, ki jo izvaja na.