.. | ||
blobrunner.md | ||
README.md |
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Guia de Decompilação de Wasm e Compilação de Wat
No âmbito do WebAssembly, ferramentas para decompilar e compilar são essenciais para desenvolvedores. Este guia apresenta alguns recursos online e software para lidar com arquivos Wasm (WebAssembly binary) e Wat (WebAssembly text).
Ferramentas Online
- Para decompilar Wasm para Wat, a ferramenta disponível na demonstração wasm2wat do Wabt é útil.
- Para compilar Wat de volta para Wasm, a demonstração wat2wasm do Wabt serve ao propósito.
- Outra opção de decompilação pode ser encontrada em web-wasmdec.
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 realizado com ferramentas como:
- ILSpy, que também oferece um plugin para Visual Studio Code, permitindo uso multiplataforma.
- Para tarefas envolvendo decompilação, modificação e recompilação, dnSpy é altamente recomendado. Clicando com o botão direito em um método e escolhendo Modificar Método permite alterações no código.
- dotPeek da JetBrains é outra alternativa para decompilar assemblies .Net.
Melhorando Depuração e Registro com DNSpy
Registro DNSpy
Para registrar informações em um arquivo usando DNSpy, incorpore o seguinte trecho de código .Net:
%%%cpp using System.IO; path = "C:\inetpub\temp\MyTest2.txt"; File.AppendAllText(path, "Senha: " + password + "\n"); %%%
Depuração DNSpy
Para uma depuração eficaz com DNSpy, uma sequência de etapas é recomendada para ajustar atributos de Assembly para depuração, garantindo que otimizações que poderiam dificultar a depuração estejam desativadas. Este processo inclui alterar as configurações de DebuggableAttribute
, recompilar o assembly 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, acessar a janela Módulos no DNSpy é aconselhável, seguido pela abertura de todos os módulos e ordenação dos assemblies para facilitar a navegação e 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.
Decompilador Java
Para decompilar bytecode Java, estas ferramentas podem ser muito úteis:
Depuração de DLLs
Usando IDA
- Rundll32 é carregado 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 habilitada.
- Os parâmetros de execução incluem o caminho da DLL e o nome da função. Esta configuração interrompe a execução ao carregar cada 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 definir um ponto de interrupção no ponto de entrada desejado da DLL.
Imagens
- Os 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 manuseio de shellcode como um arquivo versus shellcode direto.
Deobfuscação e Análise
-
scdbg fornece insights sobre funções de shellcode e capacidades de deobfuscaçã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 # Hooks interativos scdbg.exe -f shellcode -d # Dump de shellcode decodificado scdbg.exe -f shellcode /findsc # Encontrar deslocamento inicial scdbg.exe -f shellcode /foff 0x0000004D # Executar a partir do deslocamento %%%
-
CyberChef para desassemblar 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 ofuscação do movfuscator, exigindo dependências como
libcapstone-dev
elibz3-dev
, e instalando keystone.
Delphi
- Para binários Delphi, IDR é recomendado.
Cursos
- https://github.com/0xZ0F/Z0FCourse_ReverseEngineering
- https://github.com/malrev/ABD
Deobfuscação binária
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.