quick lua3 3final的資源加密分享

2021-06-28 20:55:15 字數 1804 閱讀 1385

如題 基於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...