国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

以unity3d為例解讀:游戲數(shù)據(jù)加密

這篇具有很好參考價(jià)值的文章主要介紹了以unity3d為例解讀:游戲數(shù)據(jù)加密。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

目錄

前言

1、Virbox

一、Virbox 是怎么做的?

1、如何對程序進(jìn)行保護(hù)?

2、如何對資源進(jìn)行保護(hù)?

3、使用加密工具前后比較

二、Virbox 保護(hù)方案特點(diǎn)

l?更安全

l?更全面

l?更簡單

2、DES和RSA加密算法

一、DES加密算法

二、RSA加密算法

RSA加密算法的基本流程如下:

網(wǎng)絡(luò)游戲數(shù)據(jù)文件加密方案(基于DES和RSA加密算法)

網(wǎng)絡(luò)游戲安全性的數(shù)據(jù)文件加密方案的意義

總結(jié)


前言

據(jù)統(tǒng)計(jì),市面上萬款游戲中,其多數(shù)存在被破解、惡意代碼插入、廣告插入、外掛、二次打包等安全問題。而這些安全問題為企業(yè)帶來隱患是,研發(fā)難度增加,研發(fā)成本的提高、玩家付費(fèi)意愿減低、游戲失去公平性,玩家流失,直接損失收入 —— 因此,破除游戲風(fēng)險(xiǎn)對于開發(fā)者來說十分重要。

1、Virbox

就此情況,Virbox應(yīng)運(yùn)而生:

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

Virbox用戶工具是在用戶端運(yùn)行的可視化工具,可以理解為Virbox許可證服務(wù)的可視化界面。您可以通過virbox用戶工具查看許可證信息。它是一套專業(yè)的系統(tǒng)安全服務(wù)組件。它在客戶端上運(yùn)行,充當(dāng)整個virbox LM平臺的中心。必須通過virbox用戶工具執(zhí)行所有軟件保護(hù)和許可證管理功能。

一、Virbox 是怎么做的?

1、如何對程序進(jìn)行保護(hù)?

Virbox Protector、Virbox AHS?分別可以防止靜態(tài)分析、動態(tài)調(diào)試 Unity3D 的軟件產(chǎn)品,具有如下特性:

(1)一鍵加密你的代碼邏輯,無法反編譯,無法 dump 內(nèi)存。

(2)不降低游戲幀數(shù)。

(3) Assembly-CSharp.dll 代碼按需解密,只有調(diào)用到才會在內(nèi)存解密,不調(diào)用不解密,黑客無法一次解出所有的代碼。

(4)完整授權(quán)方案,支持云許可、軟許可、硬許可、 網(wǎng)絡(luò)鎖許可 ,支持限制時(shí)間、限制次數(shù)、限制網(wǎng)絡(luò)并發(fā)。

(5)自帶反黑引擎,驅(qū)動級別反調(diào)試,秒殺市面的所有調(diào)試器。

2、如何對資源進(jìn)行保護(hù)?

對 Unity3D 資源的保護(hù)方式主要是通過 Virbox 加殼工具結(jié)合 DS Protector 進(jìn)行保護(hù)。

DS Protector:DS Protector 是深思自主研發(fā)的程序數(shù)據(jù)保護(hù)工具,它彌補(bǔ)了加殼工具 Virbox Protector 的功能。Virbox Protector 是對程序編譯后的二進(jìn)制代碼進(jìn)行的保護(hù),配合 DS Protector 數(shù)據(jù)保護(hù)工具就形成了代碼,數(shù)據(jù),授權(quán),三位一體的防護(hù)。

而對于 Unity 引擎開發(fā)的程序的保護(hù)方式主要是對 Assembly-CSharp.dll 進(jìn)行加密,可以保護(hù) Unity 的主要代碼邏輯不被反編譯,從而最大程度保護(hù)軟件 開發(fā)商的合法權(quán)益,同時(shí) DS Protector 可以對 Unity 引擎開發(fā)的軟件中的 .ress 和 resources 等資源文件進(jìn)行加密防止軟件或游戲中的資源被非法提取。

3、使用加密工具前后比較

(1)資源文件加密后效果

加密前:

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

加密后:

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

(2)dnspy 反編譯被加殼的效果:

加殼前:

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

加殼后:

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

