Inyeción anti-descompiladores

Curiosa aproximación la que se relata en Decompilation Injection (pdf).

No controlo mucho las interioridades de .Net pero por lo que cuentan los autores la idea se basa en que dentro del ‘bytecode’ que genera el compilador las normas permiten aplicar algunos truquitos que harían el código fuente inutilizable cuando se utilice un descompilador: cambiar el nombre de una variable por ‘for’ (que al descompilar produce una palabra reservada donde no debe haberla); cambiar el nombre de una variable por el de otra del programa (con seguridad dentro del ejecutable por el espacio de nombres protegido pero con total confusión en el fuente descompilado) e incluso el cambio de nombres de variables por expresiones más complejas.

Los cambios propuestos son muy sencillos y no se llevan a sus últimas consecuencias pero la idea merece la pena explorarse y, seguramente, podría aplicarse también a programas desarrollados en Java.

Un paso más allá en la ofuscación de código necesaria cuando uno quiere ocultarlo y utiliza lenguajes que se basan en el ‘bytecode’ que no es tan complicado ni oscuro como el binario producido por los compiladores tradicionales. Para los que también hay herramientas, claro.

Un pensamiento en “Inyeción anti-descompiladores

  1. Pingback: Bitacoras.com

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s