iOS_加密保護1_圖片資源
由於版權、防盜用、防山寨的需要
ipa的bundle中的圖片需要進行加密,
使用者安裝app時,bundle中的圖片是進行加密後的圖片
具體加密思路如下:
1、將要加密的圖片全部放到桌面上的一個資料夾內
2、新建一個Mac 命令列專案,對該資料夾內的所有圖片進行加密,具體如下
3、讀取原始圖片的data
4、對前1000位進行異或處理
5、使用GTMBase64編碼data,下載地址
6、將加密後的data,寫到資料夾,這些圖片,就是要拖到bundle裡面的圖片
具體解密思路如下:
1、使用圖片時,先從bundle讀取到圖片的data
2、使用GTMBase64解碼data
3、對前1000位進行異或處理
4、根據data 生成UIImage
5、顯示到UIImageView上
命令列專案:
1、匯入GTMBase64.h 、GTMBase64.m、GTMDefines.h
2、刪除autorelease或新增
-fno-objc-arc3、將所有的原始圖片放到 /Users/beyond/Desktop/tmp_tai_pic
4、獲取所有該資料夾下的圖片,進行遍歷
// // main.m // encode // // Created by beyond on 16/4/2. // Copyright (c) 2016年 beyond. All rights reserved. // #import <Foundation/Foundation.h> #import "GTMBase64.h" #import "GTMDefines.h" #define kEncodeKeyLength (21) static char arrayForEncode[kEncodeKeyLength] = "beyond+2016+xsism.com"; int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); NSString *picFolderPath = @"/Users/beyond/Desktop/tmp_tai_pic"; NSArray *shortPicNameArr = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:picFolderPath error:nil]; NSLog(@"arr:%@",shortPicNameArr); for (NSString *shortPicName in shortPicNameArr) { // /Users/beyond/Desktop/tmp_tai_pic/9.png NSString *fullPicPath = [picFolderPath stringByAppendingPathComponent:shortPicName]; NSLog(@"fullPicPath:%@",fullPicPath); // 讀原始資料 NSData *imageDataOrigin = [NSData dataWithContentsOfFile:fullPicPath]; // 對前1000位進行異或處理 unsigned char * cByte = (unsigned char*)[imageDataOrigin bytes]; for (int index = 0; (index < [imageDataOrigin length]) && (index < kEncodeKeyLength); index++, cByte++) { *cByte = (*cByte) ^ arrayForEncode[index]; } //對NSData進行base64編碼 NSData *imageDataEncode = [GTMBase64 encodeData:imageDataOrigin]; // /Users/beyond/Desktop/tmp_tai_pic/encode_9.png NSString *newShortPicName = [NSString stringWithFormat:@"encode_%@",shortPicName]; NSString *newFullPicPath = [picFolderPath stringByAppendingPathComponent:newShortPicName]; NSLog(@"fullPicPath:%@",fullPicPath); [imageDataEncode writeToFile:newFullPicPath atomically:YES]; } } return 0; }
iOS專案:
1、刪除專案bundle中原來的圖片(或不加入target中),將上面加密過的圖片加入到工程中
2、在使用到UIImage的方法中,註釋掉原來的方法
// 未進行加密前,使用的是 1.gif
// cell.xib_imgView.image = [UIImage imageNamed:imgName];
3、根據新的圖片encode_1.gif讀取data
4、使用GTMBase64解碼data
5、對前1000位進行異或處理
6、根據解密後的data 生成UIImage,顯示到UIImageView上
// 進行了加密後,根據data生成圖片 NSString *newImgName = [NSString stringWithFormat:@"encode_%@",imgName]; NSString *filePath = [[NSBundle mainBundle]pathForResource:newImgName ofType:nil]; // 讀取被加密檔案對應的資料 NSData *dataEncoded = [NSData dataWithContentsOfFile:filePath]; // 對NSData進行base64解碼 NSData *dataDecode = [GTMBase64 decodeData:dataEncoded]; // 對前1000位進行異或處理 unsigned char * cByte = (unsigned char*)[dataDecode bytes]; for (int index = 0; (index < [dataDecode length]) && (index < kEncodeKeyLength); index++, cByte++) { *cByte = (*cByte) ^ arrayForEncode[index]; } // 根據解密後的Data生成Image cell.xib_imgView.image = [UIImage imageWithData:dataDecode];
對plist加密同上,解密方法如下:
NSString *filePath = @"/Users/beyond/Desktop/tmp_encode/plist/encode_k_Riyu_Alpha_List.plist";
// 進行了加密後,根據data生成圖片
// 讀取被加密檔案對應的資料
NSData *dataEncoded = [NSData dataWithContentsOfFile:filePath];
// 對NSData進行base64解碼
NSData *dataDecode = [GTMBase64 decodeData:dataEncoded];
// 對前1000位進行異或處理
unsigned char * cByte = (unsigned char*)[dataDecode bytes];
for (int index = 0; (index < [dataDecode length]) && (index < kEncodeKeyLength); index++, cByte++)
{
*cByte = (*cByte) ^ arrayForEncode[index];
}
// 根據解密後的Data生成Image
;
NSString *error;
NSPropertyListFormat format;
NSArray* plist = [NSPropertyListSerialization propertyListFromData:dataDecode
mutabilityOption:NSPropertyListImmutable
format:&format
errorDescription:&error];
NSLog( @"plist arr is:%@", plist );
相關推薦
iOS_加密保護1_圖片資源
由於版權、防盜用、防山寨的需要 ipa的bundle中的圖片需要進行加密, 使用者安裝app時,bundle中的圖片是進行加密後的圖片 具體加密思路如下: 1、將要加密的圖片全部放到桌面上的一個資料夾內 2、新建一個Mac 命令列專案,對該資料夾內的所有圖片進行加密,具
用異或法簡單加密Android的圖片資源
思路:本地用異或加密好圖片---放入Android的assets資料夾下---在程式裡用異或解密。 都知道解壓APK檔案能拿到程式的圖片資源,為了保護圖片資源不被盜用,可採用簡單異或的方法對圖片進行加密,這樣即使解壓APK檔案,圖片也無法開啟。 第一步,通過建立一個JA
UE4程序及資源加密保護方案
加密UnrealEngine4外殼加密 . Virbox Protector解決代碼反匯編和反dump代碼,解決軟件盜版與算法抄襲.虛幻引擎4是由遊戲開發者為開發遊戲而制作的、完整的遊戲開發工具套件。從二維的移動平臺遊戲到主機平臺的大作,虛幻引擎是一個純C++引擎,專為高性能而設計。它先進CPU/GPU性能分
(轉)quick-cocos2d-x圖片資源加密(續)
player AD sign 信息 text 語句 osc osi pan 摘要: 對在quick-cocos2d-x上實現的資源加密方法的補充 前篇: quick-cocos2d-x圖片資源加密 讓quick-cocos2d-x支持加密的plist文件 通過前篇的
(轉)quick-cocos2d-x圖片資源加密
做了 zip ali tran -o AD nor lena s2d 摘要: 在quick-cocos2d-x上實現的一種圖片資源加密的方法,現已經加入官方最新版本之中 ###quick-x已經支持用XXTEA加密方式對腳本文件進行加密。在此基礎上,自己做了一些工作,對
針對cocos2d圖片資源自定義加密的解密
http://zhaoxiaodan.com/cocos2dx/%E9%92%88%E5%AF%B9cocos2d%E5%9B%BE%E7%89%87%E8%B5%84%E6%BA%90%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8A%A0%E5%AF%8
cocos2dx 圖片資源加密
圖片加密使用xxtea來加密,加密祕鑰自己定,思路就是自己使用程式碼首先將圖片加密,在程式中使用的時候,在載入圖片資源處再將資源解密 加密程式碼如下: 首先要載入標頭檔案 2、將圖片加密 bool jiamiImg(string inputFileName,string
圖片資源加密,Lua檔案加密
轉自:http://www.cnblogs.com/zisou/p/cocos2dxJQ-67.html 遊戲開發中常遇到資源保護的問題。 目前遊戲開發中常加密的檔案型別有:圖片,Lua檔案,音訊等檔案,而其實加密也是一把雙刃劍。 需要安全那就得耗費一定的資源去實
AES加密解密圖片資源
AES.java import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; public class AES
cocos2dx 3.0 使用TexturePacker對圖片資源加密
遊戲開發過程中要涉及到大量的圖片,使用TexturePacker可以把小圖合成大圖。這是我們使用最多的功能,但是TexturePacker還帶有對圖片加密的功能。之前還是對加密不慎瞭解,今天在網上搜了下然後自己親手寫了,所以寫下來分享下。 把圖片匯入到Text
ios開發 圖片資源的簡單加密(一)
實現最簡單的圖片加密和解密 注意:使用加密圖片,勢必會影響app的效能 整體思路: 生成加密檔案:在mac端 1.將image.png的檔案轉成NSData 2.把NSData檔案與密碼檔案sn(NSData)拼接 3.把拼接好的NSData檔案儲存為以image.d
【加密】Cocos2d-x PNG圖片資源加密
實現原理 如果你對實現原理並不感興趣,只是想直接使用的話可以跳過這節。首先我假設讀者已經清楚PNG影象檔案結構了,如果沒有的話這裡建議可以看看《揭祕資料解密的關鍵技術》第5章,這章裡面專門對PNG影象格式進行了介紹。或者看看《PNG檔案格式詳解》這篇
quick-cocos2d-x 圖片資源加密
quick-x已經支援用XXTEA加密方式對指令碼檔案進行加密。在此基礎上,自己做了一些工作,對圖片資源進行了XXTEA加密,現分享給大家。 (2014.5.30加註:quick-x的2.2.3版本已經集成了我遞交的pr,現在官方版本程式碼與文章中類似) 首先我們要有
Cocos2d-lua 3.10 圖片資源加密
在遊戲釋出之前,最好將圖片加密,為apk/ipa加一層保護(雖然可能沒用),涉及兩個問題: 1. 如何對圖片加密 2. 如何讀取加密後的圖片 下面詳細說明。 對圖片加密 Quick-3.3提供了pack_files.sh可以實現對圖片加密,基本原理
如何通過 WebP 自適應方案減少圖片資源大小
ont 圖片文件 display zip 副本 org 占比 會有 xhtml 前言 我們知道,理想的網頁應該在 1 秒內打開,而在頁面的整體大小中,圖片往往是所占比例最大的一部分(大約占到 60% 以上,更多了解請點擊),也可以參照如下圖所示。優化圖片不僅可以加快頁面顯示
關於矢量圖片資源向後兼容:CompatVectorFromResourcesEnabled標誌的使用
圖片資源 quest source things enable release have ive stack StackOverflow上摘抄的: some things have changed since I asked this question so I will
圖片資源
ati iconfont onf target nbsp lan icon 服務 con 免費圖片網站 阿裏矢量圖標庫 . pixabay pexels gratisography.com (這個沒有連接,最近他們服務器出問題了)圖片資源
紅線科技強勢來襲,數據安全加密保護解決方案
減少 功能 以及 安全 安全措施 實的 安全防護 細粒度 隱私 在互聯網迅猛發展的時代,信息泄露事件逐年成倍增長,信息安全是如今社會人們關註的焦點。近年,互聯網、大數據、雲計算、人工智能是發展熱潮,數據安全行業必須結合新趨勢,才能阻斷遏制數據安全面臨的新威脅。因此,一個全新
Unity3d-WWW實現圖片資源顯示以及保存和本地加載
editor call clas amp private out .text sset bytes 本文固定連接:http://blog.csdn.net/u013108312/article/details/52712844 WWW實現圖片資源顯示以及保存和本地加
如何下載網絡圖片資源
httpurl net nco tput body rgs ati 下載 ring 在Java網絡編程中,經常會用到下載網絡資源。我們在這裏演示如何下載一張網絡圖片。這裏主要用到了Java中的HttpURLConnection類。請看代碼:import java.io.Fi