DICCIONARIO DE INFORMÁTICA Y TECNOLOGÍA
  ¿Qué significa código automodificable? - Información sobre código automodificable

Definición de código automodificable (código mutante o código ambiguo)

Alegsa.com.ar
Diccionario tecnología
Programación
código automodificable
Leandro Alegsa (Contacto) 2016-07-19

Envíanos un mensaje


Enviar
Anuncios

El código automodificable (en inglés self-modifying code, también llamado código mutante o código ambiguo) es un código que altera sus propias instrucciones mientra este es ejecutado con el objetivo de:

- Reducir la longitud del camino de instrucciones y así mejorar el rendimiento.

- Reducir código similar, simplificando así el mantenimiento.

El término es usualmente sólo aplicado al código en donde la automodificación es intencional y no en situaciones donde el código de modifica a sí mismo accidentalmente debido a un error como un desbordamiento del buffer.

El método se utiliza con frecuencia para invocar condicionalmente código de prueba / depuración sin necesidad de sobrecarga computacional adicional por cada ciclo de entrada / salida.

También se utiliza como forma de camuflaje de programas malignos como virus informáticos, evitando así ser detectados por los antivirus.

Las modificaciones pueden ser realizadas:

- Sólo durante la inicialización: basado en parámetros de entrada. La alteración de los puntos de entrada del programa es un método indirecto equivalente de auto-modificación, pero requiere la co-existencia de una o más rutas alternativas de instrucción, lo que aumenta el tamaño del programa.

- A lo largo de la ejecución (en inglés, on-the-fly o sobre la marcha): basado en determinados estados del programa que han sido alcanzados durante la ejecución.

En ambos casos las modificaciones pueden realizarse directamente con las mismas instrucciones de código máquina, mediante la superposición de las nuevas instrucciones sobre las existentes

El código automodificable es más difícil de leer y mantener porque las instrucciones listadas en el código fuente no serán necesariamente las instrucciones que serán ejecutadas. La automodificación que consiste en la sustituciones de punteros a funciones puede no ser tan crípticos, si se se hace claro que los nombres de las funciones que deben llamarse son comodines para funciones por identificar luego.


Implementación del código automodificable

La automodificación puede ser llevada a cabo de varias maneras dependiendo del lenguaje de programación y el soporte de punteros y/o acceso al compilador dinámico o motores intérpretes:

- Superposición de las instrucciones existentes (o parte de las instrucciones como opcode, registro, banderas o dirección).

- Creación directa de todas las instrucciones o secuencias de instrucciones en memoria.

- La creación o modificación de instrucciones de código fuente seguido de una "mini compilación" o una interpretación dinámica.

- La creación dinámica de un programa completo y luego ejecutándolo.





¿Mejoramos la definición?
Puntos: 0 (0 votos)






Respondemos tus consultas o comentarios a continuación:


¿Dudas? ¿necesita más información? Escriba y responderemos a tu email: clic aquí



 




  Diccionario de informática
  Búsqueda por letras:

A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z - 0,9
 
Búsqueda por categorías
:

Almacenamiento - Aplicaciones - Audio - Compresión - Desarrollo web - Discos ópticos - Inteligencia Artificial - Memorias - Microprocesadores - Seguridad informática - Sistemas de archivos - Terminología de programación - UNIX - Windows - ver categorías

 
Búsqueda por palabras:






Preguntas

No hay ningún comentario todavía

Todos los derechos reservados © 1998 - 2017 - ALEGSA - Santa Fe, Argentina.
Políticas del sitio web - Contacto - Publicidad