http://research.microsoft.com/en-us/projects/detours/ Detours Library란 Hooking 방법의 일종으로, Dummy (Trampoline) 함수를 이용하여 다른 일을 시키고 난 후 원래의 리턴 코드를 그대로 수행해 후킹하는 방법입니다. 기존 코드의 후킹 그 자체도, 복원도 쉽다는 장점이 있습니다. 그래서 런타임 후킹도 쉽게 가능해, 디버깅이나 크래킹에 쉽게 적용 될 수 있습니다.
1.요약 API hooking 하는 방법 중에 Dll을 바꿔버리는 방법을 알아보고 구현시 주의점을 알아봅니다. 2.본문 [API hooking은 무엇인가?] 특정 API를 주시하고 있다가 누군가 그 API를 호출하면 중간에 개입하고자 함입니다. 메시지가 나올때나 윈도우가 생성될 때, 통지받을 수 있는 Windows Hook 과는 달리 공식적으로 문서화된 방법은 없습니다. [ 왜 API hooking을 하는가? ] 다른 프로그램이 API를 어떻게 사용하고 있는가 지켜보려고.. 내 프로그램의 디버깅을 목적으로.. (Deadlock detection이 좋은 예가 되겠네요..) [ API 는 어떻게 hooking 하는가? ] 1. Import Address Table을 바꿔치는 방법. 이 방법은 이 글에서 다룰..
디스 어셈블러의 일종인 W32Dasm 입니다.
1.cff crackme #2 Serial Crack 이번에는 acid의 CrackMe들을 풀어 보자. 이글을 쓰기전 acid가 만든 CrackMe를 풀면서 느꼈던 것은 acid라는 사람은 C보다는 Delphi 를 잘하기 떄문에 Delphi로 CrackMe만든게 아닌지 짐작하여 본다. 어쨰든 Delphi로 만들어진 CrackMe들인 만큼 DeDe를 이용하여 크랙을 한번 하여보자. 시작하기전 한마디 하자면 무지 쉽다. 자! abex 솔루션에서 말했던 것처럼 CrackMe를 풀기전에 이 Crack Me가 원하는것이 무엇인지 확실이 알고 해야 할것이다. 이 Crack Me는 단지 Crack Me에 맞는 시리얼만 맞추면 된다. 정말 간단하지 않은가? 먼저 대상을 실행해 보도록 하자. 정말 간단한 인터페이스를 가..
1.abex1 CD-Protection Crack Learn2Crack에 있는 Windows Crack Me를 한개씩 풀어 봅시다. 첫번쨰 Crack Me는 abex의 abex1입니다. 이 Crack Me가 원하는 것은 C 드라이브가 CD Rom Drive 라는 결과 입니다. 과연 드라이브의 타입을 체크 하는 API는 무엇일까요? 바로 GetDriveTypeA 입니다. GetDriveTypeA 함수의 리턴값이 0x5라면 바로 CD rom Drive 인것입니다. 밑은 GetDriveTypeA의 리턴값들입니다. 리턴값들: 0 Drive Cannot Be determined 1 Root Dir Does not exist 2 DriveRemoveable 3 A Fixed Disk (HardDrive) 4 Rem..
- Total
- Today
- Yesterday
- ruby
- 바로가기 프로그램
- ftp
- EasyExec
- CppSQLite
- 루비
- EzShortcut
- Rails
- 임백준
- MS-SQL
- svn
- 리버스 엔지니어링
- 좋은 프로그래머
- Ruby on Rails
- 게임개발포에버
- 디버깅
- 엘키
- 조엘 온 소프트웨어
- 디자인 패턴
- TDD
- perfmon
- TraceRoute
- RoR
- 루비 온 레일즈
- SQLite Spy
- 게임데브포에버
- SDL
- c언어
- NDC2013
- 멀티스레드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |