Pergunta

Em suma: Eu quero monitorar chamadas selecionadas de um aplicativo para uma DLL

.

Nós temos uma aplicação VB6 antigo para o qual perdemos o código fonte (a empresa não estava usando o controle de origem de volta, então ..). Esta aplicação utiliza uma 3ª DLL partido.

Eu quero usar essa DLL em um aplicativo novo C ++. Infelizmente, a API DLL é apenas parcialmente documentado, então eu não sei como chamar algumas funções. Eu tenho a assinatura funções.

Uma vez que o aplicativo VB6 usa essa DLL, quero ver como ele chama várias funções. Até agora eu tentei ou olhou para -

  1. APIHijack - me obriga a escrever código C ++ para cada função. Desde que eu só precisa registrar os valores, parece um exagero.
  2. EasyHook -. Mesmo que 1, mas permite escrever no código em linguagem .NET
  3. OllyDbg com uHooker - Eu ainda tenho que escrever código para cada função, desta vez em Python. Além disso, eu tenho que fazer muitas conversões em Python utilizando o módulo struct, já que a maioria das funções passar valores usando ponteiros.

Desde que eu só precisa fazer login parâmetros funções Quero uma solução simples. Existe alguma ferramenta automatizada, para o qual eu poderia dizer que funciona para monitorar e sua assinatura, e em seguida, obter um arquivo de log detalhado?

Foi útil?

Solução 2

Alguns mais Google busca encontrei o que estava procurando: WinAPIOverride32 . Ele permite escrever arquivos de texto, tais como:

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

Mais tarde, esses arquivos podem ser usados ??dentro do programa para registrar todas as chamadas para NameOfFunction. Agora eu só preciso descobrir como matrizes e parâmetros structs log.

Outras dicas

solução A "estática" (no sentido em que pode capturar um rastreamento de pilha on demand) seria Process monitor .

Process Monitor

Uma solução mais dinâmica seria ApiMonitor , mas pode ser muito velho para ser compatível com o aplicativos para monitor. Vale a pena tentar embora.

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

Visual Studio Addin Runtime Fluxo aqui :

Runtime Fluxo de monitores em tempo em tempo real e logs funcionar chamadas e parâmetros de função ao seu aplicativo em execução .NET e mostra uma pilha árvore traço. Sem instrumentação ou código-fonte necessário para monitoramento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top