全站最完整的新版IDA 7不能显示搜索中文字符串的解决方法

最新版IDA8.3安装教程已更新,请点击以下链接查看,谢谢支持! 

最新IDA8.3安装后需要做的一些完善工作(包括IDAPython报错、ChatGPT的模块安装、中文字符串的显示,各种问题解决方法合集)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/donglxd/article/details/135243027

接上次x64dbg的话题,现在想用ida(本人安装的是IDA7.6)静态调试程序,但是发现utf-8的字符串都无法显示。如图:

4ba3bffdcbeb4be980c645b79cb5e8f7.png

可以看到IDA7.6上和X64dbg不同,String字符串窗口(快捷键Shift+F12打开)中连中文乱码都没有,都是纯ANSI码(纯英文),看来是IDA解析出毛病了,一番搜索后发现吾爱论坛有个帖子,链接如下:(https://www.52pojie.cn/thread-648679-1-1.html)给出解决方法,确实如猜测,是IDA默认按照英文文件环境在解析程序,如帖子中所说的,需要在启动时,添加一个-dCULTURE=all参数,我查阅了下,这个参数是,文化设置(Culture)用于表示程序的语言、区域、日期格式、数字格式等信息。而IDA默认的Culture是英文环境,所以会忽略除ASCII码的一切其他字符串,当然也包括中文,所以我们需要把CULTURE参数设置成ALL,全部解析所有国家的编码。吾爱帖子中,给出的方案是需要写一个批处理来调用ida全编码解析程序,我尝试了下,并不是太方便,因为换一个程序又要重新改写个批处理,比较麻烦,所以请按如下方法更简单。

1.首先,复制一个新IDA快捷方式,并随便取名

d19a808bdc754dae8dc036df9762cecf.png

2.右击新的图标的快捷方式,点属性,在目标栏的ida路径最后添加如下代码,最后点确定:

 -dCULTURE=all

注意:此代码和原来的ida路径后面有一个空格,不要忘记添加。 

c23a50f293154616b2a526621fb0018f.png

 通过上面的方法设置后,用新的IDA快捷方式重新打开刚刚要分析的程序,可以发现,Strings窗口已经多了一些乱码的字符串,字符串的总数也变多了。如下图:

eaa23439514a410fa1e6fa6001e021e6.png

 但是,中文乱码的问题没解决,其实中文乱码也很简单,如下图设置即可。

1.点击IDA菜单栏-Options选项-General选项

ff1afbd52c544b73b58675c05336a49a.png

 2.在打开的IDA Options窗口中,点击Strings选项卡,把Default 8-bit中的GB2312改成UTF-8

9c5a01e36dc84bc19f481d9a665107a8.png

3.选择如下图的UTF-8,然后点OK

9a99a427b3fc42e9834e6c737857f414.png

4. 在确认一遍已修改成功后,再点一次确认,关闭窗口。

b224f6cf39074b6997be92b5aab8e4c9.png

 如下图,乱码已正常显示。

2806a21a60244999a3775d061cafb455.png 你可能已注意到上图中左下角的字符串总数并没有变化,那是因为我们应用了新的设置后,由于IDA是静态反编译,读写都是一次性的,并不是动态的,所以我们需要用IDA重新分析下程序,不然会漏掉一些字符串,如下图。

0b42895ea363416aabcdb551dd443195.png可以发现上图中并没有我们需要的字符串, 所以我们还是老老实实的再分析下程序,最简单的重分析如下:

6bf84a0ca76c4f9892c793925b2e54d9.png

首先,右击IDA窗口左下角的状态栏中的AU:idle字样,会弹出一个小菜单,点击里面的Reanalyze program,点击后idle字样会不断变化成,重分析的地址,等待重分析结束,变回AU: idle字样即可,进行下一步。

在Strings窗口的任意选一个字符串右击,然后点Rebuild即可。

5336a33a6c3c4401994b45f9fd2fd56e.png

 可以看到识别出的字符串数量又增加了。

9d5e94e1f4f041b1a7419ab796b12393.png再搜索下刚刚的字符串,发现能找到了。

4fa6672e5b4a4c5896dbe6ede40b4ec5.png如果你搜索的字符串很短,只有两个字或者一个字,那么需要如下设置.

1.右击Strings窗口中的任意项字符串,点击Setup菜单项

14046026b5e44112b4e58d288e9f0b89.png

 2.在弹出的设置窗口中把Minimal string length改成你需要识别的大小,比如2个字,就改成2即可,最后点确认。(注意:图中标注的Unicode C-style(16 bits),请在上面修改乱码操作失败时,再尝试,本人并未用到)

11a5de8eff414f8f8de30e51e2a2001e.png

 至此,IDA显示中文的问题已写完,望大家能解决这个问题,大家有什么问题,可以评论或私信我,谢谢观看!

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虫鸣@蝶舞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值