WPF MVVM 应用程序源代码混淆

4
我正在使用MVVM架构开发WPF应用程序,我想请您指导我最佳的解决方案来混淆应用程序源代码,最好的WPF混淆器以及在混淆WPF应用程序源代码时可能遇到的任何已知问题。
感谢您提前花费的时间。

值得考虑的一个问题是,你的应用程序中的WPF组件是否真的有什么值得混淆的东西。如果你的应用程序中有任何“秘密酱料”知识产权,那么它很可能在一个不包含任何XAML内容的单独程序集中,可以使用标准工具进行混淆。 - Dan Bryant
3个回答

4
这可能是.NET中最常用的混淆器。
据说该产品可以处理相关XAML代码的一些混淆,但似乎并非总是如此。
http://www.preemptive.com/products/dotfuscator/overview

在所有这些混淆器中,似乎只有Dotfuscator提供任何类型的XAML支持,我也没有听说其他人能够支持它。我想WPF中数据绑定的本质使得重命名部分的混淆技术上不可能,或者难以实现到足以完全支持它的程度。

基于个人经验,我对WPF / XAML应用程序的混淆效果有限,所以我不再尝试了。


1
关于WPF和MVVM的问题部分非常重要。你不能只是简单地说出有关混淆器的标准信息,因为WPF数据绑定引入了自己的问题——具体来说,是通过属性名称进行数据绑定。如果混淆器重命名了一个属性并且没有在XAML中进行相应的修复,程序将会出错。我认为楼主希望得到能够解决这个问题的答案。 - Joe White
我想我误解了问题。我已经将我的答案限定于问题的XAML部分。 - A.R.
谢谢大家抽出时间!我想我必须测试一下才能得出结论,我将下载最受欢迎的前三个混淆器并测试我的应用程序。我会告诉你结果! - Gurpreet Singh

2

最近,我发现了ConfuseEx,这是一个免费的开源混淆器,可以为WPF应用程序等提供服务。它似乎非常强大、有效和可定制。

ConfuseEx在Github上


0

Crypto Obfuscator完全支持WPF和Silverlight。如果在混淆过程中重命名任何API,则它还会自动更新在XAML/BAML中找到的对这些重命名API的引用。

免责声明:我是LogicNP Software的员工,也是Crypto Obfuscator的开发人员。


它是否也能够通过属性和元素进行数据绑定?例如 {Binding myPropertie}{Binding ElementName=mySourceElement, Path=Text} - WiiMaxx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接