分析:雖然圖片清晰度難以具體分析代碼數(shù)據(jù),但是很明顯的從對比的結(jié)果可以看到很多代碼信息已經(jīng)丟失,再次進(jìn)行分析時(shí)也會有很大困難。

(3)PC 上的 X64Dbg 和 OllyDbg 調(diào)試失敗與附加失敗

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

分析:Virbox AHS 提供的這種針對動態(tài)調(diào)試的保護(hù)方案在實(shí)時(shí)分析程序時(shí)會起到顯著的作用。

(4)Cheat-Engine 讀取內(nèi)存失?。ㄐ枰碌姆春谝嬷С郑缟钏紨?shù)盾等)

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

分析:通過對原程序內(nèi)存數(shù)據(jù)的保護(hù),想使用修改數(shù)據(jù)的形式來進(jìn)行作弊的惡意行為也會被拒之門外。

二、Virbox 保護(hù)方案特點(diǎn)

l?更安全

加固強(qiáng)度高,有效對抗多種反編譯和調(diào)試工具(IDA 等工具),防止脫殼

l?更全面

支持 Arm32, Arm64, x86, x64 多種 CPU 架構(gòu)

l?更簡單

提供工具和命令行操作,編譯、加殼一體化快速完成

只要是 Unity 開發(fā)的游戲,無論是 PC 端游戲還是移動端游戲,Virbox 都可以給出簡單安全的解決方案,讓游戲開發(fā)者可以將精力投入到開發(fā)中去。

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

2、DES和RSA加密算法

一、DES加密算法

DES屬于對稱加密體制,具有信息傳輸?shù)陌踩愿?、?jì)算開銷時(shí)間少、處理速度快(每秒加密4.3萬次)的特點(diǎn),尤其適合對大量數(shù)據(jù)和大文件加密保護(hù)。DES加密算法的基本原理,如圖所示:

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

DES是將64位的明文加密成64位的密文的分組加密算法,其密鑰長度為64位。它在一個56位密鑰的控制下,將按64位分組的明文信息加密。通常,人們用c= DESk(m)表示利用密鑰k對明文m加密得到密文c的過程;用m= DESk(c)表示利用密鑰k對密文c解密得到明文m的過程。

DES加密算法的加密過程由16個獨(dú)立的加密循環(huán)組成,每個循環(huán)各使用一個從主密鑰中生成的自有密鑰K(1),…,K(16)和加密函數(shù)。對于DES加密算法的每一次循環(huán),已知密鑰的加密實(shí)際只需一次48比特的運(yùn)算,而不知密鑰的攻擊者卻需要作出248次嘗試,因此總的嘗試次數(shù)高達(dá)2768,其攻擊將會是得不償失的。

二、RSA加密算法

RSA加密算法的安全性是基于大整數(shù)素因子分解的困難性。1976年Diffie和Hellman提出了非對稱加密系統(tǒng)的思想,1977年由Rivest、Shamir和Adleman首次實(shí)現(xiàn)了著名的RSA加密系統(tǒng),它至今仍是使用最廣泛的非對稱加密算法。

RSA加密算法的基本流程如下:

(1)隨機(jī)地選擇兩個秘密的大素?cái)?shù)p和q;

(2)計(jì)算公開的模數(shù)r=p×q和歐拉指標(biāo)函數(shù)φ(r)=(p -1)(q-1);

(3)選擇一個與φ(r)互素,即滿足gcd(e,φ(r))=1的量e,作為公鑰;

(4)用歐幾里得(Eu,clid)算法計(jì)算模數(shù)為φ(r)時(shí)e的乘法逆元,即求滿足de≡1(modφ(r))的d;

(5)將明文m(0<m<r-1)按模r自乘d次冪以完成加密操作,記為c=RSA(m)=mdmodr,將密文c按模r自乘e次冪以完成解密操作,記為m= RSA-1(c)=cemodr。

RSA加密算法的特點(diǎn)是,選擇固定的較小加密密鑰來提高運(yùn)算速度,并不降低整個系統(tǒng)的安全性。因此,可考慮使用一些較小的素?cái)?shù)(例如65537)作為公開密鑰,而其解密密鑰的獲得則可通過Euclid算法求得。

網(wǎng)絡(luò)游戲數(shù)據(jù)文件加密方案(基于DES和RSA加密算法)

