Główne, o którym wiem, jak wspomniano wcześniej, jest związane ze złośliwym oprogramowaniem. Jednym z podstawowych zadań naukowców pracujących dla firm skanujących jest pobranie próbki i debugowanie jej w laboratorium lub środowisku wirtualnym.
W ramach tych samych linii istnieje wiele obszarów związanych z bezpieczeństwem, które korzystają z inżynierii odwrotnej/demontażu. Komputerowa kryminalistyka to dziedzina, w którą możesz zajrzeć. Skonfiskowany komputer może zawierać programy sterujące i polecenia (ale bez źródła) dla różnych działań (botnet polecenia i kontroli, programy ataków DoS itp.). Zazwyczaj o wiele łatwiej jest ominąć schematy danych chronionych przez odwrotną inżynierię programu, który chroni, a nie wymyśla hasło lub klucz.
DRM/ochrona bezpieczeństwa w sprzęcie i oprogramowaniu to duży obszar inżynierii odwrotnej.Zauważ, że może to dotyczyć "strony" problemu (i prawa). Weź pod uwagę programy do kopiowania DVD, usuwanie zabezpieczeń, możliwość odtwarzania muzyki z iTunes na innych urządzeniach, możliwość uruchamiania programów homebrew na Wii, równoległego do siatki PS3, odblokowywania iPhone'a, itp. Oczywiście istnieje również wiele opcji poza prawem (reverse opracować zegar automatu do gier, uwierzytelnienie bankomatu itp.).
Stara konwersja programów to ogromna szansa w wielu dziedzinach, zwłaszcza w administracji, finansach, produkcji itp. Istnieją programy o znaczeniu krytycznym, które działają od 30 lat na antycznym komputerze typu mainframe lub mini, do którego nikt nie ma kodu źródłowego. Zespoły muszą wykonać inżynierię wsteczną, aby przekształcić ją w coś nowszego.
Inne sugestie dotyczące nauki samouczków Win32 są świetne. Ponadto, niestety, niektóre z najlepiej publikowanych prac będą dotyczyły cracków (gier). Wyszukaj na tym i istnieje kilka tutoriali, które pokazują podstawy. Klasa, którą podjąłem, wykorzystała książkę "The Art of Computer Virus Research and Defence" autorstwa Petera Szora, ale bardziej obciążała ona pomysły na złośliwe oprogramowanie, a nie dokładną część demontażu.
W zależności od tego, którą trasę wybierzesz, będziesz potrzebować wiedzy z innych dziedzin, ale wiedząc, że montaż będzie najważniejszą umiejętnością. Nie tylko z "Rozumiem, co ten kod wykonuje głównie" - powinieneś być w stanie pisać rzeczy od zera i dokładnie zrozumieć, co robi dany fragment kodu i zrozumieć inne sposoby, w jakie można napisać ten sam kod. Montaż (kodowanie) polega na znalezieniu jednego rozwiązania problemu i zakodowaniu go. Demontaż polega na ustaleniu, który z wielu różnorodnych rozwiązań został użyty początkowo do rozwiązania problemu - DUŻO cięższy;)
+1 za zilustrowanie różnych pól, w które można wejść. Zacząłem uczyć się odradzania, ponieważ złośliwe oprogramowanie było wtedy nieznanym pojęciem. Spróbuj ulepszyć Notatnik lub Kalkulator za pomocą kodów ASM, to dobry sposób na rozpoczęcie nauki odczuwania kodu :) – anonymous