我使用了Confuserex来混淆使用.net 4.5的代码。除了组合框的行为(我在项目中的所有winforms)之外,编辑后的所有内容似乎都可以。组合框现在显示id而不是值作为下拉列表。 (虽然这些在调试模式下从visual studio以及发布模式的构建中运行得非常好)。
在confuserex中,我尝试将预设设置为Aggressive,Maximum ...但是同样的问题,无论我使用哪个预设。
这里没有放任何代码,因为代码本身没有问题。这很可能是Confuserex中的一个问题。
这是一个已知问题,是否存在解决方案?如果有任何进一步的细节需要提供帮助,请告诉我。
答案 0 :(得分:1)
没有办法给你一个单一的答案,但也许我可以引导你朝着正确的方向前进:
最近在Winforms构建后事件中实现了ConfuserEx,我发现某些第三方控件没有正确显示数据,或者根本没有。像你一样,我将预设从Aggressive改为Normal,无济于事。然后我去了一些从混淆中绑定数据的方法。它在某些情况下,特别是在数据网格视图和列表框中缓解了这个问题。在那些控件中,我收到了奇怪的故障,如额外的列,单元格呈现为空白(数据存在于底层对象中)等。
对于第三方控件进行混淆时,所有投注均已关闭 - 您永远不会知道他们是否会打球。有时您也会使用.Net控件来体验这一点。混淆和反思也不相处。也许检查一下你的组合框数据绑定技术,并从其填充数据的方法中解除混淆,如果没有别的话。当然,如果您可以接受这种暴露方法。这是一种方法:
[System.Reflection.Obfuscation(Exclude = true)]
public void MethodYouDontWantToObfuscate()
{
//Your method code
}