| tags |
|
|---|
dnSpy는 .NET 기반 응용 프로그램(C#, VB.NET 등)에서 사용되는 어셈블리(실행파일, DLL 등)를 디컴파일, 분석, 수정 할 수 있는 리버스 엔지니어링 도구 입니다.
해당 프로그램은 portable파일을 지원함으로, 설치하지 않고 사용이 가능합니다.
디컴파일: .NET 어셈블리를 IL, C#, VB.NET 등으로 디컴파일코드 수정 및 리빌드: 디컴파일 된 코드를 직접 수정하고 다시 컴파일 가능디버깅 기능 내장: 실시간 디버깅 기능 지원리소스 편집기 내장: 어셈블리에 포함된 리소스(이미지, 문자열 등) 수정 가능다양한 뷰어 제공: IL 코드, C# 코드, 메타데이터, 트리 뷰 등 구조 확인 가능
- dnSpy 웹사이트 또는 깃허브에 접속하여 환경에 맞는 파일 다운로드합니다.
- 다운로드 된 파일의 압축을 해제하여 사용하시면 됩니다.
-
어셈블리 열기:
File > Open메뉴를 통해 분석할 .NET 어셈블리 파일(예:.exe,.dll)을 엽니다. -
코드 탐색: 왼쪽
Assembly Explorer패널에서 로드된 어셈블리의 트리 구조를 탐색합니다. 클래스, 메서드, 필드 등을 클릭하면 오른쪽Code패널에 해당 코드가 디컴파일된 형태로 표시됩니다. -
코드 수정 및 저장:
Code패널에서 디컴파일된 C# 또는 VB.NET 코드를 직접 수정할 수 있습니다. 수정 후File > Save Module또는File > Save All을 통해 변경 사항을 저장할 수 있습니다. (주의: 원본 파일이 변경되므로 백업 후 작업하는 것이 좋습니다.) -
디버깅:
Debug > Start Debugging(F5)를 선택하여 어셈블리를 디버깅할 수 있습니다. 코드에 브레이크포인트를 설정하고(F9), 단계별 실행(F10,F11), 변수 값 확인 등 일반적인 디버거 기능을 사용할 수 있습니다. -
검색 기능:
Search > Search(Ctrl+Shift+K)를 사용하여 어셈블리 내에서 특정 문자열, 메서드, 클래스 등을 검색할 수 있습니다.
- 난독화 된 코드에는 일부 제한
- 디컴파일 된 코드는 원래 코드와 다소 다를 수 있음
- 상업용 소프트웨어에 대한 무단 분석/수정은 법적 문제 발생 가능