2010-11-09 74 views
0

我正在研究一款我最終想賣的軟件。現在,我可以將它分享給那些有興趣玩它並測試它的人,也許在網頁上作爲alpha版本。但我不希望人們竊取我的代碼。代碼混淆器會完成這項工作嗎?我是否也應該版權或類似的東西?我真的不知道從哪裏開始,所以任何幫助都會有所幫助。發佈軟件

+0

取決於語言 - 有些比其他語言難以混淆。 – sje397 2010-11-09 11:05:35

回答

1

如果您的程序被編譯爲託管可執行文件(例如.net),如果您不希望人們戳你的代碼,則可能需要對其進行混淆。如果您擔心盜竊您的代碼的人太多,爲什麼不將alpha測試作爲邀請函發佈(人們通過留下評論,姓名,電子郵件,電話號碼,地址等來請求邀請,並且您決定是否允許他們)。這樣你就知道誰下載你的程序,並且跟蹤它的使用情況會更容易。

編輯:我發現了一篇關於軟件許可的好文章here,你可能也想閱讀它們。

1

如果你只發布你的可執行文件,唯一能做的就是逆向工程。

0

要回答你的2個問題,這是特別爲約竊取源代碼:

  • 的混淆器將很難爲別人進行反向工程(進而竊取)你的源代碼。這是一個折衷,混淆有很大的測試負擔,並且還會處理未處理異常的堆棧跟蹤。
  • 版權二進制將不會做任何事來阻止某人竊取您的來源。根據您用於軟件許可的國家/地區,對二進制文件進行版權管理可能會幫助您處理不針對您的源代碼的攻擊。

如果您使用託管語言(如C#或Java),則可以使用打包器(如Themida或免費的MPress)將您的可執行文件打包到加密的包裝應用程序中。這會降低攻擊者使用.NET Reflector等工具的速度,與使用混淆相比,IMO更易於維護。