UltraDebug

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: A C D R G Y M Z X S P
公益项目,接受捐赠
查看: 1907|回复: 0
收起左侧

[动态调试] IDA7.5支持中文函数命名的办法

[复制链接]
keyishiyong

主题

0

回帖

UD

新手上路

UID
46
积分
28
注册时间
2022-5-18
最后登录
1970-1-1
2022-11-3 19:55:07 | 显示全部楼层 |阅读模式

解除函数名称的限制

默认配置情况下我们是不能将函数名称修改为中文的,会提示bad character,意思就是包含非法字符,那么怎样让中文成为合法的字符呢?

通过在网上查找资料,这个合法字符的定义在ida.cfg文件中,我们定位到文件,搜索Block_CJK_Unified_Ideographs,如下图所示:

// the following characters are allowed in user-defined names:

NameChars =
        "$?@"           // asm specific character
        "_0123456789"
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        "abcdefghijklmnopqrstuvwxyz",
        // This would enable common Chinese characters in identifiers:
        // Block_CJK_Unified_Ideographs,
        CURRENT_CULTURE;

我们去掉Block_CJK_Unified_Ideographs这一行前面的注释,就可以给函数名字起中文了。

解除IDA反汇编代码限制

虽然通过上述操作函数可以起名为中文,但是实际上使用F5功能的时候,得到的伪代码,中文函数名称却会变成下划线,如下图所示:
IDA7.5支持中文函数命名的办法 - keyishiyong_UltraDebug

通过对IDA进行逆向得知,原来hexray在生成伪代码的时候会调用一个calc_c_cpp_name函数,该函数会试图针对C/C++的函数名称进行优化,结果却误伤中文字符,我们将此处代码给NOP掉,就可以了。
IDA7.5支持中文函数命名的办法 - keyishiyong_UltraDebug

总结

大家可以自行对模块进行修改,或者使用已制作好的DLL,替换后效果如下:
IDA7.5支持中文函数命名的办法 - keyishiyong_UltraDebug

IDA.7.5.SP3.zip

1.59 MB, 下载次数: 5, 下载积分: UD -2

UltraDebug免责声明
✅以上内容均来自网友转发或原创,如存在侵权请发送到站方邮件9003554@qq.com处理。
✅The above content is forwarded or original by netizens. If there is infringement, please send the email to the destination 9003554@qq.com handle.
回复 打印

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|站点地图|UltraDebug ( 滇ICP备2022002049号-2 滇公网安备 53032102000034号)

GMT+8, 2025-6-18 19:33 , Processed in 0.040562 second(s), 11 queries , Redis On.

Powered by Discuz X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表