검색어 입력폼

[번역]Windows 9x, NT 그리고 200에서의 API 엿보기 테크닉

저작시기 2006.12 |등록일 2006.12.18 한글파일한글 (hwp) | 14페이지 | 가격 1,400원

소개글

Yariv Kaplan이 쓴 API Spying Techniques for Windows 9x, NT and 2000 이라는 글을 번역한 것입니다.
클라이언트 리버싱에 유용한 자료로 생각되어 올리니, 관련 기술에 관심이 있는 분이라면 참고하세요. 또한 문장이 매끄럽지 못한것은 제가 문장실력이 없고 원문 그대로 번역하려고 노력했기 때문입니다. 이해해 주세요. ^^

(한글2002SE로 작성했습니다)

목차

프록시 DLL
해당 호출을 패치하기
IAT 패치하기
API 패치하기
주소공간 장벽 깨기
정확한 타이밍에 주입하기
프로세스 실행 탐지
윈속 후킹
DDE와 BHO(Browser Helper Object)
GDI 후킹
파일시스템 감시
인터럽트 후킹
COM 후킹
16비트 API 가로채기
NT 시스템 호출
참고자료

본문내용

API 엿보기 유틸리티들은 애플리케이션과 운영체제의 내부구조를 탐험하는데 가장 강력한 도구들중 하나이다. 그러나 불행히도, SDK나 DDK 모두 그런 유틸리티를 제작하는 방법에 대한 어떠한 문서나 데모 예제도 제공하지 않는다. 이 문서는 윈도우즈 애플리케이션에 의해 쟁점이 되는 API 호출을 후킹하는 여러 방법을 제공함으로써 이 주제에 대한 약간의 빛을 뿌려주려고 노력할 것이다.

당신만의 API 엿보기 유틸리티를 만들기위해 의자에 앉기전에 당신이 고려해 봐야할 여러 가지가 있다. 먼저, 당신은 한개의 애플리케이션만을 엿볼기를 원하는지, 아니면 시스템 전역적인 API 인터셉터를 설치하기를 원하는지를 결정 할 필요가 있다. 예를들어, 관리자에 의해 설정되어진 규칙들에 따라 특정 프로세스의 실행을 막는 애플리케이션을 작성할 필요가 있다고 가정해 보자. 분명히, 당신은 제한되어야 할 것으로 표시된 새 프로세스의 실행을 감시하고 그것을 끝내버리는 방법을 알아야 할 것이다. 이것을 완성하려면 CreateProcess 함수(실제적으로는, 이 함수의 Ansi 버전과 Unicode버전 모두를 포함한다)를 만들기 위한 호출을 감시하는 시스템 전역적인 API 인터셉터를 설정해야 할 것이다. 애플리케이션이 새 프로세스를 생성하기 위해 이 함수들을 호출할 때 마다 당신의 인터셉터가 제어권을 갖고 필요한 어떠한 작업이라도 수행하게 될 것이다.

다른 형태의 애플리케이션들은 한번에 한개의 애플리케이션만을 감시 할수 있는 능력을 갖은 좀더 간단한 API 인터셉터를 요구할 수도 있다. 그 좋은 예는 NuMega의 BoundsChecker이다. 이 툴은 메모리 누수나 윈도우즈 애플리케이션 내부에 잠재되어 있는 버그들을 찾아내기 위하여 API 호출들을 분석하는 능력을 갖고 있다.

당신이 시스템 전역적인 해결법을 채용하기로 결정하든, 좀더 쉬운 방법을 적용하든, 당신은 여전히 수많은 API 후킹 테크닉들 중에 한가지를 선택해야 한다. 아래에 이어지는 섹션에서는 윈도우즈용 API 인터셉터 만드는 여러 유용한 방법을 각 기술들의 장점과 단점에 포커스를 맞추어 탐구해 볼 것이다.

참고 자료

Undocumented Windows NT
Windows NT/2000 Native API Reference
Advanced Windows (3rd Ed)
Inside the Windows 95 File System
Windows NT File System Internals
Windows NT Device Driver Development
Developing Windows NT Device Drivers
Writing Windows Wdm Device Drivers
Programming the Microsoft Windows Driver Model
Windows Undocumented File Formats
Windows 95 System Programming Secrets
다운로드 맨위로