Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
go_parser — Mais um parser de binário Golang para IDAPro | Kitploit
Ferramentas/GitHubGitHub/0xjiayu/go_parser
Engenharia ReversaDepuradoresAnálise de MalwareAnálise de Binários
GitHub0xjiayu/go_parser

go_parser

Mais um parser de binário Golang para IDAPro

Ver Repositório
1.3k14024há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Mais um analisador de binários Golang para IDAPro

Inglês | 中文


NOTA:

Agora o branch master mais recente é a versão Python3. O branch master antigo foi alterado para o branch py2 e temporariamente não mantido.

Instruções para o branch Python3

Esta versão foi desenvolvida e testada no macOS/Windows, IDA7.4+ e Python3.8.x. Se houver problemas em outras plataformas e versões, você é bem-vindo para enviar uma issue ou Pull Request.

Além disso, deve-se notar que o IDA7.4 no macOS usa o Python3 instalado por padrão, o que pode fazer com que a biblioteca de terceiros instalada por você não seja carregada. Você precisa mudar para o Python instalado pelo brew. Consulte este script para métodos específicos de troca.


Inspirado pelo golang_loader_assist e jeb-golang-analyzer, escrevi uma ferramenta de análise de binários Go mais completa para o IDAPro.

Principais Recursos:

  1. Localizar e analisar a estrutura firstmoduledata no arquivo binário Go, e adicionar comentário para cada campo;
  2. Localizar pclntab (Tabela de Linhas de PC) de acordo com a firstmoduledata e analisá-la. Em seguida, encontrar, analisar e recuperar nomes de funções e caminhos de arquivos fonte na pclntab. Os caminhos dos arquivos fonte serão impressos na janela de saída do IDAPro;
  3. Analisar strings e ponteiros de string, adicionar comentário para cada string e criar dref para cada ponteiro de string;
  4. De acordo com a firstmoduledata, encontrar cada type e analisá-lo, adicionar comentário para cada atributo de type, o que será muito conveniente para pesquisadores de malware analisarem um tipo complexo ou definição de estrutura de dados;
  5. Analisar itab (Tabela de Interface).

Informações úteis para trabalho de RE em binários Go:

E há dois recursos úteis no go_parser:

  1. Também funciona bem para binários com informações de cabeçalho de arquivo malformadas, especialmente informações de cabeçalhos de seção malformados;
  2. Todos esses recursos acima são válidos para binários compilados com buildmode=pie.

Um resultado da análise de uma estrutura de dados de configuração no DDGMiner v5029 (MD5: 95199e8f1ab987cd8179a60834644663) como abaixo:

E a lista de caminhos de arquivos fonte definidos pelo usuário:

Arquivos do projeto:

  • go_parser.py : Arquivo de entrada, pressione [Alt+F7] , selecione e execute este arquivo;
  • common.py: Definição de variáveis e funções comuns;
  • pclntbl.py: Analisar pclntab (Tabela de Linhas de PC);
  • strings.py: Analisar strings e ponteiros de string;
  • moduldata.py: Analisar firstmoduledata;
  • types_builder.py: Analisar types ;
  • itab.py: Analisar itab (Tabela de Interface);

Adicionalmente, o str_ptr.py analisará ponteiros de string especificando manualmente o endereço inicial e o endereço final dos ponteiros de string.

Nota

  1. Esta ferramenta é escrita em Python3 e testada no IDA7.4+;
  2. O módulo de análise de strings foi migrado do golang_loader_assist, e adicionei o recurso de análise de ponteiros de string. Atualmente, suporta apenas arquitetura x86 (32 bits e 64 bits).

Referências

  1. Analyzing Golang Executables
  2. Reversing GO binaries like a pro
  3. Reconstructing Program Semantics from Go binaries.pdf
  4. Go二进制文件逆向分析从基础到进阶——综述
  5. Go二进制文件逆向分析从基础到进阶——MetaInfo、函数符号和源码文件路径列表
  6. Go二进制文件逆向分析从基础到进阶——数据类型
  7. Go二进制文件逆向分析从基础到进阶——itab与strings
  8. Go二进制文件逆向分析从基础到进阶——Tips与实战案例
Baixar ferramenta