문제

요컨대 : 응용 프로그램에서 DLL로 선택한 통화를 모니터링하고 싶습니다.

우리는 소스 코드를 잃어버린 오래된 VB6 응용 프로그램을 가지고 있습니다 (회사는 소스 제어를 사용하지 않았습니다.). 이 응용 프로그램은 제 3 자 DLL을 사용합니다.

새로운 C ++ 응용 프로그램 에서이 DLL을 사용하고 싶습니다. 불행히도 DLL API는 부분적으로 만 문서화되므로 일부 기능을 호출하는 방법을 모르겠습니다. 기능 서명이 있습니다.

VB6 응용 프로그램은이 DLL을 사용하므로 여러 기능을 어떻게 부르는지 알고 싶습니다. 지금까지 나는 시도하거나 보았습니다.

  1. apihijack - 각 함수에 대해 C ++ 코드를 작성해야합니다. 값을 기록하면되므로 과잉처럼 보입니다.
  2. 쉬운 - 1과 동일하지만 .NET 언어로 코드로 작성할 수 있습니다.
  3. ollydbg ~와 함께 우 후커 - 이번에는 파이썬에서 각 기능에 대한 코드를 작성해야합니다. 또한, 나는 struct 모듈, 대부분의 함수는 포인터를 사용하여 값을 전달하기 때문에 모듈.

함수 매개 변수 만 로그를 작성하면 간단한 솔루션을 원합니다. 모니터링 할 기능과 서명을 알리고 자세한 로그 파일을 얻을 수있는 자동 도구가 있습니까?

도움이 되었습니까?

해결책 2

더 많은 Google 검색이 내가 찾고있는 것을 발견했습니다. WinapiOverride32. 다음과 같은 텍스트 파일을 작성할 수 있습니다.

CustomApi.dll|void NameOfFunction(long param1, double& param2);

나중에이 파일은 프로그램 내에서 모든 통화를 기록하는 데 사용될 수 있습니다. NameOfFunction. 이제 배열 및 structs 매개 변수를 기록하는 방법을 알아야합니다.

다른 팁

"정적"솔루션 (주문시 스택 추적을 캡처 할 수 있음)은 다음과 같습니다. 프로세스 모니터.

Process Monitor

더 역동적 인 솔루션이 될 것입니다 apimonitor, 그러나 모니터링 할 애플리케이션과 호환하기에는 너무 오래 될 수 있습니다. 그래도 시도해 볼 가치가 있습니다.

http://www.rohitab.com/gallery/api-monitor-2-0/main-window.png

Visual Studio Addin 런타임 흐름 여기:

실시간 모니터 및 로그의 런타임 흐름. 모니터링을 위해 계측 또는 소스 코드가 필요하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top