RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 46202|回复: 45

[教程] 最新Ren'Py引擎游戏解包教程(2018.10.11)

[复制链接]
发表于 2017-1-1 22:05:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本帖最后由 BuErShen 于 2018-10-11 15:10 编辑

声明:本教程仅用于技术交流与学习。
切勿在未取得原作者的授权情况下,对游戏解包提取的资源,进行公开传播或用于商业牟利,这将侵犯到原作者的合法权益,属于违法行为。


如果您已经充分了解以上后果和风险后,那么接着观看以下教程---


----------------------------------------------------------2018/10/11更新 ----------------------------------------------------------------
  • 去除 rpatool相关内容。
  • 更新 unrpa。

----------------------------------------------------------2018/03/18 更新 ----------------------------------------------------------------
  • 发现这教程需求很高,尤其是做汉化同学。所以将教程文本进行更新,提高阅读体验。
  • 其次检查插件是否更新,发现只有unrpyc有更新,但无需调整教程。
  • 插件不大,在这里提供下载,方便网络不好人员。

unrpa-master.zip
unrpa-master.zip (16.44 KB, 下载次数: 1302)
MD5: 71a1b8d305bbb6fa4068112c39f61207
SHA1: 1e64cd12bdf3a83e31c148ed509956f552095c1d

unrpyc-master.zip
unrpyc-master.zip (84.78 KB, 下载次数: 650)
MD5     :46119D61C03D786E061F976AB5AFF579
SHA1    :5B79D8E3D13DBB12C98BB80073E9C2BCFAC8A740

最后要提醒的是:
rpy文件无需自己或找工具反编译rpyc文件。
renpy有个【强制重新编译】就是将你修改后的rpy文件内容更新到rpyc文件里。打包时,也有【强制重新编译】选项,默认是勾选。

具体看文档 语言基础开头文件 部分,rpyrpyc文件关系说明。

如果还遇到其它问题,欢迎在在社区里提问,互相帮助,也方便遇到同样问题的新人,谢谢

----------------------------------------------------------2017/12/10 更新 ----------------------------------------------------------------

由于 unrpa 更新支持使用python-3.X,有同学迷糊了,呃 ... ..

还是原文里举例那样:
  • d:\unrpa-masterunrpa所在文件夹。
  • d:\youxi 是你要解包.rpa格式文件所在文件夹。
  • d:\game 是解包后文件所存放的文件夹。

注:有时一个renpy游戏不止一个.rpa格式文件,名字也不只是Archive.rpa ,如:audio.rpa、scripts.rpa 、images.rpa等。
理论上,游戏 game目录下的所有 .rpa格式文件都需要解包。


  • 下载安装 python-3.X (当前版本是:python-3.6.3 )
  • 下载 unrpa了,和.rpa格式文件,拷贝或复制到各自文件夹里了。
  • 打开命令提示符,.rpa格式文件 是 images.rpa ,输入命令:
    1. py -3 D:\unrpa-master\unrpa -mp D:\game D:\youxi\images.rpa
    复制代码

最后,到 d:\game 文件夹里看看,是不是有神秘文件出来了!

ps:
Win10 系统命令提示符是 Windows PowerShell (相关知识自行搜索)

PPS:正常安装python 3.X,也不管你有没有安装python 2 —— window系统里真的不需要配置什么环境变量

------------------------------------------------------------- 原版 分割线 -------------------------------------------------------------------

首先,你的有个女朋友... ...

啊,不对,是有个男朋友,也不对... ...嗯... ...对了,是有“神威·太湖之光”超级计算机一台。

噔,噔噔噔噔... ....

... ...不要告诉我,到现在你电脑上还木有Ren'Py引擎?

Ren'Py引擎下载

Ren'Py:https://www.renpy.org/latest.html

最新版本6.99.12 (2016年12月30日)
至于游戏使用那个版本,可查看 log.txt 或 script_version.txt 文件。

还得有Python语言,因为解包的脚本需要他。

Python下载:https://www.python.org/downloads/

1.png

至于Python版本选择:[3.6.0版] VS [2.7.13版],请参考游戏所使用的版本(可查看log.txt文件)

一般选2.7.13版本。

Ren'Py引擎会将游戏资源打包成Archive.rpa文件,就需要解包rpa文件的两个工具(按需用其一)。

rpa解包脚本(支持RPAv2)
unrpa:https://github.com/Lattyware/unrpa

rpy脚本文件加密成扩展名为rpyc的文件,就需要解码工具unrpyc

rpyc文件的反编译工具
unrpyc:https://github.com/CensoredUsername/unrpyc

GitHub网站下载方式,如图:

2.png

3.png


现在说下windows系统下怎么解包rpa文件:

首先昵... ...无需什么python环境变量配置,直接打开命令控制台CMD,输入解包命令。

win10系统叫:命令提示符(再不懂问百度吧)。



unrpa命令格式是:Python路径(空格)unrpa文件路径(空格)-p(解压命令)(空格)解压到的文件夹(空格)apr文件路径

unrpa 示例代码:
  1. C:\Python27\python.exe d:\unrpa-master\unrpa -p d:\game d:\youxi\Archive.rpa
复制代码

示例代码 解析:

unrpa-master :是指 unrpa脚本所在的文件夹。

-p :是unrpa脚本参数

d:\youxi\Archive.rpa :是你要解包的游戏 Archive.rpa文件所在路径。

