我目前正在撤销从msvcp60.dll导入某些函数的可执行文件。当我在IDA Pro中打开可执行文件时,函数名称很长,并且它没有提供任何关于它们正在做什么的提示。扭转所有这些功能现在是浪费时间。
那么有没有办法获得这些函数的有意义的名称或者至少解释IDA中显示的列表?以下是函数示例(代码中地址0040377C中的调用):
.TEXT:00403767 loc_403767: ; CODE XREF: sub_402E1B+939j
.TEXT:00403767 mov eax, ds:dword_B59B44
.TEXT:0040376C push esi
.TEXT:0040376D imul eax, 4Fh
.TEXT:00403770 add eax, ds:dword_B52D34
.TEXT:00403776 shl eax, 4
.TEXT:00403779 add eax, ebx
.TEXT:0040377B push eax
.TEXT:0040377C call ds:??$?9DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z ; std::operator!=<char,std::char_traits<char>,std::allocator<char>>(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,char const *)
.TEXT:00403782 pop ecx
.TEXT:00403783 test al, al
答案 0 :(得分:2)
你看到一个错误的名字。仔细看你可以看到
std::operator!=(stuff)std::basic_string
看起来它正在调用字符串上的!=运算符。