使用 dnSpy 调试困难

逆向工程 恶意软件 动态分析
2021-06-28 23:33:55

我有一个 dotnet 恶意软件样本,我正在尝试使用dnSpy. 它具有字符串混淆(包含函数名称,例如BarriersBottomed等)。我使用de4dot并重命名了函数来清理示例以使其更易于理解。

我在 上放置了一个断点,Main并在调试设置中指定了在 处中断Entry Point,但程序从未命中断点。当我单击 时Start,它会运行几秒钟,然后出现dnSpy错误:

An unhandled exception occurred in kahjvb-cleaned.exe (2160)
Exception: ???
Message: "<no exception message>"

因此,在Debug选项中,我检查Ignore unhandled exceptions并使用与以前相同的选项重新启动调试。现在,调试器只运行几秒钟,调试过程就完成了。它仍然没有达到断点。

有没有人以前遇到过这种类型的问题或对此问题有任何见解?谢谢您的帮助!

1个回答

调试“清理过的”二进制文件通常很困难。许多清理技术会给您留下一个格式错误的二进制文件,该二进制文件易于“阅读”但无法正确执行。我建议静态分析“清理过的”版本,然后使用您学到的知识来调试原始版本。