混淆 C#/silverlight 源代码的方法
我正在寻找混淆以下 c#/silverlight 源代码的方法:
if (searchBox.Text.Equals("string literal")){
MessageBox.Show("another string literal");
}
到目前为止,我所能想到的隐藏它的方法是将字符串编码为 ascii 数组...
我想要的只是源代码不可读,这是复活节彩蛋。安全对我来说不是首要任务。
我不想让人们知道复活节彩蛋的存在。我试图混淆程序流程,这样就不会出现像我在混淆的 c 竞赛中看到的那样的一行代码,
if (specialcase)
doEasterEgg();
其中 hello world 变成了globbidy gook。人们知道 c# 有什么类似的东西吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您到底想防止什么?
将控件的文本值传输到您的服务器?在这种情况下,任何非加密技术的任何“混淆”都将很容易被有动机的攻击者克服。您应该考虑加密您的字符串,而不是混淆它们。
如果您想混淆源代码本身,您确实应该让第三方工具来处理它< /a>.你自己发明的任何东西都可能很容易被反向发明。
编辑:如果您只是想隐藏复活节彩蛋,可以使用 ROT13?
编辑2:如何为它们分配误导性常量并在名称误导性的不同静态类中引用它们?
。
What exactly do you want to protect against?
The transmission of the text value of the control to your server? In that case, any "obfuscation" by any non-encryption technique will easily be overcome by a motivated attacker. You should look into encrypting your strings, rather than obfuscating them.
If you're looking to obfuscate your source code itself, you really should let a third party tool handle it. Anything you might invent on your own is likely to be easily reverse-invented.
EDIT: If you just want to hide an Easter Egg, how about using ROT13?
EDIT 2: How about assigning them misleading constants and referencing them in a different static class that is misleadingly named?
.
这里没有足够的代码来有效地进行混淆。您唯一的选择是对“字符串文字”的值进行哈希处理并加密“另一个字符串文字”的值。这种技术也不安全,因为您必须公开您的加密方法。
There's not enough code here to obfuscate effectively. Your only option is hashing the value of "string literal" and encrypting the value of "another string literal". This technique is not safe either because you would have to expose your encryption method.