编辑
2023-11-22
笔记
0

目录

GoLang 逆向分析
获取二进制Go语言版本
获取二进制所依赖的模块信息
提取二进制参与编译的GO文件列表
提取指定包名中的方法
使用 redress 还原出 Go 二进制内部信息

GoLang 逆向分析

获取二进制Go语言版本

shell
go version XXX

获取二进制所依赖的模块信息

shell
go version -m XXX

提取二进制参与编译的GO文件列表

shell
strings XXX | grep -E '^/.+\.go\>' | sort | uniq -u > go_src_files.txt # 过滤掉Go自带库 strings XXX | grep -E '^/.+\.go\>' | grep -v '/usr/local/go/src/' | sort > go_src_files.txt

提取指定包名中的方法

shell
strings XXX | grep -E '^包名' | sort | uniq -u > go_package_methods.txt

使用 redress 还原出 Go 二进制内部信息

https://github.com/goretk/redress

shell
redress -compiler -pkg -unknown -vendor -std runtool > go_info.txt redress -src runtool > go_src.txt redress -type runtool > go_type.txt redress -struct runtool > go_struct.txt redress -method runtool > go_method.txt redress -interface runtool > go_interface.txt

本文作者:菜鸟

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 许可协议。转载请注明出处!