Вкратце: я хочу отслеживать выбранные вызовы из приложения в DLL.Мониторинг вызовов приложений в DLL
У нас есть старое приложение VB6, для которого мы потеряли исходный код (тогда компания не использовала исходный код ..). Это приложение использует стороннюю DLL.
Я хочу использовать эту DLL в новом приложении C++. К сожалению, DLL API только частично документирован, поэтому я не знаю, как вызвать некоторые функции. У меня есть подпись функций.
Поскольку приложение VB6 использует эту DLL, я хочу видеть, как он вызывает несколько функций. До сих пор я пробовал -
- APIHijack - требует от меня написать код C++ для каждой функции. Поскольку мне нужно только регистрировать значения, это похоже на перебор.
- EasyHook - то же, что и 1, но позволяет писать в коде на языке .NET.
- OllyDbg с uHooker - Мне все еще нужно написать код для каждой функции, на этот раз в Python. Кроме того, я должен сделать много преобразований в Python, используя модуль
struct
, поскольку большинство функций передают значения с помощью указателей.
Поскольку мне нужно только регистрировать параметры функций, я хочу простое решение. Есть ли какой-либо автоматизированный инструмент, для которого я мог бы сказать, какие функции отслеживать и их подпись, а затем получить подробный файл журнала?
Похоже, что это только мониторинг функций Windows API. Мне нужно отслеживать не-Windows API DLL. Я что-то упускаю? – kshahar 2008-11-22 12:28:25
Нет, действительно. Даже Process Monitor отобразит ваш стек DLL, но с «Неизвестным» для этого метода. – VonC 2008-11-22 12:45:39