我正在研究一款我最終想賣的軟件。現在,我可以將它分享給那些有興趣玩它並測試它的人,也許在網頁上作爲alpha版本。但我不希望人們竊取我的代碼。代碼混淆器會完成這項工作嗎?我是否也應該版權或類似的東西?我真的不知道從哪裏開始,所以任何幫助都會有所幫助。發佈軟件
Q
發佈軟件
0
A
回答
1
如果您的程序被編譯爲託管可執行文件(例如.net),如果您不希望人們戳你的代碼,則可能需要對其進行混淆。如果您擔心盜竊您的代碼的人太多,爲什麼不將alpha測試作爲邀請函發佈(人們通過留下評論,姓名,電子郵件,電話號碼,地址等來請求邀請,並且您決定是否允許他們)。這樣你就知道誰下載你的程序,並且跟蹤它的使用情況會更容易。
編輯:我發現了一篇關於軟件許可的好文章here,你可能也想閱讀它們。
1
如果你只發布你的可執行文件,唯一能做的就是逆向工程。
0
要回答你的2個問題,這是特別爲約竊取源代碼:
- 的混淆器將很難爲別人進行反向工程(進而竊取)你的源代碼。這是一個折衷,混淆有很大的測試負擔,並且還會處理未處理異常的堆棧跟蹤。
- 版權二進制將不會做任何事來阻止某人竊取您的來源。根據您用於軟件許可的國家/地區,對二進制文件進行版權管理可能會幫助您處理不針對您的源代碼的攻擊。
如果您使用託管語言(如C#或Java),則可以使用打包器(如Themida或免費的MPress)將您的可執行文件打包到加密的包裝應用程序中。這會降低攻擊者使用.NET Reflector等工具的速度,與使用混淆相比,IMO更易於維護。
相關問題
- 1. 發佈管理軟件
- 2. 如何在自動發佈軟件後遠程調試軟件
- 3. 發佈圖書館到maven軟件庫
- 4. 簽署併發布debian軟件包
- 5. 分佈式軟件開發方法
- 6. 無法在npm中發佈軟件包
- 7. 發佈軟件到服務器
- 8. Laravel 4:發佈軟件包的資產
- 9. 如何右束和發佈修改GPL軟件的源與閉源軟件
- 10. Jira軟件:在發佈時觸發腳本?
- 11. 發佈軟件到谷歌市場,但發佈支持零設備
- 12. 爲發佈的軟件調試C++核心文件
- 13. 發佈軟件爲GPL(或類似),但允許非GPL插件?
- 14. MonoTorrent分發軟件
- 15. 軟件IP轉發
- 16. 微軟發佈管理和AZURE網站
- 17. 發佈一個微軟機器人
- 18. 發佈軟件包構建失敗的UWP
- 19. 獲取404嘗試新的軟件包發佈到NPM
- 20. GAE軟件專用內存限制錯誤發佈請求
- 21. 在Dart Pub上是否發佈了任何IMAP軟件包?
- 22. Visual SourceSafe支持分佈式軟件開發
- 23. Azure發佈與軟件包 - 證書部署
- 24. 如何使用Nuget.Core獲取預發佈的軟件包列表?
- 25. 發佈任何軟件評估版的最佳方式?
- 26. 發佈修改後的GPL v2軟件根據v3
- 27. 在使用npm發佈軟件包時獲取錯誤402
- 28. 軟件包如何發佈到TeamCity nuget服務器?
- 29. 如何通過自制軟件發佈紅寶石腳本
- 30. 精益軟件(Web應用程序)發佈工程
取決於語言 - 有些比其他語言難以混淆。 – sje397 2010-11-09 11:05:35