Klasa inżynierii odwrotnej to koncepcja używana do obserwacji, badania i zrozumienia dowolnego konkretnego lub szerokiego programu komputerowego. Inżynieria odwrotna to termin odnoszący się do tego, jak uczniowie uczą się o określonym programie komputerowym, urządzeniu elektronicznym lub obiekcie mechanicznym, rozkładając go na części i sprawdzając, jak działa. Istnieje wiele różnych technik stosowanych przez inżynierów wstecznych, takich jak hakowanie w celu uzyskania kodu źródłowego oprogramowania. Poznanie sztuki inżynierii wstecznej nie jest wcale łatwym zadaniem, ponieważ uczeń będzie musiał nauczyć się procesu wstecznej pracy z programem, aby zobaczyć, jak to działa.
Aby wybrać najlepszą klasę inżynierii wstecznej, upewnij się, że uczą studenta o strukturze x86, umiejętnościach programowania i że nauczyciel ma silną podstawową wiedzę na temat cyfrowych obwodów logicznych. Bramki logiczne, takie jak OR, AND, NOT i wiele innych, takich jak XOR, XNOR i NAND, muszą być pokryte w klasie. Następnym ważnym i znaczącym krokiem w kierunku nauki inżynierii wstecznej jest zrozumienie funkcjonalności różnych programów i programów, takich jak studio sterowników, Visual Basic, oprogramowanie do łamania java i inne, takie jak SoftICE. Niezwykle ważne jest zrozumienie i zagłębienie się w wszechstronne oprogramowanie programistyczne i hakerskie oraz dopracowanie wszystkich narzędzi, więc najlepsza klasa inżynierii odwrotnej omówi wszystkie te aspekty dogłębnie.
Istnieje kilka strategii i aspektów ochrony, które należy uwzględnić również w klasie inżynierii wstecznej, takich jak zabezpieczenia hasłem, zabezpieczenia sprzętowe, włączanie/wyłączanie funkcji i inne komercyjne schematy bezpieczeństwa. Bezpieczeństwo i ochrona to pierwsza ściana, po której inżynierowie odwrotni muszą się wspiąć, aby odnieść sukces. Istnieje wiele strategii ochrony i prywatności, które zostały przyjęte przez twórców oprogramowania i firmy, więc klasa powinna mieć dogłębną ich wiedzę i być w stanie nauczyć sposobów poruszania się po nich.
Koncepcje tła i znajomość języka asemblera i jego zastosowań są również warunkiem wstępnym dla klasy inżynierii odwrotnej. Uczestnik kursu będzie musiał również znać debuggery, desemblery i inne oprogramowanie użytkowe. Studenci inżynierii odwrotnej powinni zapoznać się z podstawową koncepcją i pomysłem na temat różnych aspektów łamania zabezpieczeń i luk w zabezpieczeniach. Inne techniki, których powinni nauczyć, to znajdowanie luk w zabezpieczeniach, ocena rozwiązań i używanie języków wysokiej klasy, takich jak asembler i binarne kody podpisów.