分成c#**(sdk)和c++**(dll\so)
加解密流程:
c# new乙個新類,初始化的時候傳入key
c# 通過setstring方法傳入待加密或者解密字串
c# 通過run方法,傳遞要求加密(0)或者解密(1)
c# 通過getstring方法獲取加密或者解密結果
dll(c++)功能:
核心加解密函式
金鑰保密:
key在c#儲存,使用64位字串,按特定位取,c#採用rsa解密
salt在c++儲存,取sha256
iv在檔案中儲存,需要另外乙個工具生成檔案內容,遊戲程式唯讀檔案。
工具預設規則為生成128位長度字元,按奇數1、3、5位把base64後的iv字串插入,插入完畢下乙個奇數字,再補乙個「=」
混淆方案:
1、dll對外沒有直接加解密函式,只能按步驟呼叫
2、dll內部加解密有預設key\salt\iv,如果被人直接呼叫,不會出錯
3、key\salt\iv儲存在三個不同地方,組合在一起才能正確解密
4、函式定義和變數命名避免key\encrypt\decrypt等
5、unity最終使用il2cpp編譯
unity加密與解密
通常unity的 都是c 的,通過工具基本可以直接看到原始碼。netreflector ilspy 以上2個工具,可以非常方便的實現解密操作。比較常見的加密操作是 對於assembly csharp.dll,使用一定的方式做加密,比如xxtea。操作思路 讀取dll 加密讀取到的內容 回寫dll 同...
Unity中實現檔案加密
常用的檔案加密演算法有 des aes rsa sha 1 md5.net自帶了安全類庫,在system.security.cryptography下有一些常用的加密演算法 其中md5屬於摘要演算法,多用於檢查檔案是否有修改 對稱加密 對稱加密演算法有aes des 3des等 在對稱加密演算法中,...
Unity3d資料加密
在unity中能夠使用c 自帶的對稱演算法對資料進行加密,以下兩種加密演算法 using system using system.text using system.security.cryptography using system.io using unityengine public clas...