¿Cómo evitar la descompilación en C#?
El método que utilizo es utilizar la herramienta de embalaje: virbox?Protector?Standalone. Empacar directamente. Ofuscación avanzada, código virtualizado, compresión inteligente y otras estrategias de cifrado. Si desea controlar la licencia, utilice la versión con licencia de virbox?Protector.
El efecto de descompilación de ILspy sin protección del empaquetador es el siguiente:
public int add(int a, int b){
return a + b;} public int div(int a, int b){
return a / b;}public int mul(int a, int b){
return a * b;}public int sub(int a, int b){
return a - b;}
Solución:
Shenzhen desarrolló de forma independiente la protección de la carcasa en lenguaje C# .net ( Protector Virbox). Simplemente arrastre el programa ejecutable (.exe) y la biblioteca dinámica (.dll) compilados desde C# .net a la herramienta de empaquetado para completar la operación de protección, lo cual es muy conveniente. Y el efecto es que la lógica del código fuente es completamente invisible.
El efecto después del cifrado
public int add(int a, int b){
return (int)dm.dynamic_method((object)this, System .Reflection.MethodBase.GetCurrentMethod(), 16416u, 21, 16384u, 32u, 31516u, 5).Invoke(este, nuevo objeto[]
{
este,
a,
b
});}
público int div(int a, int b){
return (int)dm.dynamic_method((object)this, System.Reflection.MethodBase.GetCurrentMethod(), 16956u, 21, 16924u, 32u, 31516u, 2).Invoke(this, new object[]
{
esto,
a,
b
});}
público int mul( int a, int b){
return (int)dm.dynamic_method((object)this, System.Reflection.MethodBase.GetCurrentMethod(), 16776u, 21, 16744u, 32u, 31516u, 3). Invocar(este, nuevo objeto[]
{
esto,
a,
b
} );}
public int sub(int a, int b){
return (int)dm.dynamic_method((object)this, System.Reflection.MethodBase.GetCurrentMethod() , 16596u, 21, 16564u, 32u, 31516u, 4).Invocar(este, nuevo objeto[]
{
esto,
a, p> p>
b
});}
Soporte de arquitectura
Archivo DLL de lógica backend de la arquitectura de servicio IIS
Archivos EXE de aplicaciones para PC de Windows
Archivos DLL de biblioteca dinámica de aplicaciones para PC de Windows
Archivos DLL utilizados por herramientas de dibujo de terceros como UG
Archivos DLL utilizados para Unity3d compilación