명령 실행을 구성하기
분석할 코드를 메모리에 놓고 레지스터와 시작 주소를 준비해 실행한다. 같은 바이트라도 초기 레지스터와 메모리 내용에 따라 결과가 달라진다. 따라서 작은 코드 조각을 시험할 때도 필요한 실행 상태를 명확히 해야 한다.
관찰과 제어
명령 실행과 메모리 접근 등의 수준에서 계측을 구성할 수 있다. 실행을 관찰하는 기능은 분석 도구를 만들 때 유용하다. 실제 장치의 전체 운영체제와 주변 환경을 자동으로 제공하는 기능과는 구별된다.
CPU와 운영체제의 경계
Unicorn은 CPU 명령 실행에 초점을 둔다. 실행 파일 로더와 동적 라이브러리, 시스템 호출 같은 높은 수준의 환경은 추가 계층이 필요하다. Qiling처럼 이를 보완하는 프레임워크와 연결할 때도 각 계층의 지원 범위를 구분한다.