设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3006|回复: 10
打印 上一主题 下一主题

[已经解决] 导出Data与Graphics

[复制链接]

Lv1.梦旅人

梦石
0
星屑
45
在线时间
2 小时
注册时间
2019-10-29
帖子
4
跳转到指定楼层
1
发表于 2019-11-5 08:10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
素材保存在Game.rgssad加密文件中能让别人无法读取使用我的素材,而且也能防止外部的脚本来读取Game.rgssad中的文件。

但通过保存在Game.rgssad中的Scripts.rxdata里的读取外部脚本,就可以像文件夹一样保存读取Game.rgssad的文件了。
那么,有没有办法,让我加密在Game.rgssad里的文件,可以在别人通关游戏后,通过在Game.rgssad里的读取外部脚本导出我所加
密的文件呢?

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21616
在线时间
9412 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2019-11-5 09:17:30 | 只看该作者
你自己导出不就好了为啥要加载别人的外部脚本……
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14575
在线时间
2148 小时
注册时间
2016-9-20
帖子
859
3
发表于 2019-11-5 11:08:44 | 只看该作者
加密問題比你想的复杂得多, 你不能理解的, 所以專心做好遊戏
我发的贴子大多未经整理是草稿抱歉
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
45
在线时间
2 小时
注册时间
2019-10-29
帖子
4
4
 楼主| 发表于 2019-11-5 11:46:05 | 只看该作者
其实我是想问下,能不能通过脚本,将Game.rgssad里面的Data与Graphics文件在玩家通关后可以导出来。
​$data_scripts = load_data("Data/Scripts.rxdata")
txt = open("Scripts.txt","w")
$data_scripts.each{|i|txt.write(Zlib::Inflate.inflate(i[2]).to_s)}
确实可以将Game.rgssad里的Scripts以文本导出来。
如果不行的话,就算了。

点评

如果你想玩家通关后能看到图片,那么做一个密码的压缩包,然后通关后给密码就行了,再用密码打开压缩包开图片  发表于 2019-11-5 13:39
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3670
在线时间
357 小时
注册时间
2018-9-4
帖子
272
5
发表于 2019-11-6 14:12:30 | 只看该作者
本帖最后由 Mono_kyrin 于 2019-11-6 14:21 编辑

别的RM我不清楚,XP的加密档有个通用破解方法
你知道XP是以明文的方式逐行读取ruby脚本的吗?
用CE查找内存可以轻易找到这个注入点,注入外部的脚本即可dump全部加密档中的内容
只要你所谓的外部脚本是明文保存的,那么加密档内容=白给。更不用说破解者只需稍懂些ruby和rgss库就能自己写一个。
而且最重要的是,这种破解方法和你的加密算法完全无关
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42329
在线时间
7598 小时
注册时间
2009-7-6
帖子
13505

开拓者贵宾

6
发表于 2019-11-6 17:01:14 | 只看该作者
没太理解楼主的需求,是想通关之后开源工程吗
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
45
在线时间
2 小时
注册时间
2019-10-29
帖子
4
7
 楼主| 发表于 2019-11-7 08:20:17 | 只看该作者
fux2 发表于 2019-11-6 17:01
没太理解楼主的需求,是想通关之后开源工程吗

没错,我希望别人能通关以后可以开源工程,但通关之前,默认是Game.rgssad加密文档。虽然下面这脚本确实可以将Graphics文件导出。但是如果是加密成Game.rgssad的话,那就没用了。所以不知道有没有其它方法。
  1. frm_path = "Graphics/Pictures"   # 文件来源的文件夹路劲
  2. tgt_path = "Graphics/Icons"      # 复制到目标的文件夹路劲
  3. path1 = frm_path.gsub("/", "\\") # 转换符号用于终端拷贝命令
  4. path2 = tgt_path.gsub("/", "\\")
  5. Dir::entries(frm_path).each do |file_name|  #遍历来源文件夹所有文件
  6.   next if [".",".."].include?(file_name)
  7.   file_path = path1 + "\\" + file_name   # 欲复制的文件完整路劲名
  8.   system("copy #{file_path} #{path2}")   #终端拷贝命令
  9. end
复制代码

点评

把开源工程塞网盘里, 通关后获得网址,提取码,解压码之类的不就好了=.=  发表于 2019-11-7 15:52
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42329
在线时间
7598 小时
注册时间
2009-7-6
帖子
13505

开拓者贵宾

8
发表于 2019-11-7 08:24:45 | 只看该作者
ysh20010211 发表于 2019-11-7 08:20
没错,我希望别人能通关以后可以开源工程,但通关之前,默认是Game.rgssad加密文档。虽然下面这脚本确实 ...

如果不考虑从文件格式下手的话,你只能自己维护一份文件列表,bitmap的导出也是有办法的
但无论哪种方法这都是很耗时的,你不如用一些小技巧让玩家打不开工程,完事儿后再恢复
比如你隐藏mapinfos文件,通关后再释放出来

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
45
在线时间
2 小时
注册时间
2019-10-29
帖子
4
9
 楼主| 发表于 2019-11-7 19:05:20 | 只看该作者
fux2 发表于 2019-11-7 08:24
如果不考虑从文件格式下手的话,你只能自己维护一份文件列表,bitmap的导出也是有办法的
但无论哪种方法 ...

好吧,只要达到类似效果应该就可以了,这个方法我也会采纳的,多谢各位大神指教。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-13 12:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表