Desvios

Uma biblioteca para interceptar funções binárias Win32 arbitrárias em máquinas x86
Baixe Agora

Desvios Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Freeware
  • Nome do editor:
  • Microsoft
  • Sistemas operacionais:
  • Windows 2K / XP / 2003 / Vista
  • Tamanho do arquivo:
  • 543 KB

Desvios Tag


Desvios Descrição

Inovador Systems Research depende da capacidade de instalar facilmente e ampliar o sistema operacional existente e a funcionalidade do aplicativo. Com acesso ao código-fonte apropriado, muitas vezes é trivial para inserir novas instrumentação ou extensões, reconstruindo o sistema operacional ou o aplicativo. No entanto, nos pesquisadores de sistemas mundiais de hoje raramente têm acesso a todo o código-fonte relevante. Os desvios é uma pequena biblioteca fácil de usar para instrumentar as funções arbitrárias do Win32 nos computadores IA64, X64, X86. Os desvios intercepta as funções WIN32, reescrevendo o código na memória para funções de destino. O pacote de desvios também contém utilitários para anexar dlls arbitrários e segmentos de dados (chamados cargas) para qualquer binário Win32. Os desvios preservam a função alvo não instrumentada (calável por meio de um trampolim) como sub-rotina para uso pela instrumentação. Nosso design de trampolim permite uma grande classe de extensões inovadoras para o software binário existente. Usamos desvios para criar um sistema de particionamento distribuído automático, para instrumentar e analisar a pilha do protocolo DCOM e para criar uma camada de lanço para uma API do OS baseada em COM. Os desvios são amplamente utilizados na Microsoft e dentro da indústria. O código da interceptação é aplicado dinamicamente no tempo de execução. Os desvios substituem as primeiras instruções da função de destino com um salto incondicional para a função de desvio fornecida pelo usuário. As instruções da função de destino são colocadas em um trampolim. O endereço do trampolim é colocado em um ponteiro de destino. A função de desvio pode substituir a função de destino ou estender sua semântica invocando a função de destino como uma sub-rotina através do ponteiro de destino para o trampolim. Desvios são inseridos no tempo de execução. O código da função de destino é modificado na memória, não no disco, permitindo a interceptação de funções binárias em uma granularidade muito fina. Por exemplo, os procedimentos em uma DLL podem ser desviados em uma execução de uma aplicação, enquanto os procedimentos originais não são desviados em outra execução em execução ao mesmo tempo. Ao contrário da reinscrição de DLL ou redirecionamento estático, as técnicas de interceptação usadas na biblioteca de desvios são garantidas para o trabalho, independentemente do método usado por aplicação ou código do sistema para localizar a função de destino. Além da funcionalidade de desvio básico, os desvios também incluem funções para editar a tabela de importação DLL de qualquer binário, para anexar segmentos de dados arbitrários a binários existentes e para carregar uma DLL em um novo processo. Uma vez carregado em um processo, a DLL de instrumentação pode desviar qualquer função no processo, seja no aplicativo ou nas bibliotecas do sistema, como as APIs do Windows. Nota: Os desvios são gratuitos para uso de pesquisa, não comercial e não-produção no código de 32 bits


Desvios Software Relacionado