몇 년 전에 클라이언트를 위해 C # 응용 프로그램을 작성했지만 더 이상 소스 코드가 없습니다. 내가 가진 것은 클라이언트 PC에 배포 한 EXE입니다. EXE에서 C # 소스 코드를 생성 할 수있는 방법이 있습니까?
몇 년 전에 클라이언트를 위해 C # 응용 프로그램을 작성했지만 더 이상 소스 코드가 없습니다. 내가 가진 것은 클라이언트 PC에 배포 한 EXE입니다. EXE에서 C # 소스 코드를 생성 할 수있는 방법이 있습니까?
답변:
리플렉터 와 추가 기능 FileDisassembler .
리플렉터는 소스 코드를 볼 수 있습니다. FileDisassembler를 사용하면 VS 솔루션으로 변환 할 수 있습니다.
Red Gate가 더 이상 .Net Reflector의 무료 버전이 없다고 말했을 때 ILSpy 와 Telerik의 JustDecompile을 사용하기 시작했습니다 . ILSpy가 JustDecompile (아직 베타 버전 임)보다 더 정확하게 디 컴파일하는 것을 발견했습니다. 레드 게이트는 그들의 결정을 바꾸었고 여전히 .Net Reflector의 무료 버전을 가지고 있지만, 지금은 ILSpy를 좋아합니다.
ILSpy 웹 사이트 ( https://github.com/icsharpcode/ILSpy/ )에서 :
ILSpy 는 오픈 소스 .NET 어셈블리 브라우저 및 디 컴파일러입니다.
최신 정보:
2012 년 4 월 15 일, ILSpy 2.0이 출시되었습니다. 버전 1.0과 비교 한 새로운 기능 :
최신 정보:
리플렉터는 더 이상 일반적으로 무료가 아니지만 오픈 소스 개발자에게 무료로 제공합니다 : http://reflectorblog.red-gate.com/2013/07/open-source/
그러나 DevExtras 및 JetBrains와 같은 몇몇 회사는 무료 대안을 만들었습니다.
Denis Bauer의 리플렉터와 파일 디스어셈블러 애드 인 실제로 Reflector 자체는 디스 어셈블 된 소스 만 표시하는 어셈블리에서 소스 프로젝트를 생성합니다.
추가 : 내가 가장 좋아하는 것은 JetBrains ' dotPeek 입니다.
Telerik JustDecompile 은 무료이며 .NET 어셈블리에서 프로젝트를 생성하는 기능이 있습니다.
아무도 Microsoft의 ildasm 을 언급하지 않은 것에 놀랐습니다 . ILSpy 또는 Reflector만큼 예쁘지 않을 수도 있지만 Visual Studio와 함께 제공되므로 많은 개발자가 이미 가지고 있습니다.
실행하려면 (VS 2013을 가정하고 다른 버전과 비슷해야 함) :
이제 DLL 구조를 탐색 할 수 있습니다. 수업 일원을 두 번 클릭하여 IL을보십시오. 파일> 덤프를 사용하여 IL을 파일로 내 보냅니다.