当前位置:首页 » 图片素材 » 游戏图片素材加密
扩展阅读
卡通眼泪的图片 2024-05-19 02:49:43
怎么通过图片搜索价格 2024-05-19 02:35:58
搜索冰雹的图片 2024-05-19 02:30:10

游戏图片素材加密

发布时间: 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,得到一个影片剪辑,此时,程序中的动画可以正常播放了,说明解密成功。
加密解密的基础思路就是这样,当然,别忘了对解密代码做混淆操作,要不然,无用功都白做了。如果不混淆也行,只要不懂代码,只靠一个闪客精灵,是破解不出子文件的素材。 代码混淆,暂时还未实验,不做演示了,下载工具自行摸索吧。
加密不是万能的,肯定会有大牛能解出来。不过,利用这点基础,防防小菜鸟跟个别破解工具还是可以的。道高一尺,魔高一丈,加密之路永无止境。
顺便吐槽一下新浪博客,没有插入代码的功能,结果自己手动排版代码浪费很多时间。