當前位置:首頁 » 圖片素材 » 游戲圖片素材加密
擴展閱讀
有關大學的圖片素材 2024-05-19 04:21:39
曉的動態圖片 2024-05-19 04:16:33

游戲圖片素材加密

發布時間: 2022-08-24 01:29:59

① xp3player文件打不開

對資源文件包進行解包。
xp3文件是游戲資源包文件。想打開此類資源包,必須對資源文件包進行解包。解包就是將加密封裝的游戲所用圖片素材解密拆散還原成圖像形式。

② 如何加密RPGXP游戲數據

方案一:使用自己的加密演算法
第一種加密方案是修改RGSS102J.dll中的解密演算法,然後自己把素材打包成RGSSAD格式。
此方案要求使用者對程序設計以及二進制文件的修改有一定的基礎。
由於我現在還沒有試過外掛dll這種技術,所以這里介紹一個相對簡單的方法——修改MagicKey的初始值。RMXP是使用0xDEADCAFE作為MagicKey的初始值,那麼我們把RGSS102J.dll中的DEADCAFE修改掉,然後自己打包就可以防範那些一般的解包工具。
當然,如果你覺得有必要的話,還可以給這個修改過的dll文件加一個強殼,然後隨游戲發布。
雖然安全系數不高,但足以應對全自動的提取工具。我寫了一個程序來自動修改MagicKey,並打包資源文件,我給它起名叫"紙老虎"。下載網頁 http://www.uushare.com/user/lingchen/file/1333250。
難度指數:★★
安全指數:★☆

·方案二:混淆文件名
第二種加密思路是混淆文件名。在Windows操作系統下,有 \/:*?"<>| 這9個字元是不能用作文件名的。除去\/表示文件目錄,我們還有7個特殊字元可用。如果在原有文件名中加入這幾個本來不能用的字元,那麼解包程序就會因為不能正常創建文件而提取失敗。
註:此方法需要自己打包資源文件,以及修改rxdata文件,工作量比較大。
混淆不能絕對保證自己的游戲不被盜用,它的主要目的是打擊盜用者的信心,讓他在還沒有導出全部素材的時候就已經垂頭喪氣,精疲力盡了。
難度指數:★★★★
安全指數:★★☆

·方案三 將整個游戲打包成一個可執行程序
這個方法很多人都在用,而且可用的工具比較多,與MoleBox類似的工具都可以做到。
難度指數:★★
安全指數:★★★

·方案四 給游戲加一個特殊的"殼"
此方法與方案三類似,並且與傳統概念上給程序加殼有所不同。這里所說的"殼"更類似用一個定做的程序給游戲當作中介,它通過HookApi或者別的什麼方法接管游戲讀寫文件的操作。因為是完全接管,所以資源使用什麼格式完全是由使用者決定的。此方法需要比較深的編程功底。
難度指數:★★★★
安全指數:★★★☆

·方案五 自製RGSS解釋器
這是所有方案中最有效的方案,但是如果真的要自製一個RGSS解釋器有兩個主要的障礙,
1、RMXP使用的文件格式
2、編寫RGSS腳本的解釋器
很顯然,障礙一要比障礙二簡單的多,但同樣是一個龐大的工程。(如果有RMXP的源代碼的話另當別論)
難度指數:★★★★★
安全指數:★★★★★

對於游戲而言,無論什麼樣的加密方案都只是增加破解者的工作強度,而不能真正保護自己的素材不被提取,因為素材終歸是要在游戲中使用的。

③ XP3文件是什麼怎麼打開急

xp3文件是游戲資源包文件。

1、想打開此類資源包,必須對資源文件包進行解包。

2、解包就是將加密封裝的游戲所用圖片素材解密拆散還原成圖像形式。

3、解包的第一步就是確認要解包的資源文件——要將哪個文件拆開,獲取裡面的素材。確認目標文件時,要注意目標文件的後綴,這在一定程度上會告訴這個文件解包的難度。

4、xp3文件的解包,推薦使用XP3 Viewer。

操作:

