Hola, me gustaría comprimir un archivo .exe de un proyecto creado por mi, he probado con aspack pero el exe creado no funciona. Cual podría usar?
UPX
Hola,
Puedes crear un proyecto Setup, y eso te crea un exe y un msi..
Cita de: [D4N93R] en 22 Octubre 2010, 02:01 AM
Hola,
Puedes crear un proyecto Setup, y eso te crea un exe y un msi..
La intención es comprimirlo para que la gente tenga que hacer un esfuerzo si quiere decompilarlo
Podrías empezar por ahí xP
Bueno, son dos cosas:
1) Una aplicación que genere un archivo cifrado a apartir de uno o más ensamblados.
2) Esa aplicación generada (Llamémosla launcher) tiene que ser capaz de leer el archivo, descomprimirlo/descifrarlo usando el mismo algoritmo y luego cargarlo en memoria y ejecutar el EntryPoint por reflection.
Un saludo.
PD: No hace falta citar el mensaje anterior.
Haz como si hicieras indetectable un troyano, pasale el themida xD
si lo que buscas es hacer tu codigo ilegible ya sea para proteger cadenas de conexion o claves de algoritmos de encriptamiento pues
http://msdn.microsoft.com/es-es/library/ms227240%28VS.90%29.aspx
tambien hay una versión profesional pero con eso bastaria.
Para utilizar algun "Dotfuscator" ya sea libre o de pago, primero hay que ir probando con cada avance del proyecto, depende mucho del tipo de proyecto, en varias pruebas que hice como ejemplo:
using Microsoft.Office.Interop.Word;
using System.Runtime.InteropServices;
y algunas mas cuando el nivel de complejidad era medio, al usar algun "Dotfuscator" el *.exe quedaba inservible, es decir no se llegaba a cargar y simplemente daba un error.
Respecto a los compresores, la mayoria que funcionan con proyectos .NET tienen problemas (en Windows 7 y algunos casos en WinXP) con:
folderBrowserDialog
DragDrop
[STAThread]
Si es un proyecto grande, hay que ir acomodando el diseño respecto al compresor o el "Dotfuscator", para evitarse problemas al final, que diagnosticarlos luego de terminado el proyecto si es una...
Si el proyecto es pequeño, no creo que haya problemas, pero como dije es mejor probar con cada avance del proyecto.
Por mi parte recomendaria utilizar un compresor, puesto que los "Dotfuscator" son muy sencillos de revertir y existen muchas herramientas ya hechas, y de todos modos no sirven de mucho cuando desensamblas el *.exe, al contrario de los compresores que pueden lograr un poco de confusión respecto a si es un proyecto hecho en .NET.
Cita de: [D4N93R] en 22 Octubre 2010, 13:47 PM1) Una aplicación que genere un archivo cifrado a apartir de uno o más ensamblados.
2) Esa aplicación generada (Llamémosla launcher) tiene que ser capaz de leer el archivo, descomprimirlo/descifrarlo usando el mismo algoritmo y luego cargarlo en memoria y ejecutar el EntryPoint por reflection.
Al descompilar el code se puede ver todo eso y modificarlo directamente, al descomprimirlo se puede copiar el archivo descifrado
fileSystemWatcher
Es lo malo de .NET y tb de JAVA, que es sencillo relativamente obtener el codigo fuente.
Algo interesante es que los descompiladores para .NET no pueden leer ciertos bucles combinados con el manejo de API's de Windows.
Bueno como dije antes, en mi opinion es mejor utilizar un compresor y acomodar el proyecto a las limitaciones que tenga por el uso de dicho compresor.
Sí, yo se 43H4FH44H45H4CH49H56H45H,
Pero, lo que yo digo es hacer todo eso en Memoria, ya yo lo he probado y testeado con personas que intentan "leer" el código de la aplicación, además de que hace más confuso el flujo de la aplicación.
Tienes un ejemplo hecho?
Podrias subir el *.exe para ver la dificultad de "lectura" ;D
No, no puedo, lo que tengo yo es mucho más complicado y solo di la idea de lo que se puede hacer.
Creo que hay miedo? :xD
Je je, hubiera sido bueno que subas tu programa para ver que tan dificil puede ser para otra persona obtener el código fuente y su modificación.
Ni modo...
43H4FH44H45H4CH49H56H45H, lo tengo planeado a hacer, pero con otro proyecto que tengo en mente, que es mucho más fuerte de romper. En este no te lo paso para que lo pruebes porque ya lo tengo implementado en varias aplicaciones.
Este nuevo método que quiero proponer es mucho más dificil, pero también tiene un contra, que es un poco costoso para la venta de aplicaciones masivas. El método que he creado es un poco más personalizado.
Cuando tenga todo listo tenlo por seguro que lo subo para que lo testeen y lo destrocen (Sí es que pueden) ;)
Un saludo!
"Weno" :P