¿Es posible volcar un exe desde el ram y crear un exe distribuible desde él?

4

¿Es posible descargar el ram y obtener un exe y usar ese volcado para distribuir una aplicación? Si es así, ¿es esto algo que es una preocupación práctica y, de ser así, cómo debería un desarrollador protegerse de ello?

Lo pregunto porque estoy considerando cifrar mi aplicación anidando claves dentro de funciones / widgets anidados. Cuando una característica / widget está inactivo (aún no se utiliza) se cifrará. Cuando se utiliza, se descifra junto con otra clave para una característica / widget anidado en su interior. Si es más difícil aplicar ingeniería inversa que un exe no encriptado en el disco duro de lo que compraría un poco de tiempo de inactividad.

Este es el contexto de por qué estoy preguntando si obtener el exe de ram y juntarlo como un exe distribuible. Supongo que si cifro de forma anidada como se describe anteriormente, esto puede ralentizar un posible intento de ingeniería inversa. Quería ser claro con mi pregunta, así que no describí por qué lo hice, pero espero que esto traiga algo de claridad.

    
pregunta Script Ninja 01.03.2015 - 04:49
fuente

2 respuestas

1

Es posible diseñar sistemas operativos o programas individuales, por lo que esto es posible. Con el acceso de nivel de depurador a una aplicación en ejecución, es probable que pueda reconstruir una aproximación cercana al exe que lo lanzó. Sin embargo, eso no necesariamente lo colocaría en una mejor posición para distribuir la aplicación que si solo copiara los bits originales.

    
respondido por el ddyer 01.03.2015 - 06:04
fuente
0

Técnicamente sí, pero no es tan simple. En pocas palabras, un archivo exe es una imagen del código de máquina que se ejecutará + algunos datos de encabezado. Esto le mostrará la estructura de un archivo PE (el exe comúnmente utilizado en el entorno Win32) con campos que le indican al vinculador qué cargar en la memoria: PE .exe estructura . (También puedes ver el resto del artículo de Wikipedia). Entonces, para que puedas reconstruir el encabezado + el código, será necesario un montón de violín. Hay preocupaciones sobre bibliotecas, etc.

Hay este programa disponible En la red, pero nunca lo he usado. Ni siquiera tiene un nombre propio.

Entonces, para responder a tu pregunta inicial: sí, es posible, pero requeriría una cierta cantidad de experiencia.

En general: no hay formas a prueba de balas para proteger su código. Es posible que pueda proteger sus datos que se están procesando, pero no el algoritmo en sí. Siempre digo: "Si no puedes protegerlo por completo, asegúrate de que tendrán muchos problemas para descifrarlo". (El código de auto-modificación podría ser útil, pero eso requeriría ensamblaje).

Espero haberte ayudado un poco.

    
respondido por el Konrad Gajewski 10.07.2015 - 11:43
fuente

Lea otras preguntas en las etiquetas