冰凌汇编

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 41|回复: 0
收起左侧

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

[复制链接]
keyishiyong 发表于 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_冰凌汇编

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

总结

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

IDA.7.5.SP3.zip

1.59 MB, 下载次数: 0, 下载积分: B币 -2

冰凌汇编免责声明
✅以上内容均来自网友转发或原创,如存在侵权请发送到站方邮件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.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|站点统计|Archiver|小黑屋|RSS|冰凌汇编 ( 滇ICP备2022002049号 滇公网安备 53032102000029号)|网站地图

GMT+8, 2022-11-29 11:26 , Processed in 0.128240 second(s), 7 queries , Redis On.

冰凌汇编 - 建立于2021年12月20日

Powered by Discuz! © 2001-2022 Comsenz Inc.

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