C#에서 디컴파일을 방지하는 방법은 무엇입니까?
내가 사용하는 방법은 패킹 도구인 virbox?Protector?Standalone을 사용하는 것입니다. 직접 포장하세요. 고급 난독화, 가상화된 코드, 스마트 압축 및 기타 암호화 전략. 라이센스 제어를 원할 경우 라이센스 버전의 virbox?Protector를 사용하십시오.
패커 보호가 없는 ILspy의 역컴파일 효과는 다음과 같습니다:
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;}
해결책:
Shenzhen은 C# .net 언어(Virbox)를 보호하기 위해 셸을 독립적으로 개발했습니다. 보호자). C# .net에서 컴파일된 실행 프로그램(.exe)과 동적 라이브러리(.dll)를 압축 도구로 드래그하기만 하면 보호 작업이 완료되므로 매우 편리합니다. 그리고 그 효과는 소스 코드의 로직이 완전히 보이지 않는다는 것입니다.
암호화 후 효과
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(this, 새 객체[]
{
this,
a,
b
});}
public 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, 새 객체[]
{
이것,
a,
b
});}
public int mul( int a, int b){
return (int)dm.dynamic_method((object)this, System.Reflection.MethodBase.GetCurrentMethod(), 16776u, 21, 16744u, 32u, 31516u, 3). 호출(이것, 새 객체[]
{
이것,
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).Invoke(this, 새 객체[]
{
this,
a, p> p>
b
});}
아키텍처 지원
IIS 서비스 아키텍처의 백엔드 논리 DLL 파일
windows PC 애플리케이션 EXE 파일
Windows PC 애플리케이션 동적 라이브러리 DLL 파일
UG와 같은 타사 그리기 도구에서 사용되는 DLL 파일
Unity3d에 사용되는 DLL 파일 편집