基于二进制识别GO函数

基于二进制识别GO函数

Created
Aug 3, 2021 02:45 AM
Tags
Reverse
GO
上篇说了基于Gopclntab结构识别GO函数,但是如果Gopclntab段没有了怎么办呢?程序是否能够正常运行呢?
 
经过调研后我发现,修改Gopclntab段上某些函数名和源码路径之后,程序还是可以正常运行的,那就说明,这种方法来恢复函数名是存在一定的缺陷的。
 
从Go的编译模式来看,是静态编译,把所有的库函数什么的都编译到程序中,也就是说,相同版本的相同函数,无论怎么编译,函数结构是不会变的,变化的只是调用一些函数或者常量等地址的变化。
 
项目地址:
 
敬请斧正。