所以,我喜歡復活節彩蛋...這可以追溯到我成爲復活節彩蛋檔案社區的一部分。代碼混淆?
但是,我也做了很多開源編程。
我想知道的是,您認爲什麼是系統化和方法性混淆代碼的最佳方式。
首選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