go语言逆向技术之---恢复函数名称算法

go语言逆向技术之---恢复函数名称算法

【摘要】 在对程序做安全审计、漏洞检测时,通常都需要对程序做逆向分析,本文在没有符号表的情况下,提出了一种恢复函数名称的算法,方便对go语言二进制文件进行逆向分析,提升分析效率。

go语言是最近几年发展非常火的一种语言,它具备和C/C++一样的运行速度快的优点,同时又具备开发效率高,支持包管理机制高阶语言特点。其编译出来的二进制文件格式和C/C++一样运行在Linux平台下是elf格式,运行在windows平台下是pe格式,但同时在二进制文件的内部细节上go语言有自己特有的属性,二进制逆向人员可以利用go语言这些特有属性来来实现对二进制文件进行更精准的逆向分析。

特性1:利用go语言中特有的节信息来判断elf/pe文件的源代码语言类型,是go语言还是C、c++语言。

通过判断二进制文件中是否存在“.noptrdata”、“.gopclntab”、“.data.rel.ro.gopclntab”确定源代码,如果存在上述节名称,则源代码为go语言;

特性2:在没有符号表的情况下如何恢复函数名称。

我们知道在C/C++编译出来的二进制文件中,如果没有符号表信息是没法看到函数名称的,在IDA工具中只能看到地址信息。

相关推荐

学好vue需要多久,vue.js需要学多久
www.28365-365.com

学好vue需要多久,vue.js需要学多久

📅 07-07 👁️ 8160
《塞尔达传说:旷野之息》维基
www.28365-365.com

《塞尔达传说:旷野之息》维基

📅 06-30 👁️ 6752
奇异黒域
365bet正网娱乐

奇异黒域

📅 07-04 👁️ 3476
win11单机游戏数据怎么删除?如何彻底清除?
365登录平台

win11单机游戏数据怎么删除?如何彻底清除?

📅 06-30 👁️ 5568
王者排位多久不打会掉星王者排位打输了怎么不掉星
微信中显示微店图标的设置方法讲解
365bet正网娱乐

微信中显示微店图标的设置方法讲解

📅 06-30 👁️ 1826