9-1. Reverse Engineering
Reverse engineering Reverse engineering:리버스 엔지니어링은 시스템, 소프트웨어, 하드웨어의 안에서 작동하는 것을 분석하고 이해하는 과정이다.즉, 외부의 동일한 기능을 구현하기 위해 내부를 뜯어 분석하는 행위인 것.효율적이고 정확한 분석을 위해서는 다양한 지식을 알고 있어야 한다: 커널, 프로세스, 어셈블리어정보 수집: 문서, 프로그래밍 언어, 라이브러리, 컴파일러 등등 방법에는 2가지 방법이 있다.- 정적 분석: 디컴파일러를 사용해 실행 바이너리로부터 소스를 역추출하는 방법 등이 있다. 도구를 사용하면 쉬운편 도구: IDA pro, Ghidra, Radate2, 등등 - 동적 분석: 정적 분석만으로는 런타임에 결정되는 컨트롤 플로우를 따라가기 어렵다는 단점이 있다...
2024. 6. 4.