개발/연구
DLL 인젝션 후 API 후킹시 GlobalAlloc 사용시 주의점
얼마전부터 mp3 저장하는 뻘짓 유틸리티를 만들기 위해 모 사이트에서 WSASend, WSARecv 함수를 후킹하여 좋아하는 mp3 파일을 수집하고 있었습니다. 그런데 잘 동작하다가 인터넷익스플로러가 종종 잘못된 연산으로 종료되더군요. 지금까지 써왔던 api hook 코드가 잘못되었나 싶어 어셈코드부터 다 뜯어보았습니다. 그래도 원인을 알 수 없더군요. 할 수 없이 기존의 쓰던 훅코드를 지우고 Microsoft Research 에서 배포하는 Detours 를 통해 훅을 해서 테스트 하였습니다. 그랬더니 역시나 익스플로러가 종료되더군요. 사실 어셈이나 인젝션한 DLL 에서 잘못되었다면 익셉션 직전의 콜스택이 저렇게 되면 안되는 것인데.. 머.. 어쨋든 Detours에서도 같은 증상을 나타내니 코드를 하니씩..
2008. 12. 31. 14:40
최근 댓글