Sono ancora al college per una laurea in Computer Security e ho seguito la mia prima lezione in lingua assembly il semestre precedente. Abbiamo affrontato il tema del reverse engineering e perché è una parte importante della lotta contro malware e applicazioni poco desiderate.
Durante la mia lezione abbiamo utilizzato principalmente IDA pro, ma abbiamo anche controllato alcune applicazioni simili e gratuite basate su browser.
In queste applicazioni, siamo stati in grado di ottenere così tante informazioni sulle istruzioni e sul codice di basso livello che mi stavo chiedendo perché abbiamo anche bisogno di un umano per esaminarlo e ricreare i linguaggi di livello superiore (come scrivere una versione "C") di un pezzo di malware).
Ecco la mia domanda:
Perché un programma non può utilizzare le informazioni presenti nel codice assembly e trasformarlo automaticamente in un linguaggio semplicistico?
Capisco che non sarebbe sembrato esattamente come sarebbe stato quando è stato scritto per la prima volta, ma non dovrebbe essere possibile ricrearlo in un modo che faciliti la lettura e la lettura?
È solo qualcosa che non riesco a comprendere, grazie!