Instruções de uso do VBKiller
Killer é uma ferramenta de análise reversa assistida por VB. Em primeiro lugar, deixe-me afirmar que isso não pode ajudá-lo a descompilar um programa VB em código-fonte VB. Ele apenas pode fazer com que a desmontagem de um programa VB pareça mais próxima do código VB.
Usado com IDA, você pode criar quase todas as estruturas de classes, tabelas de métodos, corpos de funções de programas VB e criar estruturas de tabelas de métodos, você pode identificar o CLSID do COM referenciado no programa VB e usar ProgID para nomeá-lo; qualquer programa COM (não-VB também pode compilar tabelas de métodos e corpos de funções e criar estruturas de tabelas de métodos. Essas estruturas podem ser usadas no programa VB a ser analisado. Após esses processos, o programa VB a ser analisado formou uma série de classes e métodos bastante padronizados no IDA, e não está longe da engenharia reversa do código-fonte.
Como usar:
Clique no botão de navegação para selecionar um programa COM, DLL ou Exe ou ocx. Se não for um programa VB, marque a opção "Programa não VB" e clique para visualizar. A caixa à esquerda lista todas as interfaces COM do programa selecionado. Se você também quiser ver classes e enumerações, pode selecionar "Mostrar todas as classes, exceto interfaces". Clique em qualquer interface e todos os métodos da interface serão exibidos à direita, incluindo o endereço na tabela de métodos e o endereço real do corpo do método. Se quiser exibir os primeiros sete métodos básicos, você precisa selecionar "Mostrar métodos de interfaces básicas". Se for um programa não-VB, há o endereço base da imagem e o endereço base virtual à direita. O endereço base da imagem é o ImageBase do programa e o endereço base virtual é o endereço inicial alocado para o espaço de memória do programa. provavelmente calcula este endereço por padrão. Se estiver incorreto, ele precisa ser modificado manualmente, pois o endereço da tabela de métodos obtido pelo programa está no espaço de execução, e esses dois endereços base devem ser conhecidos para serem convertidos no endereço no espaço de execução. arquivo estático, por isso é muito importante e não pode ser preenchido, caso contrário será reconhecido um erro. Clique em Gerar IDC para gerar o arquivo IDC correspondente à interface atualmente selecionada. As classes e enumerações não podem gerar IDC. Carregue este IDC no IDA e o endereço do método correspondente poderá ser identificado e processado automaticamente. Clique em Gerar tudo para gerar arquivos IDC para todas as interfaces (coloque-os no mesmo arquivo). Selecione “Gerar Estrutura” e utilize dois botões de geração para gerar o script de criação de estrutura correspondente a este COM. Carregue esta estrutura IDC no IDA e um lote de estruturas correspondentes será gerado no IDA, tais como: Um dos programas analisados utiliza operações de banco de dados. e operações de criptografia e descriptografia Geralmente, os scripts de estrutura do ADO e CAPICOM precisam ser carregados.
O VBKiller também possui a função de escanear e identificar COM que ainda não foi concluído.
No mesmo diretório, existem vários outros arquivos c.
Entre eles, header.c está incluído no arquivo IDC acima. Este é um arquivo de função pública;
vb.c é uma versão modificada do vb.idc que circula na Internet. Parece que muitos lugares não estão funcionando. Este script pode ser usado para estabelecer a estrutura de classes e a tabela de eventos do programa VB;
vboop.c é um script projetado especificamente para auxiliar na análise das funções orientadas a objetos do VB.
O método Do_BasicOOP interno é baseado principalmente na tabela de eventos estabelecida em vb.c, processando o corpo da função correspondente. Se a função não for criada, crie a função, renomeie a função para ser consistente com o nome da tabela de eventos e crie. cada classe ao mesmo tempo. A estrutura da tabela de métodos será analisada posteriormente.
ParseAPI é usado para processar funções internas do VB. Ele verificará as referências cruzadas de todas as funções especificadas, adicionará comentários repetíveis à função, tentará identificar parâmetros e adicionará comentários a cada parâmetro. Se o parâmetro for um registro, então pesquisará mais. A fonte dos dados cadastrais, com comentários. As funções e comentários verificados são especificados no código. Atualmente, a maioria das funções é especificada.
O método ParseNew é usado para verificar todas as referências cruzadas _vbaNew e _vbaNew2 e tentar identificar o CLSID correspondente. Se puder ser identificado, ele será modificado para o nome do programa correspondente para facilitar a visualização. O reconhecimento é implementado de forma integrada. Atualmente, não há muitos integrados. Você pode adicionar o seu próprio conforme necessário. A verificação é: se um CLSID não reconhecido for encontrado, o programa gravará o CLSID em UnKnown.txt no mesmo diretório. Depois de analisá-lo, você poderá verificar o arquivo. Se um CLSID não reconhecido for encontrado, vá para o registro. CLSID, e após obter o nome do programa, adicione-o ao local correspondente no programa.