Różnice między wybraną wersją a wersją aktualną.
Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
projekty:lic_key_crack [2025/05/07 14:38] – administrator | projekty:lic_key_crack [2025/06/16 10:03] (aktualna) – [Tabela] administrator | ||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | pliki: | + | ======= Security: Wstęp do inżynierii wstecznej ======= |
- | + | ||
- | {{ : | + | |
- | {{ : | + | Inżynieria wsteczna to proces analizowania i rozkładania na części składowe oprogramowania, |
- | {{ :projekty:main2_patched.exe |}} | + | > Inżynieria wsteczna (ang. reverse engineering) to proces wydobywania wiedzy lub przeprojektowywania systemów na podstawie dostępnych, |
+ | Źródło: [[https://pl.wikipedia.org/ | ||
+ | ===== Zwartość pliku main2.c ===== | ||
- | === Zwartość pliku main2.c === | + | W niniejszym przykładzie zaprezentowano kod źródłowy prostego programu, który weryfikuje poprawność wprowadzonego klucza licencyjnego. Program wczytuje wprowadzone dane znak po znaku i porównuje je z kluczem referencyjnym. Na końcu, w zależności od wyniku porównania, |
- | <code c> | + | < |
#include < | #include < | ||
Linia 66: | Linia 66: | ||
</ | </ | ||
+ | |||
+ | ===== Zmiana jednego bitu ===== | ||
+ | |||
+ | Dokładnie tak zmiana jednego bitu powoduje że program przyjmie jakikolwiek klucz a mimo to wyświetli komunikat access granted. Jestem świadomy że ten program można złamać prostym narzędziem strings, ale nie o to w tej prezentacji chodzi. Poniżej zdjęcie dwóch debuggerów po lewej program oryginalny po prawej jego wersja z zmianą. Zaznaczyłem na ilustracji miejsce w którym trzeba zmienić jedn bit aby złamać program. | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ===== Weryfikacja hashy plików ===== | ||
+ | |||
+ | Za pomocą narzędzia QuickHash GUI możemy sprawdzić że zmiana jednego bitu zmienia całkowicie wartość hasha. | ||
+ | |||
+ | ^ NO ^ Filename | ||
+ | | 5 | main2.exe | ||
+ | | 6 | main2_patched.exe | ||
+ | |||
+ | https:// | ||
+ | |||
+ | pliki: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||