C#, .Net Decomplier - dotPeek
C#, .Net으로 만들어진 .exe 파일의 소스를 들여다보고 싶으면?
바로 Decomplier를 사용하면 되는데, 그 정류도 다양하죠.
Reflector, justdecomplie, dotPeek 등등..
흔히들 reflector를 가장 많이쓰는것 같습니다. (저만의 아주 좁은 시야... 로..)
dotPeek은 Symbol (함수나 변수 등) Usgae를 보여주는 장점이 있고 인터페이스도 깔끔한것 같습니다.
reflector는 그냥 텍스트만 보여주죠..
하지만 난독화라던지, 디컴파일에 방해되는 장치가 있을경우 dotPeek의 장점은 좀 줄어든다곤 하는데
사실 제가 소스를 날려먹은 입장에서 다시 복구하려고 하는짓이니
그것에 대한 단점은 생각 안하기로 했습니다 ㅎㅎ.
아무튼!!
이렇게 C#, .Net 프로그램을 위에 그림처럼 디컴파일 해주는 녀석.. 이랍니다.
물론 free software, 공짜이며 자바나 잡다한 프로그램의 설치가 필요 없습니다.
상대적으로 reflector같은 다른 decompiler에 비해 용량이 좀 큰편인것 같긴 합니다.
다운로드:
https://www.jetbrains.com/decompiler/
위의 다운로드 사이트에 들어가셔서 Download dotPeek 1.3을 눌러주시면 바로 다운로드가 시작됩니다.
portable 형식의 프로그램은 아니고, Install 하셔야합니다.
dotPeek.01.web.exe 이라는 파일을 받으셨을 텐데, 웹으로부터 설치하는 방식입니다.
설치파일을 실행하시면 위와 같이 뜨는데,
DotPeek 1.3 Update1 (차후에 업데이트 되면 버전이 다르겠죠)만 설치해주시면 됩니다.
저는 이미 설치했기 때문에 Repair, 이렇게 뜨는데 맨위에 Install만 하시면 됩니다.
나머지 아래 4개에 대해서는 굳이 용도가 없으시면 설치 안하셔도 됩니다.
설치가 끝난 후에 JetBrain dotPeek를 실행하신 후에
File -> open -> filename.exe 파일을 여시면 바로 디컴파일된 프로그램의 소스를 확인하실 수 있습니다.
dotPeek에서 본인들이 소개하는 자신의 프로그램의 강점 10가지라고 하네요.
1. Decompiling .NET 1.0-4.5 assemblies to C#
- .Net버전 1~4.5까지 C#으로 디컴파일링 가능하다는것.
2. Exporting decompiled code to Visual Studio projects
Visual Studio project로 decompile 된 코드를 넘겨줄 수 있다는것.
3. Support for downloading code from source servers and PDB files generation
4. Quick jump to a type, assembly, symbol, or type member
- 각 심볼에 대해 빠르게 jump가 가능하다는것
5. Effortless navigation to symbol declarations, implementations, derived and base symbols, and more
- 심볼(함수, 변수 등) 구현으로 쉽게 이동 가능
6. Accurate search for symbol usages with advanced presentation of search results
- 이전 검색결과의 심볼사용에 대한 정확한 검색 가능
7. Overview of inheritance chains
- 상속체인 쉽게 보기 가능
8. Syntax highlighting
- 문법 구성요소 하이라이트 기능
9. Complete keyboard support
10. dotPeek is free!
- 꽁짜!
블로그 봐주셔서 감사합니다.