RedGate의 리플렉터 에 대한 오픈 소스 대안을 아는 사람이 있는지 물어보십시오 . Reflector와 비슷한 도구가 실제로 어떻게 작동하는지 확인하고 싶습니다.
Reflector 의 무료이지만 오픈 소스가 아닌 대안을 알고 있다면 다음 관련 질문에 대답 할 수 있습니다.
요약-2011 년 5 월 11 일 업데이트
제안 된 다양한 오픈 소스 프로젝트 및 도구의 빠른 정리 :
- 공통 컴파일러 인프라 (CCI)
- 모노 세실
- ILSpy
- dnSpy ( ILSpy 포크, 프로젝트가 원본보다 활성화 된 것으로 나타남)
- 닷넷 IL 편집기 (DILE)
- IL.보기
- 모노 플 렉터 ( 2011 년 4 월부터 더 이상 활성화되지 않음 )
다음 자료들도 관심이있을 수 있습니다.
- TypeView.cs
- .NET 분해 에 대한 Jason Haley의 노트
- Adrian Bank의 최근 블로그 게시물 에는 아래에 언급되지 않은 몇 가지 옵션을 포함하여 여러 가지 반사판 대안이 요약되어 있습니다.
- Mark Lichtenberg의 자세한 블로그 게시물에서 여러 오픈 소스 대안 (MonoDevelop을 사용한 DILE, ILSpy 및 Mono Cecil)을 리플렉터와 비교했습니다.
답변
답변
2011 년 12 월 13 일 업데이트
다음과 같은 오픈 소스 도구를 사용할 수 있습니다.
- SharpDevelop 팀의 ILSpy 이 도구를 강조한 Scott Hanselman의 트윗 덕분 입니다.
- Dotnet IL 편집기 (분해기)
- IL.View -Silverlight 4에서 브라우저 외부 Silverlight 응용 프로그램으로 작성된 .NET 반사판 대안입니다. 자세한 내용은이 블로그 게시물을 참조하십시오.
답변
다른 대체품은 dotPeek 입니다. JetBrains는 무료 도구로 발표했습니다. Resharper 와 함께 사용하면 더 많은 기능을 사용할 수 있지만 단독으로 사용하더라도 매우 잘 작동합니다.
사용자 경험은 독립형 디스어셈블러보다 MSVS와 유사합니다. Reflector보다 코드를 읽는 것이 더 좋습니다. Ctrl + T 탐색도 더 적합합니다. 트리를 코드 창과 동기화하는 것이 더 좋습니다.
대체로 아직 개발 중이지만 이미 잘 사용할 수 있습니다.
답변
Telerik은 오늘 자체 디 컴파일 툴인 JustDecompile 베타를 발표했다 . 비공개 소스이지만 무료이며 유망한 것으로 보입니다.
답변
답변
실제로 Reflector는 디 컴파일러 기능이있는 디스어셈블러로 간주됩니다. 디스어셈블러는 어셈블리 파일에서 바이트를 읽고 어셈블리 언어 (이 경우 ILasm)로 변환하기 때문에 디스어셈블러입니다. IL을 잘 알려진 패턴 (표현식 및 문장)으로 구문 분석하여 제공하는 디 컴파일러 기능은 C #, VB.Net 등과 같은 고급 언어로 번역됩니다. Reflector 용 addin api를 사용하면 자체 언어 번역기를 작성할 수 있습니다. 당신이 원하지만 … IL을 표현 트리로 구문 분석하는 방법의 마술은 밀접한 비밀입니다.
IL 디스어셈블러의 작동 방식을 이해하려면 위에서 언급 한 세 가지 중 하나를 살펴 보는 것이 좋습니다. Dile, CCI 및 Mono는 모두이 자료의 좋은 소스입니다.
또한 Ecma 335 사양 및 Serge Lidin의 책을 얻는 것이 좋습니다.
답변
내가 리플렉터를 사용한 주된 이유는 (그리고 대부분의 사람들이 그것을 사용한 주된 이유는) 디 컴파일러 때문이었습니다. 메소드의 IL을 소스 코드로 다시 변환 할 수 있습니다.
그 시점 에서 Monoflector 는 볼 프로젝트입니다. 리플렉션을 수행하는 Cecil과 디 컴파일을 수행하는 Cecil.Decompiler를 사용합니다. 그러나 Monoflector는 두 라이브러리 위에 UI를 계층화하므로 API 사용 방법을 매우 잘 이해할 수 있습니다.
Monoflector는 Reflector를 완전히 대체 할 수있는 훌륭한 대안입니다. 사람들이 Reflector를 사용한 것의 99 % 인 타입을 탐색하고 메소드를 디 컴파일 할 수 있습니다. 가장자리가 매우 거칠지 만 빠르게 변경 될 것이라고 생각합니다.