所以,我喜欢复活节彩蛋...这可以追溯到我成为复活节彩蛋档案社区的一部分。代码混淆?
但是,我也做了很多开源编程。
我想知道的是,您认为什么是系统化和方法性混淆代码的最佳方式。
首选PHP/Python/C/C++中的示例,但在其他语言中的示例是正确的,如果方法得到正确解释。
所以,我喜欢复活节彩蛋...这可以追溯到我成为复活节彩蛋档案社区的一部分。代码混淆?
但是,我也做了很多开源编程。
我想知道的是,您认为什么是系统化和方法性混淆代码的最佳方式。
首选PHP/Python/C/C++中的示例,但在其他语言中的示例是正确的,如果方法得到正确解释。
在这种情况下,您应该使用/写入“混淆器”。一个为你完成这项工作的计划。
Salamander混淆器可以用来混淆.Net程序,但它更多的是防止反编译,因此不完全是你所需要的。
了解用C混淆的好地方是International Obfuscated C Code Contest
的问题是,如何在不出现它执行另一个函数来创建在众目睽睽(开源)看似非混淆代码。
一些明显的方法:
我可以保证结果会是这样完全不可读的,你甚至不会能够阅读它;)
有关的代码系统,有条理的混淆,你不能击败的Perl。如果你想要一些编译成二进制文件的东西,总会有APL。
如果您的目标是.NET框架,请将您的复活节彩蛋源代码作为binhex字符串放在资源文件中。然后你可以让你的一个初始化例程获取它,解码并编译到内存中。你可以使用反射来调用它。
如果您需要编译到内存中的技术方面的帮助,并调用生成的程序集,我可以给你我编写的库和使用它的示例程序。
你可以使用这项技术来加载插件,这是一个合理的事情要做和合理的初始化。
本着重命名符号的精神:通过命名具有相同名称的不同变量来过度使用范围和可见性规则。
我没有看到你关于复活节彩蛋和开源的声明与代码混淆有关。你的问题被混淆了吗? :-) – Hobbo 2008-09-24 06:45:58
我可能会在这里很沉闷(昨晚的小睡觉),但你想混淆开源代码?这不是针对开源真正的那种吗?我会说,而不是隐藏它,只是让它不那么明显。只要把鸡蛋埋在没有多少人可能会看的地方。 – 2008-09-24 07:17:58
我想说清楚,复活节彩蛋基本上是存在的......或者制作一些邪恶的代码,希望花费更长时间才能发现它比偶然发现复活节彩蛋时更容易。 – Mez 2008-09-24 07:30:17