몇 년 전에 클라이언트를 위해 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 어셈블리 브라우저 및 디 컴파일러입니다.
ILSpy 기능
- 어셈블리 브라우징
- IL 분해
- C #으로 디 컴파일
- 람다 및 ‘수율 반환’지원
- XML 문서를 보여줍니다
- 자원 절약
- 유형 / 방법 / 속성 검색 (하위 문자열)
- 하이퍼 링크 기반 유형 / 방법 / 속성 탐색
- 기본 / 파생 유형 탐색
- 탐색 기록
- BAML에서 XAML 디 컴파일러로
- C # 프로젝트로 어셈블리 저장
- 필드 / 방법의 사용법 찾기
- 플러그인 (MEF)을 통해 확장 가능
최신 정보:
2012 년 4 월 15 일, ILSpy 2.0이 출시되었습니다. 버전 1.0과 비교 한 새로운 기능 :
- 조립 목록
- 식 트리 디 컴파일 지원
- nullable에 대한 리프팅 연산자 지원
- Visual Basic으로 디 컴파일
- 공백으로 구분 된 여러 문자열 검색 (ILSpy.exe에서 “어셈블리 관리자”를 검색하면 AssemblyListManager가 있음)
- 지역 변수를 클릭하면 해당 변수의 다른 모든 항목이 강조 표시됩니다
- 디 컴파일 된 코드보기 내에서 Ctrl + F를 사용하여 검색 할 수 있습니다.
최신 정보:
- ILSpy 2.1은 비동기 / 대기 디 컴파일을 지원합니다
답변
리플렉터는 더 이상 일반적으로 무료가 아니지만 오픈 소스 개발자에게 무료로 제공합니다 : 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을 가정하고 다른 버전과 비슷해야 함) :
- 시작> 모든 프로그램> Visual Studio 2013> Visual Studio 도구를 선택하십시오.
- VS2013의 개발자 명령 프롬프트를 두 번 클릭하십시오.
- 결과 명령 프롬프트에서 “ildasm”을 실행하십시오.
- 도구에서 파일> 열기를 선택하고 실행 파일 또는 DLL을여십시오.
이제 DLL 구조를 탐색 할 수 있습니다. 수업 일원을 두 번 클릭하여 IL을보십시오. 파일> 덤프를 사용하여 IL을 파일로 내 보냅니다.