Windows Portable Executable formātam ir savas nelielas nianses, tāpēc šeit ir īss ceļvedis par to darbību.

Windows Portable Executable (PE) ir Windows vietējais faila formāts izpildāmajiem failiem un citiem bināro failu tipiem. PE faila formāts ir izstrādāts tā, lai tas būtu neatkarīgs no platformas, tāpēc to var izmantot jebkurā Windows ierīcē darbojas tā pati operētājsistēmas versija un procesora arhitektūra, kurai fails bija paredzēts sastādīts.

Tātad, apskatīsim Windows PE faila formātu un uzzināsim par tā struktūru un sastāvdaļām.

Kas ir Windows portatīvais izpildfails?

Pirms Windows Portable Executable formāta izpētes ir svarīgi noskaidrot pamatinformāciju. Paspersim soli atpakaļ un uzzināsim par Windows PE — COFF pamatjēdzienu.

Kompilējot avota kodu programmā, kompilators ģenerē objekta failu (.obj). Šajā objekta failā ir instrukcijas datoram binārā formātā.

COFF jeb Common Object File Format ir standartizēts konvenciju kopums bināro instrukciju attēlošanai. COFF palīdz uzturēt saderību starp platformām, jo ​​visi COFF failu formāti ievēro vienu un to pašu noteikumu kopumu un konvencijas koda un datu organizēšanai. Lai gan COFF sākotnēji tika izstrādāts lietošanai *NIX sistēmās, tagad tas ir visuresošs visās platformās.

instagram viewer

Windows Portable Executable (PE) faila formāts ir COFF modifikācija un ir izstrādāts, lai to izmantotu tikai 32 bitu un 64 bitu Windows sistēmas. Atšķirībā no COFF, kas nodrošina standartizētu formātu objektu failiem, Windows PE nodrošina standartizētu formātu izpildāmajiem failiem un bibliotēkas failiem.

Tajā ir sadaļas un galvenes, kas sniedz informāciju par attiecīgo izpildāmo failu un palīdz sistēmas ielādētājam pārvaldīt ar izpildāmo failu saistītos datus. PE faila galvenes palīdz sistēmas ielādētājam kartēt failu atmiņā, atrisināt atkarības, piemēram, API eksportēšanu/importēšanu, pārvaldīt resursus un sagatavot failu izpildei.

Linux ir arī savs COFF atkārtojums; to sauc par izpildāmās saites failu vai īsumā par ELF bināro failu. Varat pārbaudīt, vai fails ir ELF vai nē, palaižot faila komanda operētājsistēmā Linux ar faila nosaukumu kā pirmo argumentu.

Windows portatīvā izpildāmā faila struktūra

Portatīvā izpildāmā faila formāts sastāv no vairākiem komponentiem, katram no kuriem ir noteikts mērķis. Šīs sastāvdaļas ietver:

  • Sadaļu galvenes, kas apraksta katras faila sadaļas izkārtojumu un īpašības. Pašas sadaļas, kas satur izpildāmo kodu, datus un resursus.
  • PE galvene, kas sniedz informāciju par faila vispārējo struktūru un prasībām.
  • DOS galvene, kas ietver nelielu programmu, kas darbojas, kad fails tiek izpildīts DOS sistēmā.
  • Visbeidzot, PE sadaļu galvenes, kas apraksta katras sadaļas atrašanās vietu un atribūtus failā.

Kopumā šie komponenti darbojas kopā, lai izveidotu strukturētu formātu, kas ļauj operētājsistēmai pareizi ielādēt, izpildīt un pārvaldīt failā ietverto izpildāmo kodu. Uzzināsim, ko tieši dara katra sastāvdaļa.

DOS galvene

Pirmo PE faila daļu sauc par DOS galveni. Neliels izpildāmā koda daudzums tiek saglabāts DOS galvenē, ko var palaist arī DOS mašīnā.

Šo kodu sauc arī par MS-DOS stub, un to izmanto, lai parādītu kļūdas ziņojumu sistēmās, kas neatbalsta PE failu.

PE galvene

Portable Executable galvene sniedz informāciju par izpildāmo failu, piemēram, cik liels ir fails, kur atrodas dažādas daļas un kādi resursi ir nepieciešami izpildāmajam failam. PE galvenē ir arī informācija par izpildāmā faila veidu, neatkarīgi no tā, vai tas ir a Windows .DLL fails vai .EXE.

Sadaļu galvenes

Sadaļas tiek ieviestas, lai sakārtotu daudzus izpildāmā faila komponentus, piemēram, kodu, datus un resursus, piemēram, teksta virknes, attēlus utt. Sadaļu galvenes ietver informāciju par katras sadaļas lielumu un atrašanās vietu, kā arī visus saistītos karogus.

Ar katru sadaļas galveni saistītie karodziņi var norādīt dažādus sadaļas atribūtus, piemēram, vai tā ir izpildāma, rakstāma vai lasāma. Šie karodziņi palīdz operētājsistēmai pareizi ielādēt un pārvaldīt katras sadaļas saturu programmas izpildes laikā.

Sadaļas

Pašas sadaļas ietver izpildāmā faila reālo kodu, datus un resursus. Katrs segments ir saskaņots ar noteiktu atmiņas robežu, un tam ir savs atribūtu kopums, kas ietekmē to, kā operētājsistēma to apstrādā.

Tagad jūs zināt visu par Windows portatīvo izpildāmā faila formātu

Windows Portable Executable ir spēcīgs un daudzpusīgs faila formāts, ko izmanto, lai izveidotu dažādas Windows lietojumprogrammas un sistēmas komponentus. Izprotot PE faila formāta struktūru, izstrādātāji var izveidot efektīvas lietotnes, kas izmanto Windows atšķirīgās īpašības.

Papildus padziļinātai izpratnei par platformu, kurā jūsu lietotne darbosies, ievērojiet dažas standarta preces izmantojot kodēšanas praksi, jūs varēsit maksimāli palielināt lietojumprogrammas kvalitāti neatkarīgi no platformas, kurā tā tiek darbināta ieslēgts.