2013-06-06 3 views
3

Ngen을 완벽한 Code Obfuscator로 사용하여 .NET CIL이 클라이언트에 도달하는 것을 보호 할 수 있습니까?Ngen을 코드 보안에 사용할 수 있습니까?

내 dev PC에서 Ngen을 실행하고 호환 가능한 .NET 프레임 워크 버전이있는 모든 클라이언트에 exe를 제공 ​​할 수 있습니까? (둘 다 x86 또는 x64라고 가정) Ngen'd exe의 기계 간 차이점은 무엇입니까?

최신 Ngen은 IL + 네이티브 코드가 포함 된 exe를 생성합니다.이 코드는 Reflector와 같은 것을 사용하여 소스 코드로 추출 및 "변환"할 수 있습니다. 그러나 ngen for .NET framework 1.1은 생성 된 exe에서 IL을 제거하므로 .NET Framework 1.1을 사용하는 경우 코드 보안을위한 가능한 선택입니다.

+0

아니요. http://stackoverflow.com/questions/1779093/does-it-make-sense-to-distribute-pre-ngen-ed-assemblies/1779142#1779142 – gtonic

+0

NGEN이 여러 개인 경우 x86/x64, AMD, 인텔 등을위한 빌드 –

답변

4

아니요, CLR은 해당 네이티브 이미지를 찾으려면 IL 조립이 필요합니다. 따라서 IL 바이너리를 배포해야합니다. CLR이 네이티브 이미지를 찾는 방법에 대한 자세한 내용은이 페이지를 참조하십시오. http://blogs.msdn.com/b/abhinaba/archive/2013/12/11/net-loading-native-ngen-images-and-its-interaction-with-the-gac.aspx

또한 NGEN 이미지는 배포하도록 설계되지 않았습니다. 네이티브 이미지 생성은 실행되는 머신과 밀접하게 결합됩니다.