Diferencia entre revisiones de «Ingeniería Inversa/Desensambladores»
Contenido eliminado Contenido añadido
Sin resumen de edición |
|||
Línea 111:
Muchos desensambladores interactivos ofrecerán al usuario la opción de mostrar segmentos de código como código o datos, pero los desensambladores no interactivos harán esta separación automáticamente. Los desensambladores suelen proveer en la misma línea la instrucción y sus correspondientes datos en hexadecimal, para reducir la necesidad de hacer decisiones sobre la naturaleza del código. Algunos desensambladores (por ejemplo, ciasdis) te permiten especificar reglas sobre si desensamblar como datos o código e inventar nombres para la etiquetas, basándose en el contenido del objeto bajo escrutinio. Scriptaer tu propio "crawler" de esta manera es más eficiente; para programas grandes el desensamblaje interactivo puede ser difícil hasta el punto de no ser practicable.
El problema general de separar datos de código en ejecutables arbitrarios es equivalente al Halting Problem. Como consecuencia, no es posible escribir un desensamblador que separe correctamente datos de código para todos los programas de input. La ingeniería Inversa está llena de tales limitaciones teóricas,
=== Lost Information ===
|