Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
go_parser — Otro analizador de binarios Golang para IDAPro | Kitploit
Herramientas/GitHubGitHub/0xjiayu/go_parser
Ingeniería InversaDepuradoresAnálisis de MalwareAnálisis de Binarios
GitHub0xjiayu/go_parser

go_parser

Otro analizador de binarios Golang para IDAPro

Ver Repositorio
1.3k14024hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Otro analizador de binarios Golang para IDAPro

Inglés | 中文


NOTA:

Ahora la última rama master es la versión de Python3. La rama master anterior se ha cambiado a la rama py2, y temporalmente no se mantiene.

Instrucciones para la rama Python3

Esta versión se desarrolla y prueba en macOS/Windows, IDA7.4+ y Python3.8.x. Si hay problemas en otras plataformas y versiones, le invitamos a enviar un issue o Pull Request.

Además, cabe señalar que IDA7.4 en macOS usa Python3 instalado por defecto, lo que puede causar que la biblioteca de terceros instalada por usted mismo no se cargue. Necesita cambiar a Python instalado por brew. Consulte este script para conocer los métodos de cambio específicos.


Inspirado por golang_loader_assist y jeb-golang-analyzer, escribí una herramienta de análisis de binarios Go más completa para IDAPro.

Características principales:

  1. Localizar y analizar la estructura firstmoduledata en el archivo binario Go, y hacer un comentario para cada campo;
  2. Localizar pclntab (Tabla de Líneas de PC) según el firstmoduledata y analizarlo. Luego encontrar, analizar y recuperar nombres de funciones y rutas de archivos fuente en el pclntab. Las rutas de archivos fuente se imprimirán en la ventana de salida de IDAPro;
  3. Analizar cadenas y punteros de cadena, hacer un comentario para cada cadena, y hacer dref para cada puntero de cadena;
  4. Según firstmoduledata, encontrar cada type y analizarlo, hacer un comentario para cada atributo de type, lo cual será muy conveniente para que los investigadores de malware analicen un tipo complejo o definición de estructura de datos;
  5. Analizar itab (Tabla de Interfaces).

Información útil para trabajos de RE en binarios Go:

Y hay dos características útiles en go_parser:

  1. También funciona bien para binarios con información de File Header malformada, especialmente información de Section Headers malformada;
  2. Todas esas características anteriores son válidas para binarios compilados con buildmode=pie.

Un resultado de análisis de una estructura de datos de configuración en DDGMiner v5029 (MD5: 95199e8f1ab987cd8179a60834644663) como se muestra a continuación:

Y la lista de rutas de archivos fuente definidas por el usuario:

Archivos del proyecto:

  • go_parser.py : Archivo de entrada, presione [Alt+F7] , seleccione y ejecute este archivo;
  • common.py: Definición de variables y funciones comunes;
  • pclntbl.py: Analizar pclntab (Tabla de Líneas de PC);
  • strings.py: Analizar cadenas y punteros de cadena;
  • moduldata.py: Analizar firstmoduledata;
  • types_builder.py: Analizar types;
  • itab.py: Analizar itab (Tabla de Interfaces);

Adicionalmente, str_ptr.py analizará punteros de cadena especificando manualmente la dirección de inicio y la dirección final de los punteros de cadena.

Nota

  1. Esta herramienta está escrita en Python3 y probada en IDA7.4+;
  2. El módulo de análisis de cadenas fue migrado de golang_loader_assist, y agregué la funcionalidad de análisis de punteros de cadena. Solo soporta arquitectura x86 (32 bits y 64 bits) por ahora.

Referencias

  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与实战案例
Descargar herramienta