2011-09-01 5 views
1

Visual Studio 2010 C# WPF를 사용하여 개발 된 소프트웨어를 보호하기 위해 Eziriz .NET Reactor을 테스트하고 있습니다..NET Reactor를 사용한 .NET 어셈블리 보호

.NET Reactor가 보호 할 어셈블리를 물어볼 때 혼란 스럽습니다. 나는 사용자가 설치하게 될 .msi 파일을 보호하기로되어 있지만. 그러나 그것은 .exe 인 어셈블리 파일을 업로드하도록 요청합니다. 그래서 Visual Studio에서 솔루션을 빌드하여 생성 된 bin/Debug 폴더에 .exe를 업로드합니다.

.NET Reactor에서 보호 기능을 실행 한 후에 .NET Reflector를 사용하여 동일한 .exe 파일을 열고 모든 클래스와 메서드를 볼 수 있습니다. 아무것도 보호되고 있지 않습니다.

설명서를 읽었습니다 - 제대로 작동하지 않습니까? 아니면 제가 잘못하고있는 것입니까?

+1

obfuscater를 실행하는 데 필요한 명령을 입력하십시오. –

답변

5

Visual Studio는 일반적으로 설치를 할 때 전체 프로젝트를 다시 작성합니다. 따라서 보호 된 exe (.NET Reactor 생성)는 Visual Studio에서 덮어 씁니다.

DLL 빌드 후 DLL을 직접 보호하기 위해 .NET 리액터를 호출하는 빌드 후 이벤트 (Visual Studio 프로젝트 속성에 있음)을 추가해야합니다.

이벤트는 릴리스 빌드에서만 실행해야합니다. 그렇지 않으면 응용 프로그램을 디버깅 할 수 없습니다. 문제는 릴리스 모드에 대해서만 게시 빌드 이벤트를 추가 할 수 없다는 것입니다. 해결 방법은 다음과 같습니다. How to run Visual Studio post-build events for debug build only

+0

Visual Studio는 .exe가 아닌 설치 프로그램을 만들 때 .msi 설치 프로그램을 생성합니다. Visual Studio는 F5를 눌러 솔루션을 빌드/디버깅 할 때만 .exe 파일을 만듭니다. 무엇을 보호해야합니까? 내 XAML? 내 .cs 파일? 내 .exe 또는 내 .proj? 아니면 모든 파일? – KMC

+0

아니요 대부분 솔루션에 두 개의 프로젝트가 있습니다. 하나는 WPF 응용 프로그램 용이고 다른 하나는 설치용입니다. – jgauffin