Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: jor1980 en 22 Octubre 2010, 00:20 am



Título: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: jor1980 en 22 Octubre 2010, 00:20 am
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?


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: SnakingMax en 22 Octubre 2010, 01:00 am
UPX


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: [D4N93R] en 22 Octubre 2010, 02:01 am
Hola,

Puedes crear un proyecto Setup, y eso te crea un exe y un msi..


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: jor1980 en 22 Octubre 2010, 11:32 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


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: [D4N93R] en 22 Octubre 2010, 13:47 pm
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.


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: .:Weeds:. en 22 Octubre 2010, 21:03 pm
Haz como si hicieras indetectable un troyano, pasale el themida xD


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: .::IT::. en 23 Octubre 2010, 06:19 am
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.


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: 43H4FH44H45H4CH49H56H45H en 23 Octubre 2010, 07:31 am
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:
Código
  1. using Microsoft.Office.Interop.Word;
Código
  1. 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:

Código
  1. folderBrowserDialog
Código
  1. DragDrop
Código
  1. [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.

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.

Al descompilar el code se puede ver todo eso y modificarlo directamente, al descomprimirlo se puede copiar el archivo descifrado
Código
  1. 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.


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: [D4N93R] en 23 Octubre 2010, 15:50 pm
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.


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: 43H4FH44H45H4CH49H56H45H en 23 Octubre 2010, 16:17 pm
Tienes un ejemplo hecho?
Podrias subir el *.exe para ver la dificultad de "lectura"  ;D


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: [D4N93R] en 23 Octubre 2010, 17:20 pm
No, no puedo, lo que tengo yo es mucho más complicado y solo di la idea de lo que se puede hacer.


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: 43H4FH44H45H4CH49H56H45H en 23 Octubre 2010, 20:41 pm
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...


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: [D4N93R] en 23 Octubre 2010, 21:16 pm
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!


Título: Re: Coprimir exe de proyecto c# en Visual Studio 2008
Publicado por: 43H4FH44H45H4CH49H56H45H en 24 Octubre 2010, 19:18 pm
"Weno"  :P