|
IDA识别到函数名称方法
第一步是 LoadLibrary将dll载入内存,第二步使用GetProcAddress函数得到指定函数的地址。那么GetProcAddress是如何知道某个函数在内存中的地址呢?这就是函数导出表在发挥作用。函数导出表(Export Table)用于记录可执行文件或动态链接库中需要被其他程序调用的函数或变量,通过函数导出表,其他程序可以获取到被导出函数的地址,并通过该地址来调用相应的函数。需要注意的是需要注意的是:函数导出表通常用于Windows操作系统下的动态链接库(DLL)
正常情况下,gcc在编译时会抹掉代码中函数名信息而转为地址。那么当我们在做开发过程中需要对程序进行调试时,一定要在gcc编译时添加-g参数才可以使用gdb进行单行跟踪。那么gcc的-g到底做了什么事情就可以让gdb轻松知道当前程序运行在了第一行,其函数名称是什么呢? 这就是DWARF在发挥作用。
来源:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|