1、首先,在網路中搜索ExtractData的游戲提取工具,並下載該壓縮包。

④ 如何加密rpgmakerxp

在rpgmakerxp界面按下"Alt+F"會打開界面右上角的文件選欄~
然後在其中找"壓縮游戲數據(M)..."點擊後出現對話框,裡面有一個生成加密檔案文件。選取。
接著選擇安放目錄後按確定就行~
前提是你把"RGSS+你的版本J.dll「文件和你用到的所有素材放進去就行!得放到指定文件夾。
記住:寧可放多了也不能放少了,如果少了其中一個,不一定什麼時候就會終止游戲!

⑤ 請問這種xp3後綴的文件要怎麼打開這是一個游戲吧。手機上能玩嗎電腦上要怎麼玩

想打開此類資源包,必須對資源文件包進行解包。 3、解包就是將加密封裝的游戲所用圖片素材解密拆散還原成圖像形式。

⑥ 求一個能打開xp3格式的軟體

1、xp3文件是游戲資源包文件。
2、想打開此類資源包,必須對資源文件包進行解包。
3、解包就是將加密封裝的游戲所用圖片素材解密拆散還原成圖像形式。
4、解包的第一步就是確認要解包的資源文件——要將哪個文件拆開,獲取裡面的素材。
確認目標文件時,要注意目標文件的後綴,這在一定程度上會告訴這個文件解包的難度。
5、xp3文件的解包,推薦使用 XP3 Viewer。
6、軟體簡介:XP3 Viewer(xp3文件解包工具)專門解包kirikiri2引擎的游戲(封包文件後綴為xp3的游戲),操作簡單,把游戲啟動圖標拖到xp3viewer.exe的圖標上,啟動後把想解包的文件拖到程序窗口即可,為了解包提取立繪、CG、音樂等東西才需要用到XP3Viewer(但這個軟體好像只支持kirikiri2引擎的游戲)、crass等工具有些游戲封包進行了特殊加密 xp3viewer不能解包(如智呼FD),幾乎萬能的krkr2系統提取工具,柚子社基本用的是此系統,

⑦ 如何給RPGXP游戲隱藏資料庫加密

方案一:使用自己的加密演算法
第一種加密方案是修改RGSS102J.dll中的解密演算法,然後自己把素材打包成RGSSAD格式。
此方案要求使用者對程序設計以及二進制文件的修改有一定的基礎。
由於我現在還沒有試過外掛dll這種技術,所以這里介紹一個相對簡單的方法——修改MagicKey的初始值。RMXP是使用0xDEADCAFE作為MagicKey的初始值,那麼我們把RGSS102J.dll中的DEADCAFE修改掉,然後自己打包就可以防範那些一般的解包工具。
當然,如果你覺得有必要的話,還可以給這個修改過的dll文件加一個強殼,然後隨游戲發布。
雖然安全系數不高,但足以應對全自動的提取工具。我寫了一個程序來自動修改MagicKey,並打包資源文件,我給它起名叫"紙老虎"。下載網頁 http://www.uushare.com/user/lingchen/file/1333250。
難度指數:★★
安全指數:★☆

·方案二:混淆文件名
第二種加密思路是混淆文件名。在Windows操作系統下,有 \/:*?"<>| 這9個字元是不能用作文件名的。除去\/表示文件目錄,我們還有7個特殊字元可用。如果在原有文件名中加入這幾個本來不能用的字元,那麼解包程序就會因為不能正常創建文件而提取失敗。
註:此方法需要自己打包資源文件,以及修改rxdata文件,工作量比較大。
混淆不能絕對保證自己的游戲不被盜用,它的主要目的是打擊盜用者的信心,讓他在還沒有導出全部素材的時候就已經垂頭喪氣,精疲力盡了。
難度指數:★★★★
安全指數:★★☆

⑧ 如何加密swf文件

