IDA6.8里中文字符串显示乱码,让其显示正常字符串如下
找到IDA安装路径下的cfg\ida.cfg文件,记事本打开,将ida.cfg中cpp866 version的AsciiStringChars注释掉,把full version的AsciiStringChars取消注释
// (cp866 version)
//AsciiStringChars =
// "\r\n\a\v\b\t\x1B"
// " !\"#$%&'()*+,-./0123456789:;<=>?"
// "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
// "`abcdefghijklmnopqrstuvwxyz{|}~"
// "€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪?"
// "牎ⅲぅΗī氨渤吹斗腹夯冀究"
// "懒旅呐魄壬仕掏蜗醒矣哉肿刭谯茌捱"
// "噌忏溴骁栝觌祉铒";
// (full version)
AsciiStringChars =
"\r\n\a\v\b\t\x1B"
" !\"#$%&'()*+,-./0123456789:;<=>?"
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
"`abcdefghijklmnopqrstuvwxyz{|}~"
"€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪?"
"牎ⅲぅΗī氨渤吹斗腹夯冀究"
"懒旅呐魄壬仕掏蜗醒矣哉肿刭谯茌捱"
"噌忏溴骁栝觌祉铒瘃蝮趱鲼?";
注意:如果只是注释和反注释,有时使用时会出现Non-terminated string错误。
这个时候要将第六行末尾加上双引号,就OK了。
重新开IDA,此时strings window中已经能正常显示中文,但代码里的中文还是乱码,接下来在F5后的伪代码页alt+a,将Change encoding和Set default encodings均改为utf-8,点OK,重新F5,此时代码页也能正常显示中文了