hacktricks/reversing/reversing-tools/README.md

7.2 KiB

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Guia de Decompilação Wasm e Compilação Wat

No mundo do WebAssembly, ferramentas de decompilação e compilação são essenciais para os desenvolvedores. Este guia apresenta alguns recursos online e software para lidar com arquivos Wasm (binário WebAssembly) e Wat (texto WebAssembly).

Ferramentas Online

Soluções de Software

  • Para uma solução mais robusta, JEB da PNF Software oferece recursos extensivos.
  • O projeto de código aberto wasmdec também está disponível para tarefas de decompilação.

Recursos de Decompilação .Net

Decompilar assemblies .Net pode ser feito com ferramentas como:

  • ILSpy, que também oferece um plugin para Visual Studio Code, permitindo o uso multiplataforma.
  • Para tarefas envolvendo decompilação, modificação e recompilação, dnSpy é altamente recomendado. Ao clicar com o botão direito em um método e escolher Modificar Método, é possível fazer alterações no código.
  • dotPeek da JetBrains é outra alternativa para decompilar assemblies .Net.

Aprimorando a Depuração e o Log com DNSpy

Log do DNSpy

Para registrar informações em um arquivo usando o DNSpy, incorpore o trecho de código .Net a seguir:

%%%cpp using System.IO; path = "C:\inetpub\temp\MyTest2.txt"; File.AppendAllText(path, "Senha: " + senha + "\n"); %%%

Depuração do DNSpy

Para uma depuração eficaz com o DNSpy, é recomendada uma sequência de etapas para ajustar os atributos da Assembleia para depuração, garantindo que otimizações que possam dificultar a depuração sejam desativadas. Esse processo inclui alterar as configurações do DebuggableAttribute, recompilar a assembleia e salvar as alterações.

Além disso, para depurar uma aplicação .Net executada pelo IIS, executar iisreset /noforce reinicia o IIS. Para anexar o DNSpy ao processo do IIS para depuração, o guia instrui a selecionar o processo w3wp.exe dentro do DNSpy e iniciar a sessão de depuração.

Para uma visão abrangente dos módulos carregados durante a depuração, é aconselhável acessar a janela Módulos no DNSpy, seguida pela abertura de todos os módulos e classificação das assembleias para facilitar a navegação e a depuração.

Este guia encapsula a essência da decompilação de WebAssembly e .Net, oferecendo um caminho para os desenvolvedores navegarem nessas tarefas com facilidade.

Descompilador Java

Para descompilar bytecode Java, essas ferramentas podem ser muito úteis:

Depuração de DLLs

Usando IDA

  • Rundll32 é carregado a partir de caminhos específicos para versões de 64 bits e 32 bits.
  • Windbg é selecionado como o depurador com a opção de suspender no carregamento/descarregamento da biblioteca ativada.
  • Os parâmetros de execução incluem o caminho da DLL e o nome da função. Essa configuração interrompe a execução a cada carregamento da DLL.

Usando x64dbg/x32dbg

  • Semelhante ao IDA, rundll32 é carregado com modificações na linha de comando para especificar a DLL e a função.
  • As configurações são ajustadas para interromper na entrada da DLL, permitindo a configuração de pontos de interrupção no ponto de entrada desejado da DLL.

Imagens

  • Pontos de parada de execução e configurações são ilustrados por meio de capturas de tela.

ARM & MIPS

  • Para emulação, arm_now é um recurso útil.

Shellcodes

Técnicas de Depuração

  • Blobrunner e jmp2it são ferramentas para alocar shellcodes na memória e depurá-los com Ida ou x64dbg.
  • Blobrunner lançamentos
  • jmp2it versão compilada
  • Cutter oferece emulação e inspeção de shellcode baseada em GUI, destacando diferenças no tratamento de shellcode como arquivo versus shellcode direto.

Desobfuscação e Análise

  • scdbg fornece insights sobre funções de shellcode e capacidades de desobfuscação. %%%bash scdbg.exe -f shellcode # Informações básicas scdbg.exe -f shellcode -r # Relatório de análise scdbg.exe -f shellcode -i -r # Ganchos interativos scdbg.exe -f shellcode -d # Despejar shellcode decodificado scdbg.exe -f shellcode /findsc # Encontrar offset de início scdbg.exe -f shellcode /foff 0x0000004D # Executar a partir do offset %%%

  • CyberChef para desmontar shellcode: Receita CyberChef

Movfuscator

  • Um ofuscador que substitui todas as instruções por mov.
  • Recursos úteis incluem uma explicação no YouTube e slides em PDF.
  • demovfuscator pode reverter a obfuscação do movfuscator, exigindo dependências como libcapstone-dev e libz3-dev, e a instalação do keystone.

Delphi

  • Para binários Delphi, é recomendado o IDR.

Cursos