리버싱 쪽으로 깊게 파고 싶은데 현재 제대로 하고 있는 것일까요?
주 관심사는 Binary 에서의 Data Flow Analysis이며, Dummy Code 제거 및 코드 가상화 분석이 현재 관심사입니다.
현재하고 있는 작업은 다음과 같습니다.
- CFG 생성 모듈 개발
- CFG 별로 x86 x86 -> IR (자체적으로 제작한 SSA Form IR) 변환 모듈 개발
- IR을 이용하여 코드 최적화 수행
- Symbolic Execution 모듈 제작
- Symbolic Exectuion을 활용하여 코드 가상화 분석
현재는 2번과 3번을 병행하고 있습니다. 해당 행위를 하는 목적은 첫 번째로 범용적인 코드 가상화 분석 도구를 개발하고 싶은 것이고, 두 번째로는 Data Flow Analysis를 위함입니다.
예로 들어 recv 함수를 통해 소켓 버퍼의 데이터들이 어떤 명령어를 따라서 흘려가는지 등을 분석하고 싶습니다.
현재하고 있는 것이 맞는 걸까요?
작성자 정보
답변
0