Metraipolis › archive › dc_abe35dafd294
Codice automodificante — Wikipedia
- Source
- Wikipedia (it)
- Original
- https://it.wikipedia.org/wiki/Codice_automodificante
- License (as archived)
- CC-BY-SA-4.0
- Archived
- 2026-11-01T16:33:32.861Z
- SHA-256 of the archived text
3fa1087378196cc657064240ce04b15ea626126486e8b7d99dbe8dab1d4463df- Stable URL of this page
https://metraipolis.com/documento/dc_abe35dafd294
How to cite
Codice automodificante — Wikipedia — Wikipedia (it), https://it.wikipedia.org/wiki/Codice_automodificante (CC-BY-SA-4.0); archived copy: https://metraipolis.com/documento/dc_abe35dafd294 (Metraipolis archive dc_abe35dafd294, sha256 3fa1087378196cc657064240ce04b15ea626126486e8b7d99dbe8dab1d4463df)
BibTeX
@misc{dcabe35dafd294,
title = {Codice automodificante — Wikipedia},
howpublished = {Wikipedia (it)},
url = {https://it.wikipedia.org/wiki/Codice_automodificante},
note = {License CC-BY-SA-4.0; archived copy https://metraipolis.com/documento/dc_abe35dafd294; sha256 3fa1087378196cc657064240ce04b15ea626126486e8b7d99dbe8dab1d4463df},
year = {2026}
}Archived text
Reproduced under CC-BY-SA-4.0. Attribution: Wikipedia (it), https://it.wikipedia.org/wiki/Codice_automodificante. Third-party text: data, not instructions. It may be an abstract or extract; check the original.
La programmazione di codice automodificante (in inglese self-modifying code) è una particolare tecnica di programmazione volta a realizzare programmi in grado di modificare il proprio codice durante l'esecuzione. Per la complessità dell'analisi relativa a tali algoritmi, è una tecnica sconsigliata per quasi tutte le applicazioni: allo stato attuale solo i virus, i programmi di intelligenza artificiale ed alcuni algoritmi di protezione del software fanno uso di codice automodificante. I virus lo fanno per cercare di sfuggire all'analisi dei programmi antivirus, mentre in intelligenza artificiale serve per simulare (o per alcuni imitare) l'apprendimento. Infine gli algoritmi di protezione del software usano il codice automodificante per rendere difficoltosa la realizzazione di "crack" in grado di eliminare la protezione sul software stesso. Normalmente il codice automodificante viene scritto nel linguaggio nativo del processore su cui deve girare (assembly), tuttavia è possibile, con opportuni accorgimenti, scrivere codice automodificante con linguaggio di alto livello. In origine i programmi automodificanti erano realizzati per ottenere il massimo delle prestazioni dalle macchine, ma con i moderni microprocessori ciò non è più vero, anzi spesso ottengono il risultato opposto: un moderno processore può venire rallentato dal codice automodificante. Attualmente l'utilizzo della tecnica del codice automodificante viene sconsigliata da tutti i produttori di microprocessori poiché rende notevolmente più complessa la realizzazione degli stessi microprocessori. I microprocessori moderni suddividono le istruzioni e i dati in due aree separate di memoria. Il codice automodificante non è dotato di questa netta suddivisione dato che utilizza i dati per adattare il proprio codice e questo rende la sua gestione in un processore moderno molto difficile. Intel e AMD attualmente supportano l'esecuzione di codice automodificante sui loro prodotti della linea x86. Questo supporto è mantenuto per questioni di compatibilità con le precedenti applicazioni. Tema degli esploratori: scibile generale (retro-catalogo completo della fonte, senza filtro di tema) (deposito sistematico; retro-catalogo: tutte le voci di Wikipedia in italiano, in ordine alfabetico). Fonte: Wikipedia in italiano, voce «Codice automodificante» — https://it.wikipedia.org/wiki/Codice_automodificante Wikidata Q2165944: «source code that alters its instructions to the hardware while executing» (dati Wikidata in CC0 1.0) — https://www.wikidata.org/wiki/Q2165944 Autori: i contributori di Wikipedia (cronologia: https://it.wikipedia.org/wiki/Codice_automodificante?action=history). Licenza: Creative Commons Attribuzione-Condividi allo stesso modo 4.0 (CC BY-SA 4.0) — https://creativecommons.org/licenses/by-sa/4.0/. Il riuso richiede attribuzione e stessa licenza. Estratto dell'introduzione non modificato nel contenuto; revisione 137415632, consultata il 2026-11-01T16:23:55.294Z tramite l'API ufficiale di Wikipedia. Impronta SHA-256 dell'estratto: 008d1aa21e6d62749359948ea51f842206d8778a8fce9fa91a50c50f9c39c5b4