由于信息傳輸?shù)陌踩允腔诿荑€的安全性,故只要選擇一個長度適中的密鑰生命周期,通過使用DES和RSA加密算法,對在網(wǎng)絡(luò)中傳輸?shù)挠螒驍?shù)據(jù)文件進(jìn)行加密,就可以保證在此周期內(nèi)密鑰難于被攻破。

此外,為了防止“攻擊者將游戲數(shù)據(jù)包攔截后對服務(wù)器進(jìn)行延遲再發(fā)”的重放攻擊,還應(yīng)在封包內(nèi)加入必要的時(shí)間戳TS(time starnp),進(jìn)行時(shí)間核查過濾實(shí)時(shí)監(jiān)控——“在服務(wù)器端和客戶端分別設(shè)置一個寬度合適的時(shí)間窗口,只要超過時(shí)間窗口的數(shù)據(jù)包將會被自動丟棄”,就能有效抵御重放攻擊。

基于以上的思路,網(wǎng)絡(luò)游戲數(shù)據(jù)的文件加密方案可按如圖所示的加密傳輸流程圖進(jìn)行:

unity 加密算法,YF的Unity世界,游戲,安全,unity,游戲引擎,安全性測試

文字流程解讀:

(1)客戶端向服務(wù)器端發(fā)送明文的CONN信息,請求建立連接。服務(wù)器端收到該信息后,隨機(jī)產(chǎn)生一個DES對稱密鑰key,使用服務(wù)器端保密的RSA私鑰d加密數(shù)據(jù)key得到密文KEY。

(2)服務(wù)器端將經(jīng)過加密的數(shù)據(jù)KEY發(fā)送到已經(jīng)建立了連接的客戶端,客戶端用RSA公鑰e解密該數(shù)據(jù),得到DES密鑰key。

(3)客戶端將需要發(fā)送到服務(wù)器端的明文數(shù)據(jù)m1,加上時(shí)間戳TSi后,使用密鑰key經(jīng)過DES算法加密后得到密文c2,將c2發(fā)送到服務(wù)器端。服務(wù)器端接收到密文c1后,使用密鑰key經(jīng)過DES加密算法解密后,即可檢驗(yàn)時(shí)間戳TS,,如果在時(shí)間窗口內(nèi),就處理數(shù)據(jù)m1。

(4)服務(wù)器端將需要反饋到客戶端的明文數(shù)據(jù)m2,加上時(shí)間戳TS2后,使用密鑰key經(jīng)過DES加密算法加密后得到密文C2,將C2發(fā)送到客戶端。客戶端接收到密文C2后,使用密鑰key經(jīng)過DES算法解密后,即可檢驗(yàn)時(shí)間戳TS,,如果在時(shí)間窗口內(nèi),就處理數(shù)據(jù)m2。

(5)反復(fù)進(jìn)行以上操作。

(6)客戶端將斷開連接的信息disconn,加上時(shí)間戳TS。后,使用密鑰key經(jīng)過DES加密算法加密得到密文DISCONN,將DISCONN發(fā)送到服務(wù)器端。在確認(rèn)連接已斷開后,銷毀密鑰key。

(7)服務(wù)器端接收到密文DISCONN后,使用密鑰key經(jīng)過DES算法解密后,檢驗(yàn)時(shí)間戳TS。,如果在時(shí)間窗口內(nèi),就斷開與客戶端的連接。在確認(rèn)連接已斷開后,銷毀密鑰key。

網(wǎng)絡(luò)游戲安全性的數(shù)據(jù)文件加密方案的意義

首先,DES加密算法和RSA加密算法本身都是健壯性很強(qiáng)的加密算法,故要在加密算法上尋找陷門進(jìn)行破解,事實(shí)上基本已無可能,而就是采用耗費(fèi)天文數(shù)字般時(shí)間、人力、物力、財(cái)力的窮舉法,也將使攻擊者無法、無力、無益來破解網(wǎng)絡(luò)游戲數(shù)據(jù)。

其次,DES加密算法的密鑰是隨機(jī)產(chǎn)生的,并且只在從游戲者登陸游戲到退出游戲的這段時(shí)間內(nèi)有效。因此,就算攻擊者耗費(fèi)九牛二虎之力破解了一次密鑰,他下一次登陸游戲時(shí),該密鑰已失效,使其再次破解又只能再重新耗費(fèi)高昂代價(jià)。同時(shí),為了避免攻擊者采用長期掛線的手段攻擊數(shù)據(jù)包,也可以設(shè)置游戲者在線一定長時(shí)間(比如一天)后就自動對密鑰進(jìn)行及時(shí)更新,以增強(qiáng)密鑰的安全性。

