리버스코어(http://www.reversecore.com/)의 주인장이신 이승원 님(안철수연구소)께서 쓰신 책이 드디어 발간되었습니다. 제목은『리버싱 핵심 원리 : 악성 코드 분석가의 리버싱 이야기』(자그마치 1,064쪽!!)

발간 소식을 전하는 블로그 글에 댓글만 해도 100개가 달릴 정도로 관심이 집중되고 있네요. (우와 @_@ 발간을 기대하는 댓글이 이 정도라니… 엄청나네요~ 왠지 개발자 계의 아이돌 같은 분위기도…)

하긴 그럴 만도 한 게, 이승원 님은 리버싱 계에선 아주 널리 알려진 분이고, 운영하시는 블로그 리버스코어는 리버싱/리버스 엔지니어링 관련 자료를 찾을 때 첫손으로 꼽는 곳이었으니까요.

리버싱_리버스코어_이승원

 ▲ 리버스코어에 올라온 발간 소식! 평균 덧글 수가 어마어마하군요. ^ ^

책 소개를 좀 하자면, 이 책엔 리버싱 엔지니어링을 하는 리버서라면 꼭 알아야 할 핵심 원리만을 정제해서 담으려 노력했습니다. 그렇게 했음에도 저자가 수년 간 다양한 악성 코드의 공격을 경험하면서 얻은 지식을 녹여내려다보니 분량이 굉장히 많아졌는데요.(1,064쪽이나 되니 단점인가요? ㅎ~~~) 분량이 상당한 데다가 수백 개의 스크린샷까지 있어, 편집과정에서도 엄청 공이 들어갔고 많은 시간이 소요되었답니다. ㅠ_ㅠ

책 소개라는 블로그 글을 띄우신 게 2010년 9월 6일

책 원고 작성 완료! 가 2011년 12월 5일

조판 원고 검토 작업(2차)2012년 6월 29일 (책 발간 쉽지 않죠. ^^;;)

사실 리버싱이 프로그램의 내부를 조작할 수 있는 기법이기도 하다 보니 해킹의 방법으로도 이용됩니다. 하지만 이를 막기 위한 악성 코드 분석가분들(저자 이승원 님 같은)의 노고가 있기에 우리는 안심하고 다양한 프로그램을 사용할 수 있는 거죠.

한편 리버싱을 활용하여 개발/테스트 단계에서 미처 발견하지 못한 버그나 취약점도 파악할 수 있고, 파일이나 메모리에 직접 접근하여 문제를 해결하거나 새로운 기능을 추가해 프로그램의 기능을 향상시킬 수도 있으니 개발자분들은 적극 활용해보시면 좋을 것 같습니다.

꼭 보안 전문가가 아니더라도 리버스 엔지니어링에 관심이 많은 분들이 한 번쯤 읽어보면 즐거울 만한 주제가 아닐까요?^^

어쨌든!!! 리버싱에 관심 있는 많은 분들에게 굉장한(?) 도움이 될 수 있는 책이라고 자신할 수 있을 것 같습니다.

아래는 저자 이승원 님이 정리하신 이 책만의 장점 + 책 소개에 곁들인 자기소개

—————————————————————————————————————————————-

<이 책만의 장점>

1. 단순히 리버싱 기법을 설명하는 데 그치지 않고, 닥칠 수 있는 문제와 해결 방법을 소개합니다. 이를 통해 실무에서도 빠르게 업무에 적응하고, 문제에 쉽게 대처할 수 있습니다.

2. 기술의 동작 원리를 깨닫게 하는데 목표를 두고 세세히 설명했습니다. 이를 통해 기본기를 튼튼하게 다질 수 있기 때문에 시간이 흘러도 가치가 변하지 않는 정보를 제공하는 책이 될 것입니다.

<책 소개에 곁들인 저자 소개>

왜 리버스 엔지니어링 입문서로 적합한지 제 소개를 곁들여서 설명해보도록 하겠습니다.

1) 개발과 분석 경험입니다. 보통 리버스 엔지니어는 업무 과정에서 전문적인 리버싱 실력뿐만 아니라 어느 정도의 개발 실력도 갖추게 됩니다. 저는 네트워크 애플리케이션 개발자로 일하다가 악성 코드 분석 업무를 맡으면서 리버싱 기술을 익히게 되었습니다. 즉 전문 개발자에서 전문 리버서로 전향한 흔치 않은 케이스입니다. 이 두 기술은 그야말로 찰떡궁합처럼 상호 발전하고 보완하면서 기가 막힌 콤비 플레이를 보여줍니다. 이 책의 거의 모든 실습 예제는 리버싱 과정에서 얻은 지식과 노하우를 가지고 제가 직접 개발한 것으로, 군더더기 없이 각 장의 주제만을 집중해서 보여줍니다.

2) 교육 및 발표 경험입니다. 회사에서 고참 직원이 되면서 점점 사내 교육/세미나, 외부 발표 기회가 많아졌습니다. 리버싱 입문자들 대상으로 직접 리버싱 교육을 하면서 그들의 어려움과 궁금증을 잘 파악할 수 있는 계기가 되었지요. 나름대로 어떻게 하면 쉽게 설명할 수 있을지 고민하면서 자연스레 리버싱 입문자를 위한 교육 노하우를 쌓을 수 있었습니다. 이 경험이 책의 구성, 내용, 예제 등 전반에 걸쳐 큰 영향을 끼쳐서 어려운 리버싱 기술을 비교적 쉽게 이해할 수 있도록 설명할 수 있었습니다.

3) 다양한 커뮤니케이션 경험입니다. 몇 년 전부터 리버싱 전문 블로그를 운영하고 있습니다. 처음에는 제가 보유한 리버싱 기술의 정리 차원에서 가볍게 시작하였습니다. 그런데 방문객들이 조금씩 늘어나면서 여러 가지 다양한 질문들이 올라오기 시작했습니다. 그러던 중 리버싱 입문자들이 체계적인 학습 방법을 알고 싶어 한다는 것을 느꼈습니다. 그리고 입문 과정을 지난 사람들은 좀 더 전문적인 리버싱 기술과 내부 동작 원리에 목말라 하고 있다는 것을 알게 되었습니다. 결국 리버싱과 개발, 교육/발표, 다양한 커뮤니케이션 경험을 기반으로 하여 리버싱 입문 서적을 완성하게 되었습니다.

——————————————————————————————————————————————–

소스 코드정오표