2014-01-21 2 views
1

다른 .Net 응용 프로그램을 역 어셈블하기 위해 ildasm.exe 도구를 사용하는 동안 다음 행을 발견했습니다..net 응용 프로그램의 CLR 헤더 란 무엇입니까?

은 Program.exe이 유효하지 않습니다 CLR 헤더를 가지고

을 분해 할 수 없습니다하지만 내 코드를 분해하려고 할 때, 그것은 오류를 보여주고, 쉽게 코드를 분해하지 않았다.

결과적으로 CLR 헤더 란 무엇인지 궁금해하고 어셈블리에 유효한 CLR 헤더가있는 장점/단점은 무엇입니까?

아무도 위의 질문에 대답 할 수 있습니까?

msdn을 확인했지만 주제에 대한 많은 정보를 찾을 수 없습니다.

+0

애플리케이션을 작성한 언어는 무엇입니까? –

+0

C#에서 내 응용 프로그램을 작성했습니다. –

+0

"기타 .Net 응용 프로그램"은 .NET 응용 프로그램이 아니어야합니다. –

답변

5

ILDASM.exe는 CLR 코드를 역 어셈블하기위한 것입니다. 유효한 CLR 헤더가 없으면 일반적으로 실행 파일이 다른 언어로 작성되고 기본적으로 컴파일되었음을 의미합니다.

+0

그래서 .Net 앱이 분해되지 않도록 보호 할 방법이 있습니까? –

+2

어떤 프로그램도 디스 어셈블되지 않도록 할 수는 없습니다. 코드 난독 화 (자동화 된 도구를 사용하거나 프로젝트의 컨설턴트로 전문가를 고용하는 것)를 사용하여 해체 된 코드가 수행하는 작업을 파악하는 것이 더 어려워 질 수 있습니다. "[exe 파일을 디 컴파일/크래킹으로부터 보호하는 방법] (http://stackoverflow.com/q/11711446/80274)"을 참조하십시오. –