굉장히 대초원 불가피한 .NET 디컴파일러 dnSpy를 사용해 본다
이게 뭐야?
아침에 트위터를 보면 neuecc 선생님이
재차 dnSpy, 터무니 없이 멋진 할 수 있어, 진짜 해커다구나라는 느낌. 진짜 해커는 GUI도 완벽하게 만들 수 있습니다 ....... htps // t. 코/도 ZFn Tp — neuecc (@neuecc) 2017년 3월 16일
라고 하는 트윗을 하고 있어, 무엇 이것?이라고 생각하면서, 일 돌아와서 만져 보았다.
그렇다면 너무 굉장히 잔디 밖에 나지 않았기 때문에 졸속은 능숙하게 이긴다 1
C#이나, VB나의 디컴파일러는 IL Spy라든지가 유명합니다만, 그 훨씬 위를 뚫은 것 같은 디컴파일러.
무엇이 굉장하다고 말하면
등등, 올리면 딱이 없을 만큼 훌륭한 툴이 되어 있습니다.
입수 및 배치
여기 부터 가능합니다.
Readme 부분에 있는 "Binaries"에서 다운로드 가능합니다.(아래 그림 참조)
떨어뜨리면, Zip을 적당한 장소에 전개하면 배치는 완료.
실행 방법
디컴파일만 있으면 특별히 문제가 되지 않지만 dnSpy로 디버깅하는 경우 32비트와 64비트로 애플리케이션을 분리해야 합니다.
32bit 어셈블리의 경우 dnSpy-x86.exe를 사용하고 64bit 어셈블리의 경우 dnSpy.exe를 사용합니다.
또, AnyCpu로 빌드하고 있는 경우는, 빌드 옵션중의 32bit의 우선이 들어가 있으면, 32bit판, 포함되어 있지 않으면 64bit판의 어플리케이션을 사용해 주세요.
실행 후,
1. 파일
2. Open
의 순서를 밟아, 목표의 파일을 열거나, 대상이 되는 파일을 드래그&드롭 하면 OK입니다.
약간의 주의
IL Spy와 달리 참조중인 어셈블리는 파일 잠기므로 다시 컴파일하는 경우 Assembly Explorer에서 대상 어셈블리를 지정한 후 Delete하는 등 참조를 해제하는 것이 필수입니다.
사용법
후에는 거의 Visual Studio와 UI도 UX도 같기 때문에 VisualStudio를 사용하시는 분은 부자유 없이 사용할 수 있을까 생각합니다.
너무 아직 괴롭히지 않았지만, 현시점에서 개인적으로 조금 빠진 곳은,
메소드 편집
편집하려는 메소드를 선택하고 바로 가기 메뉴에서 EditMethod를 선택합니다. 편집 후 오른쪽 하단의 Compile을 선택하고 Editor를 빠져 나옵니다.
정도였습니다.
요약
어셈블리만 존재하는 상태에서 디버그, 에디트가 가능한데, Visual Studio에서 하려고 하면 엄청나게 귀찮게 되는 IL 레벨의 스텝 디버깅이 가능하다는 훌륭한 도구였습니다.
잡기 : IL Spy는 필요없는 아이?
처음 dnSpy만으로 좋을까라고 생각했지만, IL Spy 필요합니까?라고 하면 Yes군요!
앞에서 언급했듯이 File 잠금이 걸리므로 PerCompiling과의 궁합이 좋지 않습니다.
그래서, 적절히 타당하게 구분하면 아마 행복해질 수 있다고 생각합니다.
편집 횟수를 볼 수 있다면 추측해야합니다. ↩
Reference
이 문제에 관하여(굉장히 대초원 불가피한 .NET 디컴파일러 dnSpy를 사용해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tokeiya/items/54fbf30cb21c77c05c41
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
디컴파일만 있으면 특별히 문제가 되지 않지만 dnSpy로 디버깅하는 경우 32비트와 64비트로 애플리케이션을 분리해야 합니다.
32bit 어셈블리의 경우 dnSpy-x86.exe를 사용하고 64bit 어셈블리의 경우 dnSpy.exe를 사용합니다.
또, AnyCpu로 빌드하고 있는 경우는, 빌드 옵션중의 32bit의 우선이 들어가 있으면, 32bit판, 포함되어 있지 않으면 64bit판의 어플리케이션을 사용해 주세요.
실행 후,
1. 파일
2. Open
의 순서를 밟아, 목표의 파일을 열거나, 대상이 되는 파일을 드래그&드롭 하면 OK입니다.
약간의 주의
IL Spy와 달리 참조중인 어셈블리는 파일 잠기므로 다시 컴파일하는 경우 Assembly Explorer에서 대상 어셈블리를 지정한 후 Delete하는 등 참조를 해제하는 것이 필수입니다.
사용법
후에는 거의 Visual Studio와 UI도 UX도 같기 때문에 VisualStudio를 사용하시는 분은 부자유 없이 사용할 수 있을까 생각합니다.
너무 아직 괴롭히지 않았지만, 현시점에서 개인적으로 조금 빠진 곳은,
메소드 편집
편집하려는 메소드를 선택하고 바로 가기 메뉴에서 EditMethod를 선택합니다. 편집 후 오른쪽 하단의 Compile을 선택하고 Editor를 빠져 나옵니다.
정도였습니다.
요약
어셈블리만 존재하는 상태에서 디버그, 에디트가 가능한데, Visual Studio에서 하려고 하면 엄청나게 귀찮게 되는 IL 레벨의 스텝 디버깅이 가능하다는 훌륭한 도구였습니다.
잡기 : IL Spy는 필요없는 아이?
처음 dnSpy만으로 좋을까라고 생각했지만, IL Spy 필요합니까?라고 하면 Yes군요!
앞에서 언급했듯이 File 잠금이 걸리므로 PerCompiling과의 궁합이 좋지 않습니다.
그래서, 적절히 타당하게 구분하면 아마 행복해질 수 있다고 생각합니다.
편집 횟수를 볼 수 있다면 추측해야합니다. ↩
Reference
이 문제에 관하여(굉장히 대초원 불가피한 .NET 디컴파일러 dnSpy를 사용해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tokeiya/items/54fbf30cb21c77c05c41
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
후에는 거의 Visual Studio와 UI도 UX도 같기 때문에 VisualStudio를 사용하시는 분은 부자유 없이 사용할 수 있을까 생각합니다.
너무 아직 괴롭히지 않았지만, 현시점에서 개인적으로 조금 빠진 곳은,
메소드 편집
편집하려는 메소드를 선택하고 바로 가기 메뉴에서 EditMethod를 선택합니다. 편집 후 오른쪽 하단의 Compile을 선택하고 Editor를 빠져 나옵니다.
정도였습니다.
요약
어셈블리만 존재하는 상태에서 디버그, 에디트가 가능한데, Visual Studio에서 하려고 하면 엄청나게 귀찮게 되는 IL 레벨의 스텝 디버깅이 가능하다는 훌륭한 도구였습니다.
잡기 : IL Spy는 필요없는 아이?
처음 dnSpy만으로 좋을까라고 생각했지만, IL Spy 필요합니까?라고 하면 Yes군요!
앞에서 언급했듯이 File 잠금이 걸리므로 PerCompiling과의 궁합이 좋지 않습니다.
그래서, 적절히 타당하게 구분하면 아마 행복해질 수 있다고 생각합니다.
편집 횟수를 볼 수 있다면 추측해야합니다. ↩
Reference
이 문제에 관하여(굉장히 대초원 불가피한 .NET 디컴파일러 dnSpy를 사용해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tokeiya/items/54fbf30cb21c77c05c41
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
처음 dnSpy만으로 좋을까라고 생각했지만, IL Spy 필요합니까?라고 하면 Yes군요!
앞에서 언급했듯이 File 잠금이 걸리므로 PerCompiling과의 궁합이 좋지 않습니다.
그래서, 적절히 타당하게 구분하면 아마 행복해질 수 있다고 생각합니다.
편집 횟수를 볼 수 있다면 추측해야합니다. ↩
Reference
이 문제에 관하여(굉장히 대초원 불가피한 .NET 디컴파일러 dnSpy를 사용해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Tokeiya/items/54fbf30cb21c77c05c41텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)