En la ingeniería inversa de software, usamos un disemador, un depurador y un parche de código. OllyDbg incluye todos. Una de las diferencias entre la ejecución real de un programa y la depuración a través del uso de OllyDbg es que, en OllyDbg, no se utiliza la línea de instrucciones.
¿Cómo podemos aprovechar este hecho para que el software sea inmune a los ataques de ingeniería inversa?
La respuesta obvia es escribir una instrucción que modifique la instrucción ya recuperada.
Mi pregunta es cómo escribimos un código de idioma de nivel superior, que después de ser traducido al lenguaje ensamblador tendrá instrucciones de tal manera que algunas instrucciones codifiquen instrucciones previas (deben ser buscadas antes de codificarse ... aquí podríamos tener que asumir tamaño de la tubería de instrucciones, digamos X).
¿Es posible escribir dicho código en un lenguaje de nivel superior? Si es así, puedo tener un ejemplo.