Lessico IT › Programmazione › Codice automodificante

Codice automodificante

Programmazione Svenska → Aggiornato: 2026-10-05

Un programma che riscrive le proprie istruzioni durante l'esecuzione — sulle prime macchine a programma memorizzato una necessità, non un trucco sporco.

Quando istruzioni e dati condividono un'unica memoria, un programma può trattare le proprie istruzioni come dati e modificarle in corso d'opera. Sul Manchester Baby e sull'EDSAC, intorno al 1948, non esistevano registri indice: per scorrere un vettore il programma riscriveva semplicemente il campo indirizzo delle proprie istruzioni, un passo alla volta. Era prassi normale, non un artificio.

Il registro indice di Tom Kilburn sul Manchester Mark 1 (1949) rese la tecnica superflua: un indirizzo poteva ora essere incrementato in un registro libero senza toccare il codice. Il codice automodificante divenne qualcosa da evitare — difficile da leggere, impossibile da collocare in una memoria di sola lettura, un incubo da correggere. Sopravvive però dove conviene: i compilatori JIT generano codice macchina al volo, e il malware si trasforma da solo per sfuggire al riconoscimento.

← Torna al lessico