Quick-Cocos2d-x Lua腳本加密打包器


准備開新項目了,在尋找合適的框架,后來就發現了Quick-Cocos2d-x這玩意. 別說,還挺好使.之后一步步研究,發現Lua不加密是不行的.

加密的方法在這里.

因為在做版本更新的時候,一般大家都是做熱更新的,但是如果每次熱更新都更新所有腳本,那量有點大.所以我就打算做一個

打包器,里面可以按照文件修改時間排序,這樣就知道哪些文件要打包,哪些不用了.

這里先寫一個很簡單的教程,關於這個打包器如何使用的.

大概界面如上圖所示.

注意,在使用這個程序之前要先確認系統變量QUICK_COCOS2DX_ROOT的存在,否則無法運行.

首先選擇你的腳本目錄. 

Quick-Cocos2d-x的項目,一般都有一個scripts文件夾,找到這個路徑即可.

然后是包輸出的目錄.這個沒什么多說的了.

前兩個配置好之后單擊"開始掃描",軟件就會自動掃描你給出的路徑,然后羅列出所有的lua文件:

 

接着,你可以單擊列表的Last Modify Time 來對列表排序.

然后就可以根據時間來判斷哪些是新修改或者增加的lua腳本了.

下面的幾個參數不用多說,包名可以隨便,密鑰也是.簽名一般空白不管就好了,默認是XXTEA.

如果加密密鑰那一欄是空白的,那么打出的包是不會被加密的.

下面的自定義命令是方便某些高手使用,可以自己寫參數進去.會覆蓋掉之前所有的參數.

保存設置,會生成cfg文件將配置保存進去. 在開始編譯和退出程序的時候,程序也會把設置寫到cfg文件里面保存起來,以便下次啟動的時候使用.

 

參數配置完了之后,在列表里面選中你要加密打包的Lua文件,然后單擊開始編譯即可. 

編譯后會顯示結果.  因為我沒做異步處理,所以文件多的話會卡,不過不要擔心,耐心等一下就好了.

 

現在這個只是初級版本,還有一些東西沒實現,也有一些問題.

比如腳本是否要打包,因為時間不太夠繼續寫,這個功能還未完善所以就先關掉了.其實就是參數問題沒什么難的.

另外編譯結果的回饋,只是簡單地用了MessageBox,如果消息過多可能會顯示不完全. 暫時的方案就是將里面的內容復制出來就好了. 

回頭再增加log功能.

 

這個軟件遵循 WTFPL 協議.

Git地址:https://github.com/NexusEast/QC2dxLua_Packer

 

 

===================================================================

EDIT: 好多人說可以通過哈希表來驗證文件,而不是通過時間. 這個可以有! 我在收集一些意見和建議就開始下一個版本吧,

     歡迎大家在我博客留言! 另外熱更新方法看這里.我就用的這個方法.

===================================================================


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM