上下文:
对于一个旨在让我们学习逆向工程以及如何使用 IDA Pro 的学生项目,我们必须对 APT28 款待恶意软件进行逆向工程(如本博文所述:https ://blog.xpnsec.com/apt28-hospitality -malware-part-2/ )
为此,我们提供了 IDA 教育许可证(7.5 版)和恶意 Word 文件。从 Word 文件中提取恶意软件后,我们可以开始对恶意软件进行逆向工程。
问题:
正如您在博客文章中所见,可以(以某种方式)使 IDA 解码load函数中设置的字符串(以下屏幕截图来自博客文章):
然而,当我们试图重现这一点时,我们找不到办法做到这一点。如果我没记错的话,每条mov指令实际上将 2 个以 16 位(宽字符)unicode(UTF-8)编码的字符放入指定的地址(通过对 应用偏移量找到ebp)。我们可以通过查看 Ghidra 中的恶意软件来确认这一点:
我试过的:
我尝试更改ENCODING变量的值,ida.cfg以便自动分析识别 UTF-8。(基于此:https : //www.hex-rays.com/products/ida/news/7_0/docs/strlits/)
基于此页面IDA Convert to Unicode我尝试了两件事:
- 选择我想转换的值,使用
Alt-A,然后选择Unicode C-style (16 bits) - 选择存储值的所有地址(在
Stack of load部分中),将它们转换为带有 的字符串A,然后Unicode C-style再次尝试转换为。
当我尝试这 2 件事时,我最终在输出窗口中看到以下内容:
Command "SetStrlitStyle" failed.
最终目标:
最终,我可以继续与 Ghidra 合作,但目标是真正了解 IDA 的新知识并能够正确使用它。一定有我不明白的地方,我很想增加我对这个工具的了解。我们试着问老师,但他也不知道该怎么做。
任何帮助将非常感激。

