Online: 0x07E (126)
haker.iиfø  — Etyczny hacking_
Spreading knowledge like a virus.

 haker.info Baza wiedzy

Asembler x86/x64
  • Kod maszynowy


Typowy program w formie pliku wykonywalnego (np. exe) dla systemu Windows posiada instrukcje zapisane w kodzie maszynowym. Rozkazy do wykonania przez procesor są kodowane według specjalnego schematu i zapisane jako wartości liczbowe. Taki zapis kodu jest bardzo trudny do przeczytania i zrozumienia przez człowieka. Narzędzie, które przetwarza kod programisty np. C++ do gotowego pliku wykonywalnego nazywane jest kompilatorem. Kod wysokiego poziomu abstrakcji tłumaczony jest na Asembler, a następnie właśnie na kod maszynowy.

Nieczytelność kodu maszynowego dla człowieka nie powoduje wcale niemożliwości analizy programów w formie plików *.exe. Istnieją programy, które dokonują odwrotnej czynności niż kompilacja, a jest do dekompilacja nazywana też deasemblacją. Narzędzia typu deasembler (disassembler) tłumaczą kod maszynowy na instrukcje języka Asembler, co pozwala na analizę kodu i sprawdzenie „co robi” określony plik wykonywalny. Dekompilatory idą o krok dalej i próbują uzyskać z pliku *.exe kod wyższego poziomu abstrakcji niż Asembler. Może to być np. pseudokod podobny do języka C, który oferuje nieco starszy już dekompilator REC Studio.

Kod maszynowy

Dawid Farbaniec

Wykaz literatury (bibliografia)

  • Advanced Micro Devices Inc., 2017 – AMD64 Architecture Programmer's Manual
  • Intel Corporation, 2019 – Intel 64 and IA-32 Architectures Software Developer's Manual
  • Randall Hyde, 2010 – Asembler. Sztuka programowania. Wydanie II, ISBN: 9788324628544
Wszystkie treści umieszczone na tej witrynie są chronione prawem autorskim. Surowo zabronione jest kopiowanie i rozpowszechnianie zawartości tej witryny bez zgody autora. Wszelkie opublikowane tutaj treści (w tym kody źródłowe i inne) służą wyłącznie celom informacyjnym oraz edukacyjnym. Właściciele tej witryny nie ponoszą odpowiedzialności za ewentualne niezgodne z prawem wykorzystanie zasobów dostępnych w witrynie. Użytkownik tej witryny oświadcza, że z zamieszczonych tutaj danych korzysta na własną odpowiedzialność. Wszelkie znaki towarowe i nazwy zastrzeżone zostały użyte jedynie w celach informacyjnych i należą wyłącznie do ich prawnych właścicieli. Korzystając z zasobów witryny haker.info oświadczasz, że akceptujesz powyższe warunki oraz politykę prywatności.