Reverse engineering: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
termine italiano
Riga 25:
In senso stretto, l'attività di ingegneria inversa consiste nella comprensione del funzionamento e della realizzazione di un dispositivo fisico o virtuale al fine di produrre il nuovo dispositivo. Il termine [[reingegnerizzazione]], invece, comprende, oltre all'analisi, anche la riprogettazione.
 
Per affrontare seriamente la retro ingegneria in ambito software sono essenziali conoscenze di [[Assembly]], programmazione e logica, incluse conoscenze architetturali della piattaforma su cui si vuole analizzare il software<ref>{{Cita web|url=https://libro.re/capitoli/0x1-introduzione/|titolo=Capitolo 0x1: Introduzione al Reverse Engineering {{!}}|sito=libro.re|accesso=2023-02-07}}</ref>.
 
In genere, le pratiche di ingegneria inversa vengono utilizzate quando una casa sviluppatrice mantiene unil codice proprietario per i suoi prodotti. A quel punto, il "retro -ingegnere "analizza i programmi e cerca di capirne il funzionamento senza avere a disposizione un codice sorgente. Alternativamente, l'ingegneria inversa ha anche il fine di ampliare le funzionalità di dispositivi e/o applicativi oltre quelle originali. Eloquente, a tal proposito, il caso dei [[Lettore MP3|lettori Mp3]] nonché quello dei titoli videoludici ai quali è stata aggiunta la funzionalità [[multigiocatore]], originariamente non prevista.
 
L'ingegneria inversa è anche usata dalle [[forze armate]] al fine di copiare la [[tecnologia]] di altre nazioni, spesso in congiunzione a operazioni di [[spionaggio]] militare. È stata ampiamente impiegata durante la [[seconda guerra mondiale]] e la [[guerra fredda]].