第三,在游戲時(shí)傳送的數(shù)據(jù)包中,都加入了時(shí)間戳,并且與游戲數(shù)據(jù)一起進(jìn)行了加密,攻擊者要修改時(shí)間戳將是一件非常困難的事情,重放攻擊數(shù)據(jù)包也基本不再可能。

第四,對于在線人數(shù)眾多的網(wǎng)絡(luò)游戲來說,大量的密鑰管理需要大量的計(jì)算機(jī)資源,而且對大量數(shù)據(jù)進(jìn)行DES加密也對計(jì)算機(jī)的運(yùn)行速度提出了相當(dāng)高的要求。“非法外掛”的私服者要進(jìn)行大規(guī)模的數(shù)據(jù)處理,也是相當(dāng)困難的,從而在一定程度上防止了非法私服的出現(xiàn)與泛濫。

總結(jié)

市場的驅(qū)動需求是最大的發(fā)起者。由于有人想免費(fèi)使用,盜版、破解等軟件層出不窮,無需許可即可免費(fèi)下載,各種手段層出不窮。但恰恰相反,正是因?yàn)橛腥绱硕嗟穆闊┲圃煺?,軟件加密行業(yè)才以更高的速度發(fā)展。文章來源地址http://www.zghlxwxcb.cn/news/detail-788026.html

