在用cocos-2dx lua框架開發遊戲時,爲了防止源碼洩露常常用cocos自帶的加密命令**cocos luacompile**去加密,本人從破解的角度去談談這樣做存在的一些弊病。(本文示例是用mac去做,用windows的同學可能需要去安裝一些相應的工具)
爲了方便,去網上随意下載了cocos-lua開發的且有做luac加密的apk包,
第一步,在apk路徑使用命令apktool d xxx.apk解包,獲得解包的文件夾(apktool命令工具,[https://ibotpeaches.github.io/Apktool/][1]
第二步,找到文件夾下的luac腳本目啓示錄講道講章全集錄
随便打開一個luac文件啓示錄獸,找到第一個反編譯軟件字符串,記錄下來,待會要用到,如圖中的RY_QP_201密鑰6,
(爲什麽要找到它呢,co命令cos的加密命令的弊端就是,命令加密後它的key已經暴露出來了,RY_QP_2016就是,當然,光有key還不夠)
第三步,找到文件夾下cocos的lib庫
在該路徑下執行命令,strings -a libcocos2dlua.so,解析出庫中的字符串,cmd+f搜索RY_QP_2016定位,看到了什麽遊戲中心,RY_QP_MBCLIEN遊戲名字T_!2016字樣的字符串,它就是密鑰(這裏劇透了哈密鑰寶app,其實這個包加密命令助手的方式做的很簡陋密鑰在哪裏可以找到,所以很快能啓示錄找到,就算複雜一些通過這個方法同樣能找到,麻煩一點而已,啓示錄中最美的七個福原理是什麽呢,在遊戲包中luac加密後,需要AppDelegate::applicationDidFinishLaunching中的方法,調用engine-&g反編譯appt;getLuaSta啓示錄講道講章全集ck()->setXXTEAKeyAnd啓示錄1904Sign(xx,密鑰寶appxxx)方法,xx和xxx分别是lu啓示錄電影ac的key和密鑰,而so文件用strings命令能暴露出這些字符串,所以用key就能定位密鑰)
有了密鑰和key基本上就成了,最後一步,下載這個工具包[https://github.com/dengxiaochun/luac_decodeTool][2],放在項目所在的src路徑,修改shell腳本中相應的key和密鑰後執反編譯軟件行 ./decode.sh src命令
看到src中的.lua文件,就成功了
cocos-luac 遊戲逆向破解反編譯的一些啓示原文鏈接:https://qipaiyuanmaxiazai.com/5324.html,轉載請注明出處~~~
評論0