关闭

IDA 显示函数名称技巧

标签: IDA
1312人阅读 评论(0) 收藏 举报
分类:

在IDA中,我们可以经常看到这种

 

all    memset
push    esi             ; unsigned int
call    ??_U@YAPAXI@Z   ; operator new[](uint)
push    esi             ; Size
push    0               ; Val
push    eax             ; Dst
mov     [esp+1C4h+var_184], eax
call    memset
add     esp, 20h
lea     ecx, [esp+1A4h+var_190]
call    ds:?GetLength@?$CSimpleStringT@D$00@ATL@@QBEHXZ ; ATL::CSimpleStringT<char,1>::GetLength(void)
push    eax
lea     ecx, [esp+1A8h+var_190]
call    ds:?GetBuffer@?$CSimpleStringT@D$00@ATL@@QAEPADH@Z ; ATL::CSimpleStringT<char,1>::GetBuffer(int)
mov     [esp+1A8h+var_18C], eax
lea     esi, ds:0[ebp*4]
lea     eax, [esi+1]
push    eax             ; unsigned int
call    ??_U@YAPAXI@Z   ; operator new[](uint)
mov     ebp, eax
lea     eax, [esi+1]


 

其中函数名称是乱码

要显示正确的函数名称很简单

 

Options->Demangled names...->Show demangled C++ names as:->Names


然后就变成这样了:

call    memset
push    esi             ; unsigned int
call    operator new[](uint)
push    esi             ; Size
push    0               ; Val
push    eax             ; Dst
mov     [esp+1C4h+var_184], eax
call    memset
add     esp, 20h
lea     ecx, [esp+1A4h+var_190]
call    ds:ATL::CSimpleStringT<char,1>::GetLength(void)
push    eax
lea     ecx, [esp+1A8h+var_190]
call    ds:ATL::CSimpleStringT<char,1>::GetBuffer(int)
mov     [esp+1A8h+var_18C], eax
lea     esi, ds:0[ebp*4]
lea     eax, [esi+1]
push    eax             ; unsigned int
call    operator new[](uint)
mov     ebp, eax
lea     eax, [esi+1]


 

这样是不是很爽?

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:158331次
    • 积分:3679
    • 等级:
    • 排名:第8837名
    • 原创:222篇
    • 转载:0篇
    • 译文:0篇
    • 评论:10条
    资讯
    欢迎大家加入QQ交流群: 336836724 验证:博客csdn
    超级友情链接