리버서라면 꼭 알아야 할 핵심 원리를 모두 담았다!
리버싱이란 프로그램의 내부를 깊이 들여다보고 조작할 수 있는 기법이다. 이는 우리가 흔히 사용하는 상용 프로그램 등에도 가능하기 때문에 해킹의 방법으로 응용될 수 있다. 하지만 역시 리버싱은 일명 ‘리버서’라 불리는 악성 코드 분석가들의 특기이기도 하다. 무엇보다 리버싱 기법은 해커와 보안 전문가의 대결로만 이용되는 것은 아니다. 리버싱을 잘 활용하면 개발/테스트 단계에서 미처 발견하지 못한 버그나 취약점도 파악할 수 있고, 파일이나 메모리에 직접 접근하여 문제를 해결할 수 있다. 또한 전혀 새로운 기능을 추가해 프로그램의 기능을 향상시킬 수도 있어 매우 유용하다.
이 책은 이런 마법 같은 일들이 가능한 ‘리버싱’에 필요한 핵심 원리를 50여개 장을 통해 꼼꼼하게 설명한다. 무엇보다 저자가 오랫동안 안철수 연구소에서 경험을 토대로 직접 작성한 다양한 코드는 물론 리버서라면 꼭 알아야 할 다양한 리버싱 기법을 상세하게 소개하기 때문에 리버서를 꿈꾸는 개발자는 물론 실무를 경험해본 모두에게 도움을 준다.
무엇보다 이 책은 리버싱 기술과 그 동작 원리를 설명하는 데 집중한다. 즉 리버싱 기술의 단순한 소개에 그치지 않고, 각 기술의 핵심적인 원리를 깨닫게 하는 데 목표를 두고 있다. 이를 통해 기본기를 튼튼하게 다지는 것은 물론, 시간이 흘러도 가치가 변하지 않는 기술의 진수를 얻을 수 있다.
여러분이 리버싱 세계를 여행하고 싶다면, 이 책이 친근한 가이드가 되어 줄 것이다!
주요 내용
IA-32 Register
디버깅
크랙
PE File Format
실행 압축
Base Relocation Table
인라인 패치 실습
Windows 메시지 후킹
DLL Injection
DLL Ejection
Code Injection