Referências a strings

No código de qualquer programa, você frequentemente encontra dados de string (chaves do registro, nomes de arquivos, mensagens de erro, etc.). Pode ser bastante útil ver a lista de strings utilizadas por procedimentos e funções em aplicativos descompilados. É exatamente para isso que nossa função Referências de texto (String references) foi projetada, acessível através do menu Ferramentas (Tools). Para usá-la, basta navegar até Ferramentas -> Referências de texto, e se seu programa contiver dados de string, eles serão exibidos conforme mostrado abaixo:

Referências a strings no VB Decompiler

Encontre a linha desejada na lista e clique duas vezes nela. O segmento de código contendo aquela linha será localizado, e o procedimento correspondente será aberto na janela de código. Clicar duas vezes novamente na linha continua a busca por essa linha dentro do código do programa. Clicar em 'OK' encontrará a linha destacada no código e fechará o diálogo de seleção da linha. Cancelar simplesmente fecha a caixa de diálogo.

A função para exibir Referências de texto está disponível apenas na versão licenciada do software e não é acessível para a versão Lite.

Observação importante: as strings são exibidas não apenas para o módulo ativo, como nas versões 1.x do programa, mas para todo o programa. Essa mudança foi feita para facilitar a análise de programas com um grande número de formulários e módulos.

VB Decompiler também suporta a edição de strings. Para chamar o diálogo de edição de string, clique com o botão direito na string que deseja alterar e selecione Editar texto (Edit string) no menu de contexto que aparece. Uma caixa de diálogo para inserir uma nova string aparecerá. Após alterar a string, clique em Ok e a string será modificada diretamente no arquivo editado. Recomendamos criar um backup do arquivo sendo analisado previamente, porque nenhum backup é feito durante esta ação e cancelar essa operação não é possível.

Edição de strings no VB Decompiler

Observação importante: ao editar strings, lembre-se de que o comprimento da nova string não deve exceder o comprimento da antiga. Isso está relacionado ao formato dos arquivos binários de aplicativos onde nenhum espaço é reservado para inserir uma string mais longa.

Você também pode visualizar e editar parcialmente a string no editor HEX. Para fazer isso, clique com o botão direito na string e selecione Editor HEX do menu que aparece. No editor HEX, existem funções para desfazer e refazer alterações, o que simplifica a experimentação ao modificar dados de string de aplicativos.

A janela com a lista de strings também possui um campo de texto chamado Procurar (Search) e um botão Localizar próximo (Find next). Essa funcionalidade será útil para encontrar strings dentro da lista, especialmente ao lidar com projetos grandes onde a busca visual manual através da lista é extremamente difícil.

Descompilação Rápida e listas de strings grandes

As referências de string podem ser coletadas através de desassemblagem preliminar, incluindo no modo Descompilação rápida (Fast decompilation). Isso difere da busca em todo o texto totalmente descompilado. A versão 26.2 expande o diálogo além de 32 000 referências e melhora o gerenciamento de memória para listas grandes.

Para assemblies .NET, strings do usuário do heap #US podem ser inspecionadas com suas localizações de arquivo. A lista representa strings disponíveis para análise estática; strings criptografadas ou geradas dinamicamente podem exigir investigação separada.