Reverse engineering – czyli inżynieria wsteczna – to zbiór technik wykorzystywanych do analizy zamkniętego oprogramowania w celu wydobycia niedostępnych z pozoru informacji jak np. użyte algorytmy, ukryte hasła dostępu (np. do baz danych), informacje o tym, jak szyfrowane są jakieś pliki aplikacji itp.