Spice86: .NET 기반 실모드 DOS 에뮬레이터를 이용한 리버스 엔지니어링
2025-02-20
Spice86는 소스 코드가 없는 실모드 DOS 프로그램을 실행, 리버스 엔지니어링 및 재작성하기 위한 .NET 기반 에뮬레이터입니다. 프로그램 실행을 에뮬레이트하고, 런타임 데이터(메모리 덤프 및 실행 흐름)를 내보낸 후 spice86-ghidra-plugin을 사용하여 이 데이터를 Ghidra로 가져와 어셈블리 명령어를 C# 코드로 변환합니다. 이를 통해 어셈블리 코드를 C# 메서드로 점진적으로 재작성할 수 있습니다. Spice86은 디버깅, EMS 메모리, A20 게이트, GDB 원격 디버깅 등 다양한 명령줄 옵션과 동적 분석을 위한 사용자 지정 GDB 명령어를 제공합니다. 또한 메모리, 디스어셈블리, 레지스터, 스택 및 구조화된 메모리 뷰를 검사하기 위한 내장 디버거도 포함되어 있습니다.
개발
DOS 에뮬레이터