조립품을 조립할 때 ildasm이 조립품을 분해하는 것이 정상입니까?ILDasm을 사용하여 NGen 조립품을 분해 할 수 있습니까?
확인. HelloWorld 클래스 라이브러리를 작성했고 그 다음 dll의 이름은 NGenILDasmTest.dll입니다. - 대 2010 명령 프롬프트에서 닷넷 FW 4.
대상>, 나는 내가 GAC에 설치된 어셈블리를 볼 수
gacutil -i NGenILDasmTest.dll
했다. 그리고 일리노이를 볼 수 있도록 ildasm을 실행했습니다. 지금까지 너무 좋아.
은 그 때 나는
ngen NGenILDasmTest.dll
(나는 NGEN에 대한 옵션을 지정하지 않았습니다)
를 실행합니다. 그리고이 어셈블리는 성공적으로 컴파일되었습니다. 나는 내가 NGEN 에드 어셈블리의 내용을 볼 수ildasm "C:\Windows\Assembly\NativeImages_v4.0.30319_32\NGenILDasmTest\81d49dd4c7df22fb3df530402b58ffc9\NGenILDasmTest.ni.dll"
아래처럼 ILDASM 실행할 때 나는, 이제 폴더
C:\Windows\Assembly\NativeImages_v4.0.30319_32\NGenILDasmTest\81d49dd4c7df22fb3df530402b58ffc9
에서 이름 NGenILDasmTest.ni.dll와 함께 위치. 이게 정상입니까?
기술적 인면에서 Ngen은 IL에 대한 네이티브 CPU instrcutions을 생성합니다 (내 케이스에서는 C : \ windows \ Assembly \ NAtiveImages_V4. ##### _ 32). 그렇다면 ILDasm을 사용하여 NGen-ed 어셈블리를 IL로 어떻게 볼 수 있습니까?
내가 여기에 실종되었다는 '약간의 문제'를 이해하도록 도와주세요.
+1, 이것이 정확 해 보입니다. –
@vcsjones 동의합니다! 귀하의 대답에있는 그 링크는 그것을 모두 설명합니다. 진정한 리버스 엔지니어링. 한편 NGenILDasmTest.dll에 의해/release 및/debug 모드에서 모두 separetely 빌드를 시도했습니다. 그건 전혀 차이가없는 것처럼 보입니다. 한 가지 더 관찰 된 원래 어셈블리 NGenILDasmTest.dll 탐색기에서 크기를 5KB, Ngen-ed 어셈블리 어셈블리 NGenILDasmTest.ni.dll 10KB입니다. 두 번째 생각이 없다면, 그것은 "NGEN 어셈블리는 IL과 네이티브 코드"라고 믿게됩니다. – gmaran23