如題 基於quick-lua3.3final的資源加密分享
直入正題吧
版本號 3.3final
除錯工具 xcode
工程建立的時候選擇的拷貝原始碼
專案結構如圖
這個功能七月大神在很早之前就已經實現了,但是在3.3有幾個小bug,可能很多人不知道一直卡住了。我就在這兒從頭到尾的流程都講一次。
我只做了的加密,plist未做。道理一樣。我就只說的吧。
第一步1. 由於cocos現在統一了資源讀取,所以,找到
ccimage.ccp
這個類,匯入
helperfunc
標頭檔案
。這個時候重要的來了,xcode報錯。提示helperfunc.h找不到。我查了半天最後才發現問題所在,原來是searchpath的路徑官方填錯了。按照步驟,新增quick-src的搜尋路徑
這個時候,錯誤應該就消失了。
2.找到
initwithimagefile 這個函式
修改
data data = fileutils::getinstance()->getdatafromfile(_filepath);
為
data data = helperfunc::getdata(_filepath);
這一步就是讀取資源的時候通過七月大神封裝好的類來解密
第二步這個時候android是編譯不過去的.跟上面一樣提示 找不到helperfunc
可以通過改mk檔案來處理。按照路徑
你的專案/frameworks/cocos2d-x/cocos/android.mk
開啟mk,在如圖的位置新增
quick-src的搜尋路徑
一定要注意格式哦。上面一行末尾如果沒有 需要新增乙個 \
第三步接下來就是加密了
在引擎目錄下/quick/bin/下面 有個pack_files.sh 我們就是用到這個東西來加密了。這個跟lua加密差不多。我簡單說一下流程
1.寫乙個配置檔案.php的。很簡單。我貼乙個
切記 記好你的key和簽名!!!後面還會用到
我比較懶,沒有新寫乙個demo。。用的專案的,所以關鍵部位*****。不過不重要。忘諒解。
2.終端執行
pack_files.sh -c 你的php路徑.php
如果沒有報啥錯,這一步就算完成了。我的輸出路徑填的就是專案res下。如果不是,把加密好的拷貝覆蓋進去就ok。
第四步stack->setxxteakeyandsign("你的key", strlen("你的key"), "你的簽名", strlen("你的簽名"));
到了這一步,基本大功告成了。跑起來試試吧。真機哦。如果想要在模擬器上也支援加密,需要開啟player專案 重複第一步 第四部照做一次,再編譯乙個player。
quick lua中的類繼承
quickcocos 中讓 lua有了 繼承 的能力,看起來更像oo語言了 通過測試,發現其基類的成員變數和成員函式都可以被很好的繼承下來 例子 基類 local base class base function base ctor print base.ctor self.m 0 endfunct...
關於 0x3f3f3f3f 的問題
0x3f3f3f3f是乙個很有用的數值,它是滿足以下兩個條件的最大整數。1 整數的兩倍不超過 0x7f7f7f7f,即int能表示的最大正整數。2 整數的每8位 每個位元組 都是相同的。我們在程式設計中經常需要使用 memset a,val,sizeof a 初始化乙個陣列a,該語句把數值 val ...
0x3f3f3f3f(無窮大數)
一般定義無窮大數都是inf 99999999,或者0x7f ff ff ff,但是有的時候inf過大,雖然保證了沒有數超過它,但是在需要加上乙個數的時候,inf a可能會導致溢位,最終變成乙個負數。而0x3f3f3f3f的數量級也1e9的,一般題不會給超過1e9的數 在把它當成無窮大的時候,兩個0x...