到了這里,關(guān)于以unity3d為例解讀:游戲數(shù)據(jù)加密的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Unity讀書系列《Unity3D游戲開發(fā)》——基礎(chǔ)知識

    Unity讀書系列《Unity3D游戲開發(fā)》——基礎(chǔ)知識

    本篇對應(yīng)標(biāo)題書籍的第一章基礎(chǔ)知識,也就是unity的基本常識和工作流的說明。 Unity目前用于創(chuàng)建2D和3D游戲、模擬應(yīng)用程序、可視化體驗(yàn)以及其他虛擬現(xiàn)實(shí)(VR)和增強(qiáng)現(xiàn)實(shí)(AR)應(yīng)用,游戲工業(yè)兩開花。 Unity初版是在2005年發(fā)布的,開始時(shí)用unity3.X、4.X這樣的名稱進(jìn)行版本更新

    2024年01月18日
    瀏覽(96)
  • 使用Unity3D制作2D游戲的重點(diǎn)做法

    官網(wǎng)上有提供一個 2D游戲的教學(xué)范例 ,這個游戲只不過把鏡頭擺放在橫向位置跟隨角色移動,游戲內(nèi)物件運(yùn)動時(shí)固定一個軸不動,使他像橫軸式的2D游戲來玩,本質(zhì)上其實(shí)還是個3D游戲,所以如果沒有3D建模的話不就沒辦法做2D游戲了?其實(shí)這些并沒有定論,就看制作者如何運(yùn)

    2024年02月11日
    瀏覽(88)
  • Unity3D使用C#腳本修改TextMeshPro的內(nèi)容(以顯示系統(tǒng)時(shí)間為例)

    Unity3D使用C#腳本修改TextMeshPro的內(nèi)容(以顯示系統(tǒng)時(shí)間為例)

    在網(wǎng)上找了很多都沒有涉及到這個TextMeshPro內(nèi)容修改,踩了很多坑,記錄一下 特別是using TMPro; public TextMeshProUGUI Text; GetComponent();

    2024年02月11日
    瀏覽(24)
  • 【Unity3D】如何用使用Unity實(shí)現(xiàn)退出游戲的功能

    1、使用Unity編譯器時(shí): 2、打包后: 很多時(shí)候,我們都知道Application.Quit()代碼,但是我們在Unity編譯器調(diào)試的時(shí)候發(fā)現(xiàn)即使掛上了這個代碼的組件或物體都無法退出編譯,因?yàn)樵摯a只在打包后可以實(shí)現(xiàn)退出功能。 所以我們可以把兩個實(shí)現(xiàn)代碼同時(shí)寫入腳本,這樣既可以在編

    2024年02月11日
    瀏覽(91)
  • Unity3D項(xiàng)目之游戲場景小地圖制作

    Unity3D項(xiàng)目之游戲場景小地圖制作

    創(chuàng)建一個場景資源,可在asset store資源商店下載,選擇心儀場景。 鏈接:https://assetstore.unity.com/?locale=zh-CN 添加一個對象GameObject,命名為player,子物體包括:主攝像機(jī),角色,后面步驟會添加一個plane。 添加一個地圖攝像機(jī),命名為MapCamera。修改屬性projection為OrthoGraphic;Size為

    2024年02月11日
    瀏覽(285)
  • Unity3D PVP游戲位置同步算法優(yōu)化詳解

    在Unity3D中,PVP(Player versus Player)游戲的位置同步是一項(xiàng)重要的技術(shù),它決定了游戲中玩家之間的互動體驗(yàn)。本文將詳細(xì)介紹Unity3D PVP游戲位置同步算法的優(yōu)化方法,并給出相應(yīng)的技術(shù)詳解和代碼實(shí)現(xiàn)。 對啦!這里有個游戲開發(fā)交流小組里面聚集了一幫熱愛學(xué)習(xí)游戲的零基礎(chǔ)

    2024年01月16日
    瀏覽(96)
  • 【Unity3D游戲魔坦之爭】游戲結(jié)束流程封裝實(shí)現(xiàn)【七】

    【Unity3D游戲魔坦之爭】游戲結(jié)束流程封裝實(shí)現(xiàn)【七】

    ?????個人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點(diǎn)贊?? 收藏? 留言?? 加關(guān)注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 : unityUI專題篇 ??? ??????:步驟實(shí)現(xiàn) 1.坐標(biāo)三個轉(zhuǎn)化 2.GUI的原點(diǎn)和屏幕的原點(diǎn) 3.結(jié)構(gòu)體的特點(diǎn)回顧——涉及Rect_結(jié)構(gòu)體類型 4.血條的

    2024年02月11日
    瀏覽(52)
  • 【Unity3D】Unity 腳本 ③ ( C# 腳本的執(zhí)行入口函數(shù) | 獲取當(dāng)前游戲物體及物體名稱 | 獲取游戲物體的 Transform 組件數(shù)據(jù) | UnityEngine 命名空間簡介 )

    【Unity3D】Unity 腳本 ③ ( C# 腳本的執(zhí)行入口函數(shù) | 獲取當(dāng)前游戲物體及物體名稱 | 獲取游戲物體的 Transform 組件數(shù)據(jù) | UnityEngine 命名空間簡介 )

    在 C# 腳本中控制 游戲物體 GameObject 運(yùn)動 , 要先獲取該物體 , 然后 修改其 Transform 組件的屬性 ; 在 游戲開始運(yùn)行后 , 會自動執(zhí)行 游戲物體 GameObject 上的 C# 組件代碼 , 程序入口是 MonoBehaviour#Start() 函數(shù) ; 在 C# 腳本中 , 主要的內(nèi)容都在 Start() 函數(shù) 中實(shí)現(xiàn) ; 在 C# 腳本中 , 游戲物體

    2023年04月12日
    瀏覽(111)
  • Unity讀書系列《Unity3D游戲開發(fā)》——編輯器的結(jié)構(gòu)

    Unity讀書系列《Unity3D游戲開發(fā)》——編輯器的結(jié)構(gòu)

    本篇對應(yīng)標(biāo)題書籍的第二章編輯器的結(jié)構(gòu),也就是unity的編輯器的使用及菜單的使用。 當(dāng)我們制作的軟件或游戲需要多人合作時(shí),就會使用git、svn進(jìn)行版本管理。一般來說只保留Assets、ProjectSettings、Packages這幾個文件夾,git會自動生成.git文件,我們添加需要屏蔽的文件夾或后

    2024年01月25日
    瀏覽(369)
  • Unity3D 游戲服務(wù)器怎么實(shí)現(xiàn)熱更新詳解

    Unity3D是一款強(qiáng)大的游戲開發(fā)引擎,它不僅可以用于游戲客戶端的開發(fā),還可以用于游戲服務(wù)器的搭建。在游戲開發(fā)過程中,熱更新是一項(xiàng)非常重要的功能,它可以使游戲在不重新啟動的情況下,更新游戲內(nèi)容,修復(fù)bug,提高游戲體驗(yàn)。本文將詳細(xì)介紹Unity3D游戲服務(wù)器如何實(shí)

    2024年01月16日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包