Zabezpieczanie kodu wykonywalnego w C++

Opublikowane: 01/12/2014

w kategorii Zasoby.

Kod kiedy dostarczany w wykonywalnej formie nadal może być zaatakowany z różnych powodów (inżynieria wsteczna, w celu pominięcia walidacji wejścia, aby osiągnąć wysokie wyniki w grach). Jeśli pracujesz przy komercyjnych projektach powinieneś(aś) przynajmniej wiedzieć jakiego rodzaju zagrożenia są możliwe w związku z Twoim kodem.

Inżynieria wsteczna

Jest to proces wydobycia wiedzy z kodu wykonywalnego.

Wynikiem tego procesu może być:

  • kod ASM
  • kod wysokopoziomowy (C/C++)
  • wysokopoziomowy projekt algorytmu

Poradniki

Zabezpieczanie kodu

Programy pakujące kod wykonywalny

Kod wykonywalny może być spakowany aby utrudnić inżynierię wsteczną Twojej aplikacji. Powoduje również że jest ona mniejsza.

Haki

Haki mogą być użyte do symulowania pewnych akcji lub do wykrywania zdarzeń przed aplikacją. Mogą być również przechwycone i zmodyfikowane przed wysłaniem do docelowej aplikacji.

Poradniki

Wstrzykiwanie DLL-ek

Wstrzykiwanie DLL-ki jest procesem zastępowania biblioteki DLL używanej przez aplikację własną kopią tej biblioteki która symuluje ją ale również implementuje dodatkowe funkcjonalności - w celu złamania zabezpieczeń aplikacji lub po prostu w celu jej poprawienia.

Zobacz:

Książki

  • "C i C++. Bezpieczne programowanie. Receptury" - John Viega, Matt Messier, 2005

Udostępnij

obserwuj