Przy jakich interesujących projektach inżynierii odwrotnej mogę się nauczyć?


Najlepsza odpowiedź

To jest bardzo szerokie pytanie. To zależy od rodzaju produktów, którymi jesteś zainteresowany.

Oto kilka przykładów inżynierii odwrotnej, w których brałem udział:

Odpowiedź Michaela Durcana na pytanie Jak wygląda inżynieria odwrotna wykonanej przekładni czołowej?

Odpowiedź Michaela Durcana na pytanie Jak działają nowoczesne techniki inżynierii odwrotnej, takie jak przenośna maszyna współrzędnościowa i skanowanie laserowe?

Odpowiedź Michaela Durcana na pytanie Jak mogę nauczyć się inżynierii odwrotnej?

Odpowiedź

Zakładam, że nie jesteś ekspertem w dziedzinie informatyki i programowania niskiego poziomu, więc odpowiedź brzmi: tak, to jest bardzo trudne.

Istnieją dwa „poziomy” języków programowania; Wysoki i niski. Wysokie języki programowania są ogólnie dość łatwe w użyciu i nauce. Są czytelne dla człowieka i muszą być „przetłumaczone” przez maszyny, aby mogły zostać wykonane. Przykłady języków programowania wysokiego poziomu to Javascript, R, Python, Java i wiele innych.

Języki programowania niskiego poziomu są trudniejsze do nauczenia. Potrzebują lepszego zrozumienia sposobu działania pamięci i procesów komputera. Najlepszym i najbardziej znanym przykładem języka niskiego poziomu jest C. C jest bardzo potężny i raczej trudny do nauczenia. Ale jest o wiele bardziej zrozumiały dla maszyny niż języki programowania wysokiego poziomu. Język programowania dość niskiego poziomu to Assembly. Kod asemblera istnieje w różnych typach, ale wszystkie są skomplikowane, denerwujące i bardzo trudne do odczytania. Kod asemblera jest jednak główną częścią inżynierii odwrotnej. Jeśli coś poddajesz inżynierii wstecznej, przeglądasz / zmieniasz kod asemblera programu.

Musisz zrozumieć, że asembler jest zasadniczo językiem ojczystym. Jeśli piszesz program, zawsze jest z nim kod asemblera. Albo twój kompilator tłumaczy twój kod na asembler, albo interpreter robi to za ciebie w czasie rzeczywistym.

Wszystko to w zasadzie oznacza, że ​​stanie się prawdziwym profesjonalnym inżynierem wstecznym jest łatwe. Wszystko, co naprawdę musisz zrobić, to biegle posługiwać się różnymi typami asemblera i nauczyć się programować w C. Jedynym problemem jest to, że te dwie rzeczy są trudne do wykonania.

Powodzenia!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *