.NET Reactor版本对pdb文件进行了模糊处理的调试

时间:2019-04-19 13:58:22

标签: c# asp.net-core obfuscation pdb net-reactor

我编译 ASPNET Core 2.2 应用程序,获取 pdb 文件,然后在程序集上运行 .NET Reactor 模糊处理。我拥有所有组件:二进制文件,源代码,pdb文件。

.NET Reactor运行之前,我可以创建转储文件并在Visual Studio 2017中使用.pdb对其进行调试。 但是.NET Reactor运行后,我在所有包含的dll中得到以下符号状态: “二进制文件未使用调试信息构建。”

此外,.NET Reactor根本不更改pdb。只是将它们复制到新目的地。

在这种情况下如何调试混淆的应用程序?

2 个答案:

答案 0 :(得分:1)

.NET Reactor的最新版本现在可以处理两种pdb规范(经典pdb,可移植pdb)。

答案 1 :(得分:0)

pdb有2种规格。较新的可移植pdb规范仅存在问题(它在内部导致异常,.NET Reactor仅复制文件)。

.NET Reactor还不支持。 确保使用"full"调试信息来构建dll: enter image description here

它应该解决问题。对于我的情况,有些原因为何我的VisualStudio忽略了此选项,即使选项已满,仍继续使用'portable'。从BSJB开始可以看到它:

enter image description here

当前.NET Reactor团队已经意识到了这一问题,并承诺在下一个主要版本中增加支持的承诺。 直到该例行尝试在设置中使用'full'调试信息。