Quali sono i diversi tipi di strumenti di ingegneria inversa?
Il reverse engineering è il processo di smantellamento di qualcosa, analisi delle sue caratteristiche e dei suoi componenti e rimontaggio per comprendere a fondo il dispositivo. Nei computer, gli strumenti di ingegneria inversa possono essere usati per scomporre cose come software e database, oppure possono essere usati per scopi scientifici come la semplificazione e la scomposizione del genoma umano per una migliore comprensione e contributo scientifico. Sebbene gli strumenti di ingegneria inversa siano stati messi a dura prova per la loro legalità, esistono numerosi strumenti per scomporre e comprendere molti diversi tipi di prodotti, in particolare il software.
Alcuni software sono disponibili come strumenti di reverse engineering open source e possono essere facilmente scaricati da Internet. Un tipo di materiali open source include strumenti di reverse engineering Java, che consentono la deobfuscazione delle classi Java compilate. Accedono al codice sorgente, creando un deobfuscator che è quasi codice. Gli strumenti di ingegneria inversa sono progettati per funzionare assegnando nomi casuali a classi offuscate in Java e assegneranno verbi casuali dalla lingua inglese a metodi di classe offuscati in Java. Ottenere uno strumento come questo richiede un semplice download e installazione del software su un computer.
Altri strumenti open source che possono essere facilmente scaricati e installati da Internet includono analizzatori per protocolli di rete. Questi tipi di software di ingegneria acquisiscono pacchetti di dati su una rete per essere analizzati in un secondo momento. Sono utilizzati per comprendere le operazioni dei protocolli di rete nei multimedia proprietari. Il software è scaricabile gratuitamente e viene costantemente migliorato.
Un'altra varietà di software per il reverse engineering consente la costruzione di strumenti per l'analisi dinamica. Questi tipi di strumenti di reverse engineering vengono utilizzati nel rilevamento di bug di threading e nella gestione della memoria. Il software include molti tipi diversi di strumenti, tra cui un rilevatore di errori di memoria, un profiler di previsione per cache e rami e un generatore di grafici di chiamata, tra molti altri.
Esistono anche strumenti di reverse engineering che possono essere eseguiti su determinati sistemi operativi (SO) come debugger e disassemblatori. Questo tipo di software può essere open source o acquistato su Internet. Uno di questi strumenti viene fornito con istruzioni PDF ed esercitazioni su come utilizzarlo con diversi sistemi operativi, consentendo all'utente di comprendere meglio le funzionalità del dispositivo e del sistema operativo. È stato messo a fuoco, tuttavia, con alcuni dispositivi mobili e smartphone e non è più facilmente disponibile per l'uso.