2014-04-25 3 views
-1

는 .NET 어셈블리 척 할 수있는 도구가되는으로 암호화하지 않은 .NET 총회 때 누군가 .NET 반사판 또는 ILSpy 등을 사용하여 소스 코드를 볼려고 ...? .NET 리플렉터에 도구를 넣을 때 도구가 .NET 어셈블리가 아님을 알 수 있습니다..NET 조립하지 .NET 어셈블리

+0

http://stackoverflow.com/q/506282/3043 –

+1

는이 작업을 수행 할 수없는 경우에도, 그것은 도움이되지 않습니다. 기본 바이너리도 디 컴파일 할 수 있습니다. –

답변

0

짧은 대답은입니다. 문제는 .NET 런타임이 어셈블리를 인식하고로드 할 수 있어야한다는 것입니다. 그것이 가능하다면, 누군가는 같은 것을하기위한 도구를 쓸 수 있습니다. 어셈블리를 암호화하고로드하기 전에 해독하더라도 사용자는 여전히 해독 된 버전을 캡처 할 수 있습니다.

난 당신이 어셈블리 내부의 코드를 보호하려는 가정합니다. 코드를 보호하는 가장 좋은 방법은 고객에게을 제공하지 않는 것입니다. 응용 프로그램에서 서버에서 호스팅되는 코드를 다시 호출하게하십시오. 물론 이것은 모든 종류의 응용 프로그램에 적합하지 않습니다.

두 번째 최선의 선택은 코드 난독입니다. 변수, 메소드 및 클래스 이름을 맹 글링하여 코드를 이해하기 어렵게 만드는 많은 도구가 있습니다. 그러나 사람들이 여전히 코드를로드하고 검사 할 수 있으므로 제한적인 이점을 제공합니다. 결국 당신이 타사 솔루션을 사용하지 않고 자동으로 원하는 것을 얻을 해제 될 때

+0

그러나 MoleBox는 어떻게 할 수 있습니까? 나는 MoleBox를 사용하고 난 ILSpy 시도하고 자사가 .NET 어셈블리하지만 MoleBox의 문제는 내가 당신 경우 MoleBox – user3425606

+0

를 사용하지 않는 이유입니다, 시작할 때 메시지가 도구 MoleBox을 사용하고 먹으 렴 보여줍니다하지 않는 것이 말한다 EXE에 대해 이야기하고 있으므로이를 감쌀 수 있습니다. Themida (http://www.oreans.com/ 참조)는 또 다른 좋은 래퍼입니다. 그러나 누군가가 언 래퍼를 쉽게 작성할 수 있습니다. 비용 상 이점이 있습니다. 해커가 아닌 대부분의 사람들을 행복하게 멈추게하려면 래퍼를 사용하십시오. 당신은 결정적인 해커를 멈추지 않을 것입니다. – akton

+0

도움 주셔서 감사합니다. – user3425606

0

마이크로 소프트는, 따라서,

http://msdn.microsoft.com/en-US/vstudio/dotnetnative

을 .NET 기본을 미리하고있다.

는 @JoelCoehoorn 어떤 프로그램을 분해하고 분석 할 수있는 정확하다는 것을 기억하십시오. 정말로 비밀을 숨기고 싶다면 아마 선을 쓰면 안됩니다. 우리가 추가 한 모든 보호는 금이가는 것을 더욱 어렵게 만듭니다.