Skip to content

Latest commit

 

History

History
50 lines (40 loc) · 2.69 KB

File metadata and controls

50 lines (40 loc) · 2.69 KB
tags
windows
reverse_engineering
debugging
pwnable
dotnet

설명


dnSpy는 .NET 기반 응용 프로그램(C#, VB.NET 등)에서 사용되는 어셈블리(실행파일, DLL 등)를 디컴파일, 분석, 수정 할 수 있는 리버스 엔지니어링 도구 입니다.

설치 영역


해당 프로그램은 portable파일을 지원함으로, 설치하지 않고 사용이 가능합니다.

주요 기능


  • 디컴파일: .NET 어셈블리를 IL, C#, VB.NET 등으로 디컴파일
  • 코드 수정 및 리빌드: 디컴파일 된 코드를 직접 수정하고 다시 컴파일 가능
  • 디버깅 기능 내장: 실시간 디버깅 기능 지원
  • 리소스 편집기 내장: 어셈블리에 포함된 리소스(이미지, 문자열 등) 수정 가능
  • 다양한 뷰어 제공: IL 코드, C# 코드, 메타데이터, 트리 뷰 등 구조 확인 가능

설치 방법


  1. dnSpy 웹사이트 또는 깃허브에 접속하여 환경에 맞는 파일 다운로드합니다.
  2. 다운로드 된 파일의 압축을 해제하여 사용하시면 됩니다.

간단 가이드


  1. 어셈블리 열기: File > Open 메뉴를 통해 분석할 .NET 어셈블리 파일(예: .exe, .dll)을 엽니다.

  2. 코드 탐색: 왼쪽 Assembly Explorer 패널에서 로드된 어셈블리의 트리 구조를 탐색합니다. 클래스, 메서드, 필드 등을 클릭하면 오른쪽 Code 패널에 해당 코드가 디컴파일된 형태로 표시됩니다.

  3. 코드 수정 및 저장: Code 패널에서 디컴파일된 C# 또는 VB.NET 코드를 직접 수정할 수 있습니다. 수정 후 File > Save Module 또는 File > Save All을 통해 변경 사항을 저장할 수 있습니다. (주의: 원본 파일이 변경되므로 백업 후 작업하는 것이 좋습니다.)

  4. 디버깅: Debug > Start Debugging (F5)를 선택하여 어셈블리를 디버깅할 수 있습니다. 코드에 브레이크포인트를 설정하고(F9), 단계별 실행(F10, F11), 변수 값 확인 등 일반적인 디버거 기능을 사용할 수 있습니다.

  5. 검색 기능: Search > Search (Ctrl+Shift+K)를 사용하여 어셈블리 내에서 특정 문자열, 메서드, 클래스 등을 검색할 수 있습니다.

사용 시 주의 사항

  • 난독화 된 코드에는 일부 제한
  • 디컴파일 된 코드는 원래 코드와 다소 다를 수 있음
  • 상업용 소프트웨어에 대한 무단 분석/수정은 법적 문제 발생 가능

관련 URL


dnSpy 웹사이트 dnSpy 깃허브