Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 14165|Respuesta: 3

Hoy me gustaría presentaros un ofuscador .net de código abierto: ConfuserEx

[Copiar enlace]
Publicado en 5/1/2016 23:28:23 | | | |
Dado que se utiliza el ofuscador .net en el proyecto, se buscan muchos modelos en línea, como Dotfuscator, xeoncode, foxit, etc.

Pero la mayoría de las comisiones, por supuesto, son versiones crackeadas, y la empresa exige que no se pueda usar software pirata.

Después de buscar mucho tiempo, finalmente encontré ConfuserEX, y estaba bien usarlo, así que lo saqué rápidamente y lo compartí contigo.


Como hay pocas introducciones chinas en Internet, voy a hacer una prueba aquí para demostrártelo:

1. Crear una nueva biblioteca de clases en C#, no cambiaré el nombre, solo la llamaré ClassLibrary1 y añadiré un método sencillo bajo la clase Class1.cs:




2. Crear otra aplicación de consola llamada ConsoleTest, añadir un ClassLibrary1.dll de referencia y llamar al método de prueba en ClassLibrary1.Class1 en el método principal:






Después de compilar, abre la ConsoleTest.exe con ILSpy, y puedes ver el código fuente como se muestra a continuación:




3, Ahora intentemos confundir con ConfuserEx:

Después de descargar ConfuserEx, descomprime y abre el ConfuserEx.exe, como se muestra en la siguiente figura:



4. ¿Ves el aviso "Arrastrar módulos de entrada aquí"?

Entonces pon el ConsoleTest.exe justo ahora, como se muestra en la imagen de abajo:



5. Haz clic en Configuración
  • Seleccionar empaquetador
  • Módulos->ConsoleTest.exe
  • Haz clic en el signo + para ver Normas, verdadero


Como se muestra a continuación:



6. ¡Haz clic en Protestar!->¡Proteger! , lo que incita a exportar exitosamente (en el directorio Confused),



7. Abre con ILspy... Confundido, mira ConsoleTest.exe el código fuente:




Si el método está vacío, copia el ClassLibrary1.dll de las dependencias de ConsoleTest.exe al directorio Confused, haz clic en Ejecutar ConsoleTest.exe y muestra el resultado correcto.

Nota

8. Si solo confunes el archivo exe, esto está bien; si solo confunes un archivo dll, verás el siguiente error:



Error: ¿No hay módulo ejecutable, ni cuerpo ejecutable?

¿No hay ningún archivo exe? Vamos a poner el ConsoleTest.exe y confundirlo con ClassLibrary1.dll, mira.

9. Según el método anterior, arrastré y solté el ConsoleTest.exe y ClassLibrary1.dll en ConfuserEx para confundirlos.

Como se muestra a continuación:



Éxito rápido.

10. Pero lo abrimos de nuevo... Confundido, solo encontré confuso ConsoleTest.exe archivos, ¿dónde ClassLibrary1.dll fue?

¿No puedes confundir el archivo DLL?

No te preocupes, vamos a hacer clic ConsoleTest.exe intentar, oh, voy, funciona bien, como se muestra en la imagen de abajo:



La única explicación aquí es que ConfuserEx incrusta la dll en el ejecutable.

Ahora el ConsoleTest.exe confuso es de 17KB, mientras que el ConsoleTest.exe original es de 5KB y el ClassLibrary1.dll también de 5KB.

11. Usemos ILSpy para ver el ConsoleTest.exe generado tras confundir a ConsoleTest.exe y ClassLibrary1.dll al mismo tiempo.



No puedo ver el método, ni el archivo dll referenciado.

Bueno, eso es todo por hoy.

Adjunto: Como no encontré la forma de confundir la dll por separado al mediodía, este alumno la encontró en la @四毛的家 de la tarde, y añadiré cómo confundir la dll por separado.

Según el paso 8, encontramos que se reportó un error al confundir la dll según el método EXE, y deberíamos haber seguido los siguientes pasos:

Después de arrastrar la dll a ConfuserEx, no puedes seleccionar Packer en la configuración, pero haz clic en el botón lápiz a la derecha, como se muestra a continuación.



Después de hacer clic en el botón lápiz, aparece el cuadro de diálogo Editar regla, selecciono un elemento en el Preset, selecciono Máximo aquí, luego hago clic en el botón "+" de abajo, selecciono anti ildasm (supongo que para evitar la compilación a través de IL), y entonces la exportación es exitosa.

Estamos usando ILSpy para comprobar el ClassLibrary1.dll que acaba de confundirse, como se muestra en la figura de abajo,



No se ve nada.

Para probar la DLL ofuscada disponible, pongo la ConsoleTest.exe no ofuscada y la ClassLibrary1.dll ofuscada en un mismo directorio, hago clic en Ejecutar ConsoleTest.exe y tengo éxito.




Anterior:[Pro-test] C# ejecuta procedimientos almacenados y devuelve la clave primaria GUID
Próximo:.net confusing, shelling, confuserex v0.6.0 Tutorial de versión china
 Propietario| Publicado en 5/1/2016 23:29:18 |
ConfuserEx soporta frameworks .NET 2.0 - 4.5 y Mono (también existen otros frameworks .NET):

Renombramiento del símbolo
Renombración WPF/BAML
Ofuscación de flujo de control
Ocultación de referencias de métodos
Antidepuradores/perfiladores
Anti-volcado de memoria
Antimanipulación
Dependencias incrustadas
Cifrado constante
Cifrado de recursos
Compresión de la salida
API de plugins de extensión
Publicado en 6/1/2016 1:53:46 |
Gracias por compartirlo, ya he estado usando la 4.0 antes y por fin existe la 6.0.
 Propietario| Publicado en 6/1/2016 7:58:20 |
Lynx Publicado el 6-1-2016 01:53
Gracias por compartirlo, ya he estado usando la 4.0 antes y por fin existe la 6.0.

Bueno, comuniquemos más tecnología .net
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com