我想知道的任何有效的方式来隐藏我们的Silverlight代码。我知道有一些obfuscators可用,但它看起来像人,可以破解这一点。任何人有任何成功在这方面?

有帮助吗?

解决方案

托管Silverlight应用程序的页面上的Pragma No-Cache将阻止浏览器缓存xap,而是通过从Web服务器流式传输来读取它。这将使窥视更难获得xap。混淆会让它变得更难。

还要确保应用程序托管在https中,并在主应用程序之外进行身份验证。这样,xap流就会在向下的路上进行编码。

其他提示

您实际上无法隐藏任何传输到客户端的内容。如果人们想要弄清楚,他们会。

您需要在后端放置任何专有代码,客户端计算机无法访问它。

没有。客户端浏览器必须能够读取代码,因此它是可以破解的。

这是一篇关于如何混淆xap文件的简短文章

http://www.rudigrobler.net/Blog/obfuscating-silverlight

你可以复杂的潜在黑客的工作,通过下载的模糊的片段的应用程序在执行过程中,使用MEF的实例。不用说,这是有趣的应用程序是否大到足以使这招速启动时而不是阻碍用户的经验。

它不会阻止一个勇猛的黑客从你的代码(在这方面没有方法可以防止这一点,因为控插件必须能够执行它),但招将复杂,他的任务很大。

防止浏览器高速缓存的公司门是无用的,比如使用HTTPS,因为它远远更容易攻击者使用的东西复杂,因为萤火虫来得到司门于寻找它在浏览器高速缓存或使用中间人的攻击。

我想,如果你有很大的动力,你可以:

  • 模糊处理的每一个集会
  • 使用动态加载XAPs
  • 加密的动态加载司门服务器端和解客户的侧采用一个动态生成的关键发送的服务(不在同一请求。并且不要重复使用的关键。)

它不会阻止攻击者从你的代码,但是他将要分析你的初始(混乱)司门了解的密码,获得关键,获得的加密(太模糊)的动态加载司门,进行解密,然后管理unobfuscate它,然后了解它是如何塞本身在应用程序。这是不一样的,因为使用HTTPS,因为这里的加密和解密的过程是在应用程序,以便的工具,像萤火虫或提琴手变得无用。

下摆。没有什么可以阻止任何人读你的代码。但你可以让它不值得他的时间。你不需要使用所有的思想在这里,我相信您可以找到其他人,但要确保实施这些措施都值得你的时间了。

无论哪种方式,这是相当有趣,写入这样的:p

您无法隐藏(至少不是非平凡的)XAP文件。但是你可以混淆它们。混淆不是一个明确的答案,但它是一个开始,可以提供相当好的保护。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top