위키득계정 ↗
기술

Miasm

Miasm기술
분류
리버스 엔지니어링 프레임워크
파일 예
PE와 ELF
주요 기능
어셈블 디스어셈블 중간 표현
실행 분석
JIT 에뮬레이션과 기호 실행
Miasm은 바이너리를 분석하고 수정하거나 생성하기 위한 리버스 엔지니어링 프레임워크다. 어셈블리와 중간 표현, 에뮬레이션 및 기호 실행을 연결한다.

기계 명령을 다루기

지원 아키텍처의 명령을 읽어 어셈블리로 표현하거나 어셈블리에서 기계 코드를 생성할 수 있다. 파일 형식과 명령어 집합은 다른 층위이므로 둘 다 맞게 설정해야 한다. 같은 바이트도 아키텍처와 모드에 따라 해석이 달라진다.

중간 표현으로 의미 분석

명령어의 동작을 중간 언어로 나타내면 레지스터나 메모리의 읽기와 쓰기 관계를 다룰 수 있다. 표현 단순화와 기호 실행 같은 분석에도 이 구조를 활용한다. 문자열로 출력된 어셈블리만 비교하는 것과는 관심 정보가 다르다.

실행 환경의 구성

에뮬레이션에는 스택과 메모리, 시작 주소 등 초기 환경이 필요하다. 결과는 제공한 상태와 외부 동작 모델에 영향을 받는다. 분석을 자동화할 때는 대상 파일과 초기 조건, 사용하는 실행 엔진을 함께 기록한다.

관련 문서

BAP / BINSEC / Triton 바이너리 분석 / SymQEMU