Format Windows Portable Executable ima svoje male nijanse, pa evo kratkog vodiča kako funkcioniraju.

Windows Portable Executable (PE) izvorni je Windows format datoteke za izvršne datoteke i druge vrste binarnih datoteka. PE format datoteke je dizajniran da bude neovisan o platformi, tako da se može koristiti na bilo kojem Windows računalu pokreće istu verziju operativnog sustava i arhitekturu procesora za koju je bila datoteka sastavljen.

Dakle, analizirajmo Windows PE format datoteke i naučimo o njegovoj strukturi i sastavnim komponentama.

Što je Windows prijenosna izvršna datoteka?

Prije nego što istražite format Windows Portable Executable, važno je raščistiti osnove. Vratimo se korak unatrag i naučimo o temeljnom konceptu Windows PE—COFF.

Kada prevedete izvorni kod u program, prevodilac generira objektnu datoteku (.obj). Ova objektna datoteka sadrži upute za računalo u binarnom formatu.

COFF ili Common Object File Format je standardizirani skup konvencija za predstavljanje binarnih instrukcija. COFF pomaže u održavanju kompatibilnosti s više platformi jer svi COFF formati datoteka slijede isti skup pravila i konvencija za organiziranje koda i podataka. Iako je COFF izvorno razvijen za korištenje na *NIX sustavima, sada je sveprisutan na svim platformama.

instagram viewer

Format datoteke Windows Portable Executable (PE) modifikacija je COFF-a i razvijen je za upotrebu isključivo na 32-bitni i 64-bitni Windows sustavi. Za razliku od COFF-a, koji pruža standardizirani format za objektne datoteke, Windows PE pruža standardizirani format za izvršne datoteke i datoteke knjižnice.

Sadrži odjeljke i zaglavlja koji pružaju informacije o dotičnoj izvršnoj datoteci i pomažu učitavaču sustava upravljati podacima koji se odnose na izvršnu datoteku. Zaglavlja u PE datoteci pomažu učitavaču sustava mapirati datoteku u memoriju, razriješiti ovisnosti poput izvoza/uvoza API-ja, upravljati resursima i pripremiti datoteku za izvođenje.

Linux također ima vlastitu iteraciju COFF-a; zove se Executable Link File ili ukratko, ELF binary. Možete provjeriti je li datoteka ELF ili nije pokretanjem naredba datoteke na Linuxu s imenom datoteke kao prvim argumentom.

Struktura Windows prijenosne izvršne datoteke

Format prijenosne izvršne datoteke sastoji se od nekoliko komponenti, od kojih svaka ima određenu svrhu. Ove komponente uključuju:

  • Zaglavlja odjeljaka, koja opisuju izgled i karakteristike svakog odjeljka datoteke Sami odjeljci, koji sadrže izvršni kod, podatke i resurse.
  • PE zaglavlje, koje pruža informacije o ukupnoj strukturi i zahtjevima datoteke.
  • DOS zaglavlje, koje uključuje mali program koji se pokreće kada se datoteka izvrši na DOS sustavu.
  • I na kraju, PE zaglavlja sekcija, koja opisuju lokaciju i atribute svake sekcije unutar datoteke.

Sve u svemu, ove komponente rade zajedno kako bi stvorile strukturirani format koji operativnom sustavu omogućuje ispravno učitavanje, izvršavanje i upravljanje izvršnim kodom sadržanim u datoteci. Naučimo točno što svaka komponenta radi.

DOS zaglavlje

Prvi dio PE datoteke naziva se DOS zaglavlje. Mala količina izvršnog koda pohranjena je u DOS zaglavlju koje se također može pokrenuti na DOS stroju.

Ovaj kod se također naziva MS-DOS stub i koristi se za izbacivanje poruke o pogrešci na sustavima koji ne podržavaju PE datoteku.

PE zaglavlje

Zaglavlje Portable Executable daje informacije o izvršnoj datoteci, poput veličine datoteke, gdje se nalaze različiti dijelovi i koji su resursi potrebni izvršnoj datoteci. PE zaglavlje također ima informacije o vrsti izvršne datoteke, je li to a Windows .DLL datoteka ili .EXE.

Zaglavlja odjeljaka

Odjeljci su implementirani za organiziranje mnogih komponenti izvršne datoteke kao što su kod, podaci i resursi poput tekstualnih nizova, slika itd. Zaglavlja odjeljaka uključuju informacije o veličini i lokaciji svakog odjeljka, kao i sve povezane oznake.

Zastavice pridružene svakom zaglavlju odjeljka mogu označavati različite atribute odjeljka, kao što je to je li izvršn, pisan ili čitljiv. Ove oznake pomažu operativnom sustavu da ispravno učita i upravlja sadržajem svakog odjeljka tijekom izvođenja programa.

Sekcije

Sami odjeljci sadržavaju pravi kod, podatke i resurse izvršne datoteke. Svaki segment je usklađen s određenom granicom memorije i ima vlastiti skup atributa koji utječu na to kako operativni sustav njime rukuje.

Sada znate sve o Windows prijenosnom formatu izvršne datoteke

Windows Portable Executable robustan je i svestran format datoteke koji se koristi za izradu širokog spektra Windows aplikacija i komponenti sustava. Razumijevanjem strukture PE formata datoteke, programeri mogu konstruirati učinkovite aplikacije koje iskorištavaju karakteristične karakteristike sustava Windows.

Osim stjecanja dubinskog razumijevanja platforme na kojoj će vaša aplikacija raditi, slijedeći nekoliko standardnih dobrih prakse kodiranja, moći ćete maksimalno povećati kvalitetu aplikacije bez obzira na platformu koju pokreće na.