最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

cocos creator 圖片加密

2022-05-21 12:17 作者:Nimanggi  | 我要投稿

cocos create目前不提供加密資源的功能, 只能自己修改引擎來解決

雖說是要改引擎, 其實(shí)很簡單, 此方案不適用于為web平臺


1.首先修改CCImage.h類定義添加

ssize_t mydecode(const unsigned char * data, ssize_t dataLen, unsigned char ** outBuffer);


2.跳到CCImage.cpp

添加函數(shù)實(shí)現(xiàn)

ssize_t Image::mydecode(const unsigned char * data, ssize_t dataLen, unsigned char ** outBuffer)

 {

 ? ? if(dataLen<=7 || memcmp(data, "aabbcc", 6) != 0) ?//是否加密的標(biāo)記

 ? ? {

 ? ? ? ? return dataLen;

 ? ? }

 ? ? ssize_t len = dataLen-7;

 ? ? *outBuffer = (unsigned char*)malloc( len );

 ? ? unsigned char key = data[6];

 ? ? for(ssize_t i=0;i<len;i++)

 ? ? {

 ? ? ? ? (*outBuffer)[i] = data[i+7] ^ key; ?//最簡單的xor, 自己改算法

 ? ? }

 ?return len;

}



3.修改CCImage.cpp中的initWithImageData函數(shù)


 unsigned char* unpackedData = nullptr;

 ssize_t unpackedLen = 0;


改為

unsigned char* decodeData = nullptr;

unsigned char* unpackedData = nullptr;

ssize_t unpackedLen = 0;

 



dataLen = mydecode(data, dataLen, &decodeData);

if(decodeData)

{

data = decodeData;

}



并在后面添加釋放

 if(decodeData)

 {

 	free(decodeData);

 }




加密腳本

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import os,sys

import os.path

import filetype

import shutil



def encodeFile(infile, outfile):

 ? ?fr = open(infile, 'rb')

 ? ?key = 0x73

 ? ?inBuffer = fr.read()

 ? ?outBuffer = "880730"+chr(key)

 ? ?for b in inBuffer:

 ? ? ? ?outBuffer = outBuffer + chr(ord(b) ^ key)

 ? ?#print outBuffer

 ? ?open(outfile,'wb').write(outBuffer)

 ? ?fr.close();





def encodeDir(rootdir):



 ? ?encryptRootDir = "encrypt_" + rootdir



 ? ?if os.path.exists(encryptRootDir): ? ?

 ? ? ? ?shutil.rmtree(encryptRootDir) ?

 ? ?# os.mkdir(encryptRootDir)

 ? ?shutil.copytree(rootdir, encryptRootDir)



 ? ?for parent,dirnames,filenames in os.walk(encryptRootDir):

 ? ? ? ?for filename in filenames:

 ? ? ? ? ? ?kind = filetype.guess(os.path.join(parent,filename))

 ? ? ? ? ? ?if kind is not None:

 ? ? ? ? ? ? ? ?if kind.extension is "png" or kind.extension is "jpg":

 ? ? ? ? ? ? ? ? ? ?#print('File extension: %s' % kind.extension)

 ? ? ? ? ? ? ? ? ? ?# print(os.path.join(encryptDir,filename))



 ? ? ? ? ? ? ? ? ? ?# encryptDir = "encrypt_" + parent

 ? ? ? ? ? ? ? ? ? ?

 ? ? ? ? ? ? ? ? ? ?# pathIn=os.path.join(parent,filename)

 ? ? ? ? ? ? ? ? ? ?pathEncrypt=os.path.join(parent,filename)



 ? ? ? ? ? ? ? ? ? ?# print("rootdir: %s" % rootdir)

 ? ? ? ? ? ? ? ? ? ?# print("parent: %s" % parent)

 ? ? ? ? ? ? ? ? ? ?# print("encryptDir: %s" % encryptDir)

 ? ? ? ? ? ? ? ? ? ?# print("filename: %s" % filename)

 ? ? ? ? ? ? ? ? ? ?print("file: %s" % parent + "/" + filename)



 ? ? ? ? ? ? ? ? ? ?encodeFile(pathEncrypt, pathEncrypt)



 ? ?print "--- Encoding END ---"





print "--- Encoding Begin ---"

# print len(sys.argv)

if len(sys.argv) !=2:

 ? ?print "參數(shù)錯(cuò)誤"

else:

 ? ?encodeDir(sys.argv[1])


cocos creator 圖片加密的評論 (共 條)

分享到微博請遵守國家法律
偏关县| 出国| 库车县| 龙海市| 民和| 天长市| 大化| 嵩明县| 光泽县| 祁门县| 莱西市| 荃湾区| 东安县| 吉隆县| 鄂州市| 普定县| 牡丹江市| 通渭县| 五家渠市| 苏尼特左旗| 崇信县| 天等县| 石棉县| 西和县| 论坛| 万全县| 建宁县| 开原市| 宣城市| 九寨沟县| 黔南| 库伦旗| 枣庄市| 罗江县| 阳山县| 彰武县| 广平县| 屏东县| 玉田县| 贡嘎县| 仁化县|