Analizując pliki binarne, zawsze chcemy wiedzieć ilu bitowy jest nasz program. Specjalistyczne narzędzia takie jak Ghidra, Ida Pro czy BinaryNinja potrafią bez trudu określić czy mamy do czynienia z architekturą 32 bitową czy też 64 bitową.
To po co mi wiedzieć ilu bitowa jest architektura programu?
Architektura programu z punktu widzenia inżynierii wstecznej jest kluczowa. Mając do czynienia z programem 32 bitowym wiemy ze słowa, adresy i inne dane mieszczą się na 32 bitach.
W kontekście pamięci, oznacza to, że możemy zaadresować 232 komórek pamięci, czyli 4 GB.
Dla programów 64 bitowych jest to 264 komórek pamięci czyli 17 bilionów GB.
Wiedząc już po co są architektury, możemy przejść do konkretów. Sposób, który tutaj przedstawię, działa na systemach Windows.
Sprawdzanie architektury bitowej programu
Cała magia polega na wybraniu naszego pliku do sprawdzenia, następnie klikając prawym przyciskiem myszki otwieramy właściwości i zakładkę zgodność. Jeśli wykonamy wszystkie polecenia poprawnie powinniśmy zobaczyć takie okno.

Następnym krokiem jest zaznaczenie opcji “Uruchom ten program w trybie zgodności z”.
Jeśli znajdziemy tam systemy starsze wraz z Windowsem XP możemy stwierdzić, że program jest 32 bitowy. Widząc systemy młodsze takie jak Windows Vista możemy przyjąć, że program jest 64 bitowy.
Oczywiście istnieje wiele innych sposobów na sprawdzenie ilu bitowy jest program, ten jednak nie wymaga dużej wiedzy z zakresu informatyki 😉