소개
dnSpy는 .NET 및 Unity 어셈블리를 디버그하고 편집할 수 있는 오픈소스 도구입니다. 소스 코드가 없어도 어셈블리를 분석하고 수정할 수 있어 개발자와 리버스 엔지니어에게 유용합니다. GPL-3.0-only 라이선스로 배포되며, 64비트 Windows 환경에서 실행됩니다. 공식 소스는 GitHub 저장소이며, 최신 버전은 6.1.8입니다.
상세정보
.NET 및 Unity 어셈블리 디버그
.NET Framework, .NET 및 Unity 게임 어셈블리를 소스 코드 없이 디버그할 수 있습니다. 브레이크포인트를 설정하고 단계별 실행을 통해 어셈블리의 동작을 분석할 수 있습니다.
어셈블리 편집
모든 메타데이터를 편집하고, C# 또는 Visual Basic으로 메서드와 클래스를 수정할 수 있습니다. IntelliSense 기능을 지원하며, 새로운 메서드, 클래스 또는 멤버를 추가할 수 있습니다. IL 편집기를 통해 저수준 메서드 본체를 직접 수정할 수 있습니다.
헥스 에디터
디컴파일된 코드의 주소를 클릭하면 해당 IL 코드를 헥스 에디터에서 확인할 수 있습니다. 반대로 IL 본체에서 F12를 누르면 디컴파일된 코드로 이동할 수 있습니다. .NET 메타데이터 및 PE 구조를 하이라이트하고, 툴팁으로 상세 정보를 제공합니다.
기타 기능
BAML 디컴파일러, 블라이트 및 다크 테마(고대비 다크 테마 포함), 북마크, C# Interactive 윈도우를 통한 스크립팅, 어셈블리 내 클래스, 메서드, 문자열 검색, 클래스 및 메서드 사용 분석, 다중 탭 및 탭 그룹 지원, 참조 하이라이트 및 이동 기능, 엔트리 포인트 및 모듈 초기화자 명령 제공, 메타데이터 토큰 및 행 명령 지원, 코드 툴팁(C# 및 Visual Basic) 제공, 프로젝트로 내보내기 기능이 포함됩니다.
다운로드·설치 방법
공식 바이너리는 GitHub 릴리스 페이지에서 다운로드할 수 있습니다. ZIP 형식으로 제공되며, 압축을 해제한 후 dnSpy.exe 파일을 실행하면 됩니다. Scoop 패키지 관리자를 사용할 경우 scoop install dnspyex 명령으로 dnspyex 패키지를 설치할 수 있습니다.
기본 사용법/명령어
dnSpy를 실행한 후, 디버그하려는 어셈블리를 파일 메뉴에서 열거나 드래그 앤 드롭으로 불러올 수 있습니다. 디버그를 시작하려면 디버그 메뉴에서 ‘프로세스에 연결’을 선택하거나 Ctrl+Alt+P 단축키를 사용할 수 있습니다. 연결 가능한 프로세스 목록에서 대상 프로세스를 선택하면 디버깅이 시작됩니다. 어셈블리 편집은 트리 뷰에서 항목을 우클릭하여 컨텍스트 메뉴에서 편집 옵션을 선택하면 됩니다.
이런 경우에 유용합니다
소스 코드가 손실되거나 제공되지 않은 .NET 어셈블리를 분석해야 하는 개발자에게 유용합니다. 예를 들어, 배포된 애플리케이션의 동작을 이해하거나 보안 취약점을 분석할 때 사용할 수 있습니다. Unity 게임의 런타임 동작을 디버그하거나 수정해야 하는 경우에도 유용하게 사용할 수 있습니다.
지원 환경·시스템 요구사항
64비트 Windows 운영체제에서 실행됩니다. .NET Framework가 설치된 환경이 필요하며, 특정 기능을 사용하기 위해 추가적인 디버깅 심볼이 유용할 수 있습니다.
최신 버전·업데이트
현재 버전은 6.1.8이며, 공식 GitHub 저장소의 릴리스 페이지에서 최신 버전 정보를 확인할 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


