Ta witryna korzysta z plików cookies. Korzystając z witryny akceptujesz: polityka prywatności.   [×]
Online: 0x013 (19)

haker.info – Etyczny hacking🕊️

Spreading knowledge like a virus.

🤖 Co to jest 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 w postaci tekstu tłumaczony jest na Asembler, a następnie właśnie na kod maszynowy (ciągi bajtów – liczb). Przedstawia to schemat na rysunku poniżej.

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 [2].



Wykaz literatury (bibliografia)

[1] Dawid Farbaniec, 2021 – Asembler x64. Laboratorium, ISBN: 9788382457032
[2] REC Decompiler, http://www.backerstreet.com/rec/rec.htm

Komentarze czytelników

Kontakt

mgr inż. Dawid Farbaniec  //  haker.iиfø

E-mail:
office@haker.info

Odwiedź mnie również na:

 

Wyrazy uznania: 📜 Credits page

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. Autor tej witryny w czasie tworzenia treści nie działa w imieniu firm, których technologie czy produkty opisuje — chyba, że jest to jasno oznaczone. Korzystając z zasobów witryny haker.info oświadczasz, że akceptujesz powyższe warunki oraz politykę prywatności.