Asta înseamnă că un fișier PE?
PE - un acronim pentru Portable executabilă, portabile (universal) fișier executabil =) Acest format a apărut în ultimul timp, Windows 3.11, dar distribuția actuală a fost primită cu creșterea de Windows 95. Se poate spune că acum pe computerele cu Windows 9x / 2K / XP / Vista / 7 este de 95% din executabilele ( , dll, drivere (sys)) fișier exe - acest dosar PE.
Ați putea să scurt, în minim, descrie formatul de fișier PE?
fișier PE are propria structură. Foarte pe scurt, voi încerca să-l descrie. Inițial, fișierul este un antet DOS, care include DOS MZ-antet și DOS-stub. DOS-stub, de fapt, este un exe plin, excentricitatea ruleaza opepatsionnoy sistem care stie despre formatul PE-fișier. De obicei, în acest caz, se afișează o pposto vpode șirul „Acest program nu poate fi rulat în modul DOS“ sau ceva de genul asta =) În cazul în care sistemul de operare - Windows, DOS-stub nu este efectuată. În continuare vine PE-antet (de fapt, între antet DOS și antetul PE este ceva, dar nu voi descrie, pentru că nu este necesară pentru înțelegerea inițială a formatului PE). antet PE începe cu o semnătură de 4 octeți. care este un 2 bytes - egal cu 0. Apoi vin diferite date, pe care nu va descrie „PE“ (4550h) și 2 octeți. Ele sunt foarte multe detalii puteți vedea în descrierea formatului standard a fișierelor PE. După antetul PE este un tabel de secțiuni de fișiere (Object Table), care descrie parametrii secțiunilor de fișier (o secțiune de cod, date, resurse, etc.), adică, numele secțiunii, dimensiunea sa virtuală, RVA. mărimea secțiunii în fișierul de offset a secțiunii în fișierul, secțiunea caracteristică. Numărul de astfel de structuri în secțiunile de masă este egal cu numărul de secțiuni. Numărul de secțiuni este stocat în antetul PE. După secțiunile de masă sunt secțiuni de imagini de pagină, care este, pur și simplu pune, secțiuni ele însele, una după alta.
Și ce este secțiunea fișierul EXE?
Ce este TLS?
TLS (Subiect Local Storage, fir de stocare locală) - Acest 24 (18h) structura octet, ultimele 8 octeți de zerouri marcat, dar acest lucru nu este esențial. Structura nativă în acest loc .rdata secțiuni (cel puțin pentru programele scrise în Delphi). Subiect de stocare locală este utilizat pentru a evidenția zonele de memorie utilizate de fluxuri (fire) pentru stocarea datelor. O caracteristică interesantă a TLS este abilitatea programului de la punctul de intrare
Ce toți acești termeni pe care le vedem la programele de ProcDump spectacol, cum ar fi secțiuni de fișiere. LordPE (exemplul ProcDump): Nume, Dimensiune Virtual, Virtual offset, Dimensiune Raw, Raw Offset, Caracteristici?
Numele în acest caz - este numele secțiunii. Acesta poate fi orice (lungime maximă - 8 caractere), iar schimbarea nu afectează, în general, performanța programului. Cu excepția numelui secțiunii .rsrc Virtual secțiunea Resurse Size - dimensiunea secțiunii în memorie. Virtual Offset - Acest offset a secțiunii în memorie în ceea ce privește imaginea de bază, cu alte cuvinte - este această secțiune RVA. Mărimea Raw - dimensiunea secțiunii în fișierul de pe disc. Raw Offset - Acest offset a secțiunii în fișierul de pe disc cu privire la dosar. Caracteristici - Acest număr de 4 octeți, care determină caracteristicile secțiunii, proprietățile sale. Acest număr indică dacă secțiunea este o secțiune de cod executabil sau nu este posibil să se citească datele din această secțiune, înregistrarea datelor de la această secțiune, etc.