512바이트 x86 부트 섹터에서 실행되며 가짜 Linux 부팅 로그를 만들어 내는 작은 문자 단위 언어 모델입니다.
unicorn-engine/unicorn
QEMU 기반의 경량 CPU 에뮬레이터 프레임워크로, 아키텍처에 구애받지 않는 깔끔한 API를 통해 여러 아키텍처의 기계어를 실행합니다.
- 스타
- 9,535
- 포크
- 1,585
- 열린 이슈
- 237
- 마지막 커밋
- 19일 전
어떤 프로젝트인가요?
Unicorn은 QEMU 기반의 CPU 에뮬레이터 프레임워크입니다. 전체 운영체제나 실제 하드웨어 없이 ARM, ARM64, M68K, MIPS, PowerPC, RISC-V, SPARC, S390X, TriCore, X86(16비트, 32비트, 64비트) 등의 아키텍처용 기계어를 로드하고 실행할 수 있습니다.
프레임워크는 아키텍처에 구애받지 않는 단일 API를 제공하므로, 레지스터 설정, 메모리 매핑, 명령어 실행에 사용하는 동일한 코드를 지원되는 CPU 전반에서 사용할 수 있습니다. C로 구현되어 있으며 Python, Rust, Go, Java, .NET, Ruby, Lua 등 다양한 언어용 바인딩을 제공합니다. Windows와 Linux, macOS, Android, BSD 계열 등의 *nix 시스템에서 실행됩니다.
Unicorn은 성능을 위해 JIT 컴파일을 사용하며, 여러 수준에서 세밀하게 계측할 수 있는 후크를 제공합니다. GPLv2 라이선스로 배포됩니다.
핵심 기능
- 01ARM, ARM64, M68K, MIPS, PowerPC, RISC-V, SPARC, S390X, TriCore, X86 CPU를 에뮬레이션합니다.
- 02지원되는 모든 CPU에서 공통으로 사용하는 깔끔한 아키텍처 중립 API를 제공합니다.
- 03Python, Rust, Go, Java, .NET 및 다양한 언어용 바인딩을 제공합니다.
- 04실행 속도를 높이기 위해 JIT 컴파일을 사용합니다.
- 05에뮬레이션 중 세밀하게 계측할 수 있는 후크를 지원합니다.
활용 사례
- 여러 CPU 아키텍처의 기계어를 분석하거나 리버스 엔지니어링합니다.
- 제어된 에뮬레이션 환경에서 코드를 실행해 바이너리를 퍼징합니다.
- 실제 하드웨어 없이 펌웨어나 임베디드 코드를 테스트합니다.
- 계측 기능을 활용해 명령어를 실행해야 하는 맞춤형 도구를 만듭니다.
빠른 시작
- 1
docs/COMPILE.md의 컴파일 및 설치 가이드를 읽으세요
- 2
PyPI에서 Python 바인딩을 설치하세요
pip install unicorn
사용 전 알아둘 점
- 카피레프트 라이선스인 GPLv2로 제공되므로, 독점 소프트웨어에서의 사용이 제한될 수 있습니다.
- README에는 다른 언어를 위한 사전 빌드된 설치 방법이 언급된 컴파일 가이드 외에는 안내되어 있지 않습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- unicorn은(는) 무엇인가요?
- QEMU 기반의 경량 CPU 에뮬레이터 프레임워크로, 아키텍처에 구애받지 않는 깔끔한 API를 통해 여러 아키텍처의 기계어를 실행합니다. Unicorn은 QEMU 기반의 CPU 에뮬레이터 프레임워크입니다. 전체 운영체제나 실제 하드웨어 없이 ARM, ARM64, M68K, MIPS, PowerPC, RISC-V, SPARC, S390X, TriCore, X86(16비트, 32비트, 64비트) 등의 아키텍처용 기계어를 로드하고 실행할 수 있습니다.
- unicorn은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- unicorn은(는) GPL-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- unicorn은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. unicorn의 마지막 커밋은 2026년 10월 18일입니다.
- unicorn은(는) 어디에 사용할 수 있나요?
- 여러 CPU 아키텍처의 기계어를 분석하거나 리버스 엔지니어링합니다. 제어된 에뮬레이션 환경에서 코드를 실행해 바이너리를 퍼징합니다. 실제 하드웨어 없이 펌웨어나 임베디드 코드를 테스트합니다. 계측 기능을 활용해 명령어를 실행해야 하는 맞춤형 도구를 만듭니다.
- unicorn는 어떻게 설치하나요?
- docs/COMPILE.md의 컴파일 및 설치 가이드를 읽으세요 PyPI에서 Python 바인딩을 설치하세요: pip install unicorn
- unicorn은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/unicorn-engine/unicorn
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
컴퓨터 구조 교육을 위한 Qt 기반 RISC-V CPU 시뮬레이터로, 브라우저에서 실행되는 WebAssembly 빌드도 제공합니다.
실제 운영체제를 부팅할 수 있도록 런타임에 기계어를 WebAssembly로 변환해 브라우저에서 실행하는 x86 PC 에뮬레이터입니다.
1981년 이후의 IBM PC 및 호환 기기용 빈티지 운영체제와 소프트웨어를 실행하는 저수준 x86 에뮬레이터입니다.
Apple Silicon Mac에서 macOS와 긴밀하게 통합된 가상 머신으로 기본 Omarchy Linux 데스크톱을 실행하는 Mac 앱입니다.
AWS Graviton(Arm64) EC2 인스턴스에서 소프트웨어를 실행하고 최적화하는 기술 가이드로, 마이그레이션, 빌드, 언어 및 관리형 서비스를 다룹니다.