2009-06-04 2 views
4

Visual Studio 컴파일러로 다른 함수를 호출하기 전에 함수가 실행 된 후에 호출되는 2 개의 함수를 작성할 수 있습니까? GCC에서는 __cyg_profile_func_*() 기능으로 그렇게 할 수 있습니다 : 프로파일 링을위한 사용자 정의 프롤로그/에필로그 함수

void __cyg_profile_func_enter(void *func_address, void *call_site) 
           __attribute__ ((no_instrument_function)); 

void __cyg_profile_func_exit (void *func_address, void *call_site) 
           __attribute__ ((no_instrument_function)); 

나는 커널 모드 소프트웨어를 작동하는 솔루션이 필요합니다. 나는 Microsoft Detours이 도움이 될지도 모르지만 무료 버전은 32 비트이고 내 드라이버는 순수한 64 비트입니다.

특정 코드에 대해 call graph을 생성하고 싶습니다.

감사합니다.

답변

5
  1. /Gh/GH 스위치를 사용하여 penter/pexit 후크를 만들 수 있습니다.
    2.1 easyhook
    2.2 N-CodeHook
+0

고마워 : 무료 후킹하는 API

  • 는 좀 봐./Gh/GH는 내가 필요한 바로 그 것이다. – Terminus