Windows Portable Executable -muodossa on omat pienet vivahteet, joten tässä on lyhyt opas niiden toiminnasta.

Windows Portable Executable (PE) on Windowsin alkuperäinen tiedostomuoto suoritettaville tiedostoille ja muille binääritiedostotyypeille. PE-tiedostomuoto on suunniteltu alustasta riippumattomaksi, joten sitä voidaan käyttää missä tahansa Windows-koneessa käyttää samaa käyttöjärjestelmän versiota ja prosessoriarkkitehtuuria, jolle tiedosto oli koottu.

Joten, tarkastellaan Windows PE -tiedostomuotoa ja opitaan sen rakenteesta ja komponenteista.

Mikä on Windows Portable -suoritettava tiedosto?

Ennen kuin tutkit Windows Portable Executable -muotoa, on tärkeää selvittää perusasiat. Otetaan askel taaksepäin ja opitaan Windows PE—COFF: n taustalla olevasta konseptista.

Kun käännät lähdekoodin ohjelmaan, kääntäjä luo objektitiedoston (.obj). Tämä objektitiedosto sisältää ohjeet tietokoneelle binäärimuodossa.

COFF tai Common Object File Format on standardisoitu käytäntö binäärikäskyjen esittämiseksi. COFF auttaa ylläpitämään alustojen välistä yhteensopivuutta, koska kaikki COFF-tiedostomuodot noudattavat samoja sääntöjä ja käytäntöjä koodin ja tietojen järjestämisessä. Vaikka COFF kehitettiin alun perin käytettäväksi *NIX-järjestelmissä, se on nyt kaikkialla kaikilla alustoilla.

instagram viewer

Windows Portable Executable (PE) -tiedostomuoto on COFF-versio, ja se on kehitetty käytettäväksi yksinomaan 32- ja 64-bittiset Windows-järjestelmät. Toisin kuin COFF, joka tarjoaa standardoidun muodon objektitiedostoille, Windows PE tarjoaa standardoidun muodon suoritettaville tiedostoille ja kirjastotiedostoille.

Se sisältää osioita ja otsikoita, jotka tarjoavat tietoa kyseisestä suoritettavasta tiedostosta ja auttavat järjestelmän latausohjelmaa hallitsemaan suoritettavaan tiedostoon liittyviä tietoja. PE-tiedoston otsikot auttavat järjestelmän lataajaa yhdistämään tiedoston muistiin, ratkaisemaan riippuvuuksia, kuten API-vientejä/tuonteja, hallitsemaan resursseja ja valmistelemaan tiedoston suoritusta varten.

Linuxissa on myös oma iteraatio COFF: sta; sitä kutsutaan suoritettavaksi linkkitiedostoksi tai lyhyesti sanottuna ELF-binääriksi. Voit tarkistaa, onko tiedosto ELF vai ei, suorittamalla tiedostokomento Linuxissa tiedostonimi ensimmäisenä argumenttina.

Kannettavan Windows-suoritettavan tiedoston rakenne

Portable Executable -tiedostomuoto koostuu useista osista, joista jokaisella on tietty tarkoitus. Näitä komponentteja ovat:

  • Osion otsikot, jotka kuvaavat tiedoston kunkin osan asettelua ja ominaisuuksia Itse osiot, jotka sisältävät suoritettavaa koodia, dataa ja resursseja.
  • PE-otsikko, joka tarjoaa tietoa tiedoston yleisestä rakenteesta ja vaatimuksista.
  • DOS-otsikko, joka sisältää pienen ohjelman, joka suoritetaan, kun tiedosto suoritetaan DOS-järjestelmässä.
  • Ja lopuksi PE-osion otsikot, jotka kuvaavat kunkin osion sijaintia ja määritteitä tiedostossa.

Kaiken kaikkiaan nämä komponentit toimivat yhdessä luoden jäsennellyn muodon, jonka avulla käyttöjärjestelmä voi ladata, suorittaa ja hallita tiedoston sisältämää suoritettavaa koodia oikein. Opitaan tarkalleen, mitä kukin komponentti tekee.

DOS-otsikko

PE-tiedoston ensimmäistä osaa kutsutaan DOS-otsikoksi. Pieni määrä suoritettavaa koodia on tallennettu DOS-otsikkoon, jota voidaan myös ajaa DOS-koneella.

Tätä koodia kutsutaan myös MS-DOS-tyypiksi, ja sitä käytetään virheilmoituksen lähettämiseen järjestelmiin, jotka eivät tue PE-tiedostoa.

PE-otsikko

Portable Executable -otsikko antaa tietoja suoritettavasta tiedostosta, kuten kuinka suuri tiedosto on, missä eri osat sijaitsevat ja mitä resursseja suoritettava tiedosto tarvitsee. PE-otsikossa on myös tietoa suoritettavan tiedoston tyypistä, onko se a Windowsin .DLL-tiedosto tai .EXE.

Osion otsikot

Osat on toteutettu järjestämään suoritettavan tiedoston monet komponentit, kuten koodi, tiedot ja resurssit, kuten tekstijonot, kuvat jne. Osion otsikot sisältävät tietoja kunkin osion koosta ja sijainnista sekä mahdollisista niihin liittyvistä lipuista.

Jokaiseen osion otsikkoon liittyvät liput voivat osoittaa osan eri attribuutteja, kuten sen, onko se suoritettava, kirjoitettava vai luettavissa. Nämä liput auttavat käyttöjärjestelmää lataamaan ja hallitsemaan kunkin osan sisältöä oikein ohjelman suorittamisen aikana.

Osat

Itse osiot sisältävät suoritettavan tiedoston oikean koodin, tiedot ja resurssit. Jokainen segmentti on kohdistettu tiettyyn muistirajaan, ja sillä on omat attribuuttinsa, jotka vaikuttavat siihen, miten käyttöjärjestelmä käsittelee sitä.

Nyt tiedät kaiken Windowsin kannettavasta suoritettavasta tiedostomuodosta

Windows Portable Executable on vankka ja monipuolinen tiedostomuoto, jota käytetään useiden Windows-sovellusten ja järjestelmäkomponenttien tuottamiseen. Ymmärtämällä PE-tiedostomuodon rakenteen kehittäjät voivat rakentaa tehokkaita sovelluksia, jotka hyödyntävät Windowsin ominaispiirteitä.

Sen lisäksi, että hankit perusteellisen ymmärryksen alustasta, jolla sovelluksesi toimii, seuraamalla muutamaa standardia koodauskäytännöt, pystyt maksimoimaan sovelluksen laadun riippumatta siitä, millä alustalla sitä käytetään päällä.