IDA 显示函数名称技巧

在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]


 

这样是不是很爽?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值