ReverseCraft
Info
Seria ReverseCraft niestety nie będzie już kontynuowana (wyjaśnienie), ale nagrywam/publikuje teraz inne serie videotutoriali (również o sprawach niskopoziomowych, w tym np. kurs assembly) w trochę innej formie. Są dostępne na moim kanale na Youtube. Zachęcam do rzucenia okiem :)

Wszystkie epsy ReverseCraft są również dostępne via Youtube: http://www.youtube.com/user/GynvaelColdwind (playlisty ReverseCraft (PL) oraz ReverseCraft Asm (PL).
Video Details
screen z reversecraft 2 ReverseCraft #2 - Podstawy budowy plików PE

Czas trwania:
25 minut (opublikowano 2009-06-18)

Opis:
Drugi odcinek kursu, w którym przedstawiamy podstawy plików wykonywalnych PE używanych w systemach z rodziny Microsoft Windows. Mowa jest w nim o ogólnej budowanie, oraz troszeczkę o OptionalHeader i Import Table.

Linki do video:

Materiały:

Informacje uzupełniające:
O strukturach opisujących format PE można poczytać w oficjalnej dokumentacji formatu (obecnie w wersji 8.1), czyli Microsoft Portable Executable and Common Object File Format Specification (patrz Inne linki poniżej). Programiści korzystający z języka C/C++ mogą skorzystać z deklaracji struktur PE które znajdują się w headerze winnt.h w Platform SDK (osoby korzystające z Dev-C++ bądź Visual Studio w wersji innej niż express powinny mieć ów pliczek w katalogu include/). Osoby korzystające z pythona powinny zainteresować się biblioteką pefile, stworzoną przez Ero Carrera'e (link w Inne linki poniżej).

Struktury o których mówiłem/wspomniałem w videoarcie to:
  • IMAGE_DOS_HEADER - struktura opisująca część DOSową pliku PE, rozpoczynająca się od magica MZ
  • IMAGE_NT_HEADERS - struktura główna pliku PE, rozpoczynająca się od magica PE\0\0
  • IMAGE_FILE_HEADER - składowa IMAGE_NT_HEADERS, zawiera m.in. ilość sekcji
  • IMAGE_OPTIONAL_HEADER - składowa IMAGE_NT_HEADERS, zawiera m.in. Entry Point (EP), Image Base, Subsystem czy Data Directory
  • IMAGE_DATA_DIRECTORY - mała struktura opisująca inne struktury używane w pliku, takie jak IMAGE_IMPORT_DESCRIPTOR, etc
  • IMAGE_IMPORT_DESCRIPTOR - struktura opisująca importowaną bibliotekę (pojedynczą)
  • IMAGE_SECTION_HEADER - struktura opisująca pojedynczą sekcje

Użyte narzędzia:

Inne linki:
Video Tutorials RSS
ReverseCraft:
Legal stuff
ReverseCraft project (c) 2009 gynvael.coldwind//vx
Video tutoriale dostępne są na licencji Creative Commons BY-NC-ND

cat