DLL, MFC 실전 모듈 리버싱



[실전강의실|Reverse Engineering의 정석]
DLL, MFC 실전 모듈 리버싱

월간 마이크로소프트웨어 2008년 6월호


1, 2회를 거쳐오면서 C와 C++문법에 대한 디스어셈블링이 이제 어느 정도 감이 잡혔을 것 같다. 이번회는 DLL과 MFC등을 살펴보면서 실전 모듈에 대한 접근 방법을 살펴본다. 익스포트 함수와 MFC 클래스의 구조, 그리고 헤더 파일과 MSDN을 이용한 리버스 엔지니어링에 대해 알아보자.


------------------------------------------------------
강병탁
window31@empal.com, http://www.window31.com | 바이너리 취약점 분석 업무를 하고 있다. 안티 크래킹/안티 디버깅 엔진 개발을 다년간 해왔으며 시스템 프로그래밍과 리버스 엔지니어링에 관심이 많다. 악성 코드나 해킹툴이 내부에 담고 있는 천재적인 알고리즘에 감탄하며 오늘도 IDA를 돌린다.

------------------------------------------------------

연재 순서
1회 | 2008. 4 | C 문법과 디스어셈블링
2회 | 2008. 5 | C++ 클래스와 디스어셈블링
3회 | 2008. 6 | DLL, MFC 실전 모듈 리버싱
4회 | 2008. 7 | 4GL 고급 언어 역분석
5회 | 2008. 8 | 안티 디버깅과 리버스 엔지니어링
------------------------------------------------------

연재 가이드
운영체제| 윈도우 2K/XP/2003
사용도구| Visual Studio, IDA, OllyDBG
기초지식| C/C++, ASM, Win32 API, MFC
응용분야| 리버스 엔지니어링/시스템 프로그래밍/해킹/보안
------------------------------------------------------


다루는 내용

DLL도 C/C++로 코드가 이루어지기 때문에 기본적인 사항은 C/C++에 대한 디스어셈블링과 별반 차이가 없다. 다만 WinMain()대신에 DllMain()이 존재한다는 것, 그리고 각각의 ul_reason_for_call 에 대한 분류코드가 들어가며, 익스포트 함수가 있다는 것(물론 없는 경우도 있다). 그정도의 간단한 차이점을 생각할 수 있다. 따라서 이번회는 실제 어셈 코드나 스택의 계산법, 레지스터 이용 등에 대한 세부적인 설명보다는 DLL, MFC 와 관련된 굵직굵직한 내용을 다뤄보도록 하자.

 


Posted by BrokenCode


트랙백 보낼 주소 : http://window31.com/trackback/178

댓글을 달아주세요

  1. 2008/06/26 12:44
    댓글 주소 수정/삭제 댓글
    어떤 기회로 마소5월호를 봤었는데 그때 "C++ 클래스와 디스어셈블링" 재미있게 보았습니다^^
    • 2008/06/29 21:20
      댓글 주소 수정/삭제
      재밌게 봐 주셨다니 감사합니다 ^^;
      코드게이트 출전하셨었나 보네요 앞으로 블로그 자주 들리겠습니다 ^^

BLOG main image
by BrokenCode

카테고리

분류 전체보기 (164)
Reverse Engineering (17)
C, C++ (12)
Kernel (8)
Guitar (15)
잡담 (57)
etc (4)
who am i (3)
보안 이야기 (31)
Tools (2)
월간 마이크로소프트웨어/.. (14)

글 보관함