Tag: 保护

如何在C#应用程序启动时正确运行代码?

我已经在公共MainWindow(){}中放了一些代码,但是一旦我这样做,我就不断得到一些模糊的XAML解析错误(不是在我的计算机上,而是在其他3个我尝试过的 – 是的!) 是否有应用程序启动时运行代码AS ASON的首选方法? 理论是我希望它打电话回家并且问它可以开始。 如果不是,我希望应用程序关闭。 称之为临时复制保护:)

保护代码中敏感数据的最佳方法是什么?

我正在研究保护我的代码免受反编译的方法。 这里有几个好的线程描述了混淆和代码打包作为保护代码的可能方法。 但是,当使用字符串方法/属性名称时,混淆不适用于reflection。 很多人根本不建议使用混淆。 所以我现在决定不再使用上述任何一项。 但是 , 我有部分代码需要一种加密 ,例如,带有IP的数据库连接字符串,登录名和密码作为简单的const string存储在代码中,与电子邮件帐户数据相同。 在ASP.NET中,有一个选项可以将敏感数据移动到.config文件并对其进行加密,但这需要服务器密钥,即链接到单个计算机。 我没有读太多关于它,但我想类似的东西可用于桌面应用程序。 但我需要这个在任何安装了应用程序的计算机上工作。 这里有一个问题:是否有方法可以编码/保护这些数据,使其无法与反编译代码一起读取?

对于单个开发人员而言,c#代码保护的最佳价值是什么?

什么是物超所值的c#代码保护? 有些人只是使用混淆,有些人则添加win32包装,有些则需要花钱。 到目前为止,我已经提出了http://www.eziriz.com/ ,他的Intellilock看起来很有前途。 还有其他建议吗? 为什么这不是一个好主意的任何原因? 我知道它不可能完全保护,但我更喜欢保护我的代码的能力,以便需要付出很多努力来恢复它。 我希望最终能够销售我的产品,同时也免费发布一些产品。

保护Windows服务免受不受信任的用户的攻击

如何防止用户篡改,停止或崩溃在后台工作的Windows服务可能需要一段时间才能完成? 收到停止请求后,服务应等到工作完成后再停止。 有服务的CanStop标志,但我不知道如何响应OnStop消息。 如果用户确实尝试使服务崩溃,我该如何防止进一步篡改? 编辑:从家长控制到任何后台进程的广义问题。

C#受保护的成员通过基类变量访问

这似乎是一个相当新手的问题,但你能解释为什么方法Der.B()无法通过Base类变量访问受保护的Foo吗? 这对我来说很奇怪: public class Base { protected int Foo; } public class Der : Base { private void B(Base b) { Foo = b.Foo; } // Error: Cannot access protected member private void D(Der d) { Foo = d.Foo; } // OK } 谢谢!