在說明加密解密方法之前,先解釋一些理論方面的東西,很草根。 swf加密的目的。其實無論是flash的swf文件加密,還是其他各種加密,目的都是很簡單,就是私心,不想泄露具體文件細節。當然這也是大環境趨勢,在中國很多拿來主義,大家懂得。swf文件的加密,主要目的我分為兩個: 1.flash代碼加密,比如商業游戲的代碼,被盜用總是不好。 2.flash素材加密,防止被一些工具破解盜用,用flash做動畫的朋友應該深有體會。 文件格式。什麼是文件格式,網路是這樣介紹:文件格式(或文件類型)是指電腦為了存儲信息而使用的對信息的特殊編碼方式,是用於識別內部儲存的資料。簡單點理解,所有的文件都是二進制數據,而特定格式的文件(比如圖片文件、視頻文件等)都是按照一定規律排列的二進制數據,只不過後面會加類似「.swf」這樣的後綴加以辨識。 這樣的話,針對上面swf加密目的,加密的理論方法自然就誕生了。 swf加密的方式。 如果是加密代碼,那麼就用一些工具做代碼混淆,降低可讀性,即使破解了,也看不懂,那就白破解了。網上有一些工具比較適用,比如doswf。 如果是加密素材,那就需要破壞文件,讓破解工具無法解析數據,這樣就能保護文件。破壞文件,就是破壞二進制數據,破壞上面所說的文件格式。當然也不能隨便破壞,因為一旦文件破壞,不但別人無法破解你的文件,自己的文件也無法正常運行,就本末倒置了。所以,需要有規律性的破壞,這個破壞方式也就是一些加密演算法。 那麼,現在自己的文件是被加密被破壞了,但是也沒法用了,為了達到正常使用的目的,我們需要另外一個程序,即是解密演算法。解密演算法是跟加密演算法正好相逆,一個破壞文件,一個修復文件,以達到正常使用的目的。 (註:前面的幾段還是上周六寫的,後來不小心,腳被石頭砸了一下,雖說沒有血肉模糊,但還是比較疼,這里也提醒各位朋友,懷里揣著石頭的,該放的時候早放,放晚了,就砸腳了……繼續接著寫吧)
所以,目前我能想到的加密方法是,子文件要同時做混淆代碼和加密文件兩個步驟,而主文件內,要帶有解密代碼,同時要混淆這一段代碼,防止被破解。
用一個小例子演示一下。這里我先用flash隨便做個小動畫,裡面是一張圖,生成的文件我命名為「未命名-1.swf」。這里,這個小動畫就是子文件,現在我要對它加密。 現在新建一個類EncryptTool.as,他的作用就是對這個動畫加密。這里要注意的是,因為要加密文件,就會涉及本地文件讀寫操作,普通flash player是不支持的,需要建立AIR工程運行。 摘取部分代碼解釋一下加密過程。
_urlLoader = new URLLoader(); _urlLoader.dataFormat = URLLoaderDataFormat.BINARY; _urlLoader.addEventListener(Event.COMPLETE, loaded); _urlLoader.load(new URLRequest("未命名-1.swf"));
上面這段代碼意思就是把這個動畫以二進制數據方式載入讀取,然後載入完成後,會觸發下面這個方法。
private function loaded(e:Event):void { _urlLoader.removeEventListener(Event.COMPLETE, loaded); var data:ByteArray = _urlLoader.data as ByteArray; //用二進制數組保持讀取的數據 var key:String = "this is a test"; //我們設定密碼key為這串字元 var keyBytes:ByteArray = new ByteArray(); keyBytes.writeObject(key); //把這串字元轉換為二進制數組
//下面就是加密演算法 var p:int = data.length / 2; //獲取原始數據中間的位置索引 var b1:ByteArray = new ByteArray(); for(var i:int = 0; i < keyBytes.length; i ++){ b1.writeByte(data[i + p] ^ keyBytes[i]) } //上面的這段循環,主要意思是,把密碼數據跟原始數據做一次運算,即從原始數據中間位置,取跟密碼數據相同位元組數的數據,他們做一次異或運算,然後把運算結果存儲到一個二進制數組中。 //不知道什麼是異或運算的,網路一下,其實我也是剛查的…… data.position = p; //把原始數據位置調整到中間位置 data.writeBytes(b1); //從中間位置,把剛才運算後的數據全部替換進去
//上面中間就是加密的過程,這個稍微有點麻煩了。也有更簡單的,比如把首位位元組對調等等。 //上面數據加密過了,現在需要把這串加密後的數據保存成一個文件,為了方便,依然保存為swf文件。 var file:File = new File("C:/Documents and Settings/user/桌面/加密解密/DecryptTool/src/mc.swf"); var fs:FileStream = new FileStream(); fs.open(file, FileMode.WRITE); fs.writeBytes(data); fs.close(); }
好了,上面已經保存一個加密後的文件了,也就是對應文件夾裡面的「mc.swf」,雖然看起來還是普通的swf動畫文件,但是如果你直接打開,會發現,什麼都沒有,一片空白。這個時候,再嘗試用閃客精靈之類的破解軟體破解這個動畫,會彈出「文件被破壞」的提示。沒錯,文件被破壞了,被加密,當然無法破解。 文件被加密了,但是也沒法正常運行了,這個時候,就需找在使用的地方對它進行解密了。新建一個類DecryptTool.as,這個不需要AIR工程,普通正常就行。現在假定這里需要使用這個動畫,那麼,解密開始。 同樣,首先得把加密後的文件以二進制數據方式載入進來。
_urlLoader = new URLLoader(); _urlLoader.dataFormat = URLLoaderDataFormat.BINARY; _urlLoader.addEventListener(Event.COMPLETE, bytesLoaded); _urlLoader.load(new URLRequest("mc.swf"));
//載入完成後,觸發下面這個方法 private function bytesLoaded(e:Event):void { _urlLoader.removeEventListener(Event.COMPLETE, bytesLoaded); var data:ByteArray = _urlLoader.data as ByteArray; //同樣,保存讀取的數據,這是加密後的 //下面的解密運算,跟加密運算方式一樣,原因是異或運算,逆向運算跟之前的看起來沒有任何區別 var key:String = "this is a test"; var keyBytes:ByteArray = new ByteArray(); keyBytes.writeObject(key); var p:int = data.length / 2; var b1:ByteArray = new ByteArray(); for(var i:int = 0; i < keyBytes.length; i ++){ b1.writeByte(data[i + p] ^ keyBytes[i]) } data.position = p; data.writeBytes(b1); //上面得到的是解密後的數據,這是完整的數據,跟之前讀取的"未命名-1.swf"的數據時一模一樣的,因為這個步驟就是還原數據的作用。這個時候,如果你把這段數據保存為一個swf文件,會發現這個文件能正常使用,點陣圖什麼都正常顯示,跟之前的源文件沒有任何區別。 //得到完整數據後,用Loader讀取這段二進制數據,注意下面加粗的這幾行代碼,很重要,否則會報錯說不支持swf。
_loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded); var lc:LoaderContext = new LoaderContext(); lc.allowCodeImport = true; _loader.loadBytes(data, lc); }
上面讀取數據完成後,繼續出發下面的這個方法。 private function loaded(e:Event):void { _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loaded); var mc:MovieClip = _loader.content as MovieClip; addChild(mc); }
上面的這個程序就是從二進制數組中,通過Loader,得到一個影片剪輯,此時,程序中的動畫可以正常播放了,說明解密成功。
加密解密的基礎思路就是這樣,當然,別忘了對解密代碼做混淆操作,要不然,無用功都白做了。如果不混淆也行,只要不懂代碼,只靠一個閃客精靈,是破解不出子文件的素材。 代碼混淆,暫時還未實驗,不做演示了,下載工具自行摸索吧。
加密不是萬能的,肯定會有大牛能解出來。不過,利用這點基礎,防防小菜鳥跟個別破解工具還是可以的。道高一尺,魔高一丈,加密之路永無止境。
順便吐槽一下新浪博客,沒有插入代碼的功能,結果自己手動排版代碼浪費很多時間。