d:\game :就是将游戏资源解包哪里。这里是解包到 D盘game文件夹里。

如果开始解包会显示如下字样:

unrpa:extracting files

说明正在解包中,请稍后... ...

这样,rpa文件被解包到一个名为game文件夹中了。

Ren'Py工程所在的文件夹里新建一个文件夹,命名随便啦,如:youxi

建议:直接用你所解包的游戏名命名(英文)。

然后,将示例中已经解包资源所在的game文件夹,放到 youxi文件夹里,打开Ren'Py,你会看见Ren'Py界面的工程(projects)下面出现了youxi

4.png

当你点击【启动工程】是可能提示错误,无法运行,那是因为游戏的脚本rpy文件被编译成扩展名为rpyc的文件了。这是就用到 unrpyc了。



unrpyc如何解码或者说反编译昵?

很简单,最新版 unrpyc 十分人性化,直接把要编译的 rpyc文件都拖放到 unrpyc文件夹 unrpyc.py上,自动编译(也可以按住Ctrl键多选)。

但注意不要移动 rpyc文件位置,瞬间你会看到名称相同但扩展名为 rpy的文件,现在你可以用文本编辑器查看或改写脚本了。

注意:在Game文件夹里搜索,看看是否还有 rpyc文件,也要反编译出来。

自此,你可以在Ren'Py里愉快的玩耍了。

什么?你说你解包游戏只是收藏CG立绘?请到 game\images文件夹里查找... ...

看完教程后你有什么不懂或有错误,欢迎回帖。

---ENG
发表于 2019-2-11 20:53:04 | 显示全部楼层
问一下各位大佬,用的3.x的那个方法,提示是unrpa: error: This archive doesn't have a header we recognise, if you know the version of the archive you can try using -f to extract it without the header是什么原因,该怎么解决
回复 支持 5 反对 1

使用道具 举报

发表于 2018-4-3 19:05:20 | 显示全部楼层
你可能没参考示例代码。
其实教程有个笔误:
Python2.7的unrpa命令格式是:Ren'Py安装路径(空格)unrpa文件路径(空格)-p(解压命令)(空格)解压到的文件夹(空格)apr文件路径
其实Ren'Py安装路径应该写成 Python2.7路径,如下 :
unrpa命令格式是:Python2.7路径(空格)unrpa文件路径(空格)-p(解压命令)(空格)解压到的文件夹(空格)apr文件路径
教程示例代码是正确的。
unrpa 示例代码:
    C:\Python27\python.exe d:\unrpa-master\unrpa -p d:\game d:\youxi\Archive.rpa

如果是Python3.X看教程开头追加部分。

评分

参与人数 1干货 +1 收起 理由
BuErShen + 1 已更正,谢谢!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2017-1-11 20:43:30 | 显示全部楼层
学习Ren'Py引擎,这个都会的吧:L
回复 支持 反对

使用道具 举报

发表于 2018-4-3 03:25:44 | 显示全部楼层
D:\renpy\unrpa-master>python unrpa -p D:\renpy\unrpa-master\archive archive.rpa
  File "unrpa", line 72
    "use the --continue-on-error flag.") from e
                                            ^
SyntaxError: invalid syntax

居然有解不了包的…………
回复 支持 反对

使用道具 举报

发表于 2018-4-3 18:07:21 | 显示全部楼层
法海叔叔 发表于 2018-4-3 03:25
D:\renpy%unrpa-master>python unrpa -p D:\renpy%unrpa-master\archive archive.rpa
  File "unrpa", line ...

语法错误,你是python2.7版本?
回复 支持 反对

使用道具 举报

发表于 2018-4-4 01:21:03 | 显示全部楼层
python2.7版本,命令无错。其它游戏都可以解包,这个游戏应该是加密了。不知道什么情况。
回复 支持 反对

使用道具 举报

发表于 2018-4-4 10:05:02 | 显示全部楼层
能解其它包,说明操作没问题。能不能传上来,我们试试看。也可试试python3.x版本解包。加密?python语言决定密码在哪地方藏着。
回复 支持 反对

使用道具 举报

发表于 2018-4-9 17:18:53 | 显示全部楼层
龙氏 发表于 2018-4-4 10:05
能解其它包,说明操作没问题。能不能传上来,我们试试看。也可试试python3.x版本解包。加密?python语言决 ...

老哥,既然能用命令行一键解包文件,那有什么能加密吗?貌似renpy生成发行版也是用md5,那有什么办法能修改加密和解密md5码的次数的?或者添加盐值?
回复 支持 反对

使用道具 举报

发表于 2018-4-9 20:20:02 | 显示全部楼层
nba2k9ai33 发表于 2018-4-9 17:18
老哥,既然能用命令行一键解包文件,那有什么能加密吗?貌似renpy生成发行版也是用md5,那有什么办法能修 ...

把游戏做好,不要让别人连破解的动力都没有。
回复 支持 反对

使用道具 举报

发表于 2018-4-10 10:36:14 | 显示全部楼层
龙氏 发表于 2018-4-9 20:20
把游戏做好,不要让别人连破解的动力都没有。

破解拿CG我能理解,关键这引擎一句命令行源码都能扒出来
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|RenPy中文空间 ( 苏ICP备17067825号 | 苏公网安备 32092302000068号 )

GMT+8, 2021-7-29 14:48 , Processed in 0.053068 second(s), 13 queries , File On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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