Pregunta sobre "FUDing" con editor hexadecimal

1

Veo muchos materiales en Internet sobre esta técnica. No estoy realmente interesado en malware, pero tengo curiosidad cuando cambia bytes a un exe con otros bytes, ¿esto no corrompería el exe? Puedo dar ejemplos de videos si alguien no entendió mi pregunta.

    
pregunta user47745 03.06.2014 - 19:49
fuente

2 respuestas

2

Querrá cargar en una herramienta como OllyDbg y tendrá instrucciones y podrá modificarlas para que realicen el mismo tipo de trabajo que las instrucciones alternativas, luego guárdelas en el ejecutable para evitar la firma del byte en su archivo.

Puedes reescribir el código para hacer el mismo trabajo. Hagamos un escenario realmente básico. Imagina que has visto en ejecutable. Voy a pretender que es un ejecutable x86:

004CFF64 - B8 05000000           - mov eax,00000005
004CFF69 - B8 07000000           - mov eax,00000007

Entonces, 10 bytes en total.

Podrías reescribir eso como:

004CFF64 - B8 05000000           - mov eax,00000007
004CFF69 - 90                    - nop 
004CFF6A - 90                    - nop 
004CFF6B - 90                    - nop 
004CFF6C - 90                    - nop 
004CFF6D - 90                    - nop 

Que aún es de 10 bytes en total, pero la firma ahora ha cambiado. La razón por la que usamos un NOP (sin instrucción preformada) es porque no hace más que usar espacio.

Ahora, en una situación del mundo real, no lo verás tan fácil como si tuvieras que usar cuevas de código, etc. Por ejemplo, digamos que necesitaba escribir más de 10 bytes de código, entonces realmente no puede hacerlo ya que sobrescribiría la siguiente instrucción que dañaría el ejecutable. Bueno, lo que haces es usar la instrucción JMP para liberar espacio en la memoria, que luego harás todo el código allí y usarás JMP para volver a la ejecución normal del código.

Las firmas de bytes generalmente se realizan en archivos completos y en partes estáticas del ejecutable. Por ejemplo, .text (a veces conocido como .code, etc.) que es la parte ejecutable del código y las regiones de memoria no se pueden escribir, por lo que no cambiarán aunque puede anular los permisos con VirtualProtect API.

Podría entrar en muchos más detalles sobre la ofuscación, cómo funcionan las firmas de bytes y demás, pero espero que responda a su pregunta si no deja un comentario y ampliaré mi respuesta.

    
respondido por el Paul 04.06.2014 - 00:00
fuente
0

podría corromper fácilmente un archivo ejecutable, pero hay una gran cantidad de datos en un archivo ejecutable que no es realmente ejecutable. También es mucho lo que rara vez se ejecuta y, por lo tanto, se puede cambiar sin ser descubierto durante mucho tiempo.

Hay herramientas que pueden ayudar con este tipo de ejercicio sin cambiar el código real. Buscan los "recursos" definidos en el ejecutable. Típicamente cadenas que contienen descripciones, datos fijos, ese tipo de cosas. "Resource Hacker" es una de esas herramientas.

    
respondido por el Julian Knight 03.06.2014 - 22:07
fuente

Lea otras preguntas en las etiquetas