adsasf14548:↑大佬牛逼,这真的是技术帖子了,顶一顶这几天有点忙 我稍后看一下。没有回想逻辑的游戏我做起来可能比较麻烦比较慢,还请不要着急或别太寄希望于我 我femdom的都只做了个半成品。这类游戏只能我通过CG量/CG特征识别是否为H,然后再对识别出来的H设置回想逻辑 -- 打开这个H所需的开关/需要满足的变量条件,然后设置传送和UI,以及回想逻辑,还是比较慢的,具体每个游戏也不太一样,这只是可能的大概流程
如果方便的话后续大佬能看下【無力の魔女】吗,这部游戏也没有回想,作者当时的原话翻译如下
“另外,正如我们之前所说明的, 由于系统限制,无法实现“回忆房间”功能。 说实话,很难界定哪些内容属于H场景,其边界相当模糊, 而且剧情分支太多,导致“回忆房间”机制难以有效运用。 如果要在当前状态下添加回忆房间功能, 还不如从头开始重新设计更快。 给大家带来不便,敬请谅解。”
jceb:↑其实很多有回想房的传统rpg都能用MTool解锁,不过现在的Mtool能解锁的游戏还是太少了,大佬可以考虑去MTool做一个解锁全回想的脚本(现有的那个脚本用处很小)。顺便问一下如果不能直接传送到回想房间或者回想在标题界面的那种怎么解锁?是这样的,不同的游戏引擎不同,这是一个大区别;相同的引擎,每个游戏具体的数据格式也不相同,所以很难存在解锁纯回想的脚本,这在技术上是不能实现的。即使是我现在手动逆向的时候,分析出数据格式以后,也常常会把存档改坏,需要不断调试,不存在一键逆向的脚本哇。
mmdjj:↑大佬,能不能教一下一般的adv式galgame怎么通过修改游戏文件解锁全cg?一般修改哪个文件,用到什么工具,或者我去哪里可以学到相关知识?jceb:↑其实很多有回想房的传统rpg都能用MTool解锁,不过现在的Mtool能解锁的游戏还是太少了,大佬可以考虑去MTool做一个解锁全回想的脚本(现有的那个脚本用处很小)。顺便问一下如果不能直接传送到回想房间或者回想在标题界面的那种怎么解锁?是这样的,不同的游戏引擎不同,这是一个大区别;相同的引擎,每个游戏具体的数据格式也不相同,所以很难存在解锁纯回想的脚本,这在技术上是不能实现的。即使是我现在手动逆向的时候,分析出数据格式以后,也常常会把存档改坏,需要不断调试,不存在一键逆向的脚本哇。
但你在回想房以后,MTOOL可以通过hook注入的方式找到、修改里面的开关/变量,这是注入,而非逆向,是另一种技术方式,也是最通用、最可能能在最多游戏上使用的方法,这也是MTOOL使用这个方法的原因之一,但需要你手动进入回想房和手动调试开关。
对于“不能直接传送到回想房间或者回想在标题界面的那种怎么解锁?” 是这样的,这个问题分为两个问题,我们先来回答第一个,不能直接传送到回想房的怎么解锁?
这个问题分为两个情况--
1.存在回想房间、回想逻辑但无法传送过去:尽管你在游玩时可能会遇到无法到回想房的情况(?),但是只要回想房这个东西存在,我就能改存档里的当前人物位置到这个回想房的位置,所以其实不存在这种情况
2.回想房间和回想逻辑不存在,那么请看我之前的回复,比如femdom,就需要我自己去根据游戏的具体情况自己做一个完整的回想系统,这样就很麻烦。
我们再来回答第二个,回想在标题界面的那种怎么解锁?
我想你指的是,游戏只有通关了以后,“回想”按钮才会在标题出现,所以直接加载某个存档难以回想,是这个问题对吧?
是这样的,对于游戏而言,他只认存档,对吧?一定是有某些存档/数据提供给游戏,让他知道了,他才给你这个标题回想界面,对吧?那我找出来再把他改为他想要的格式就好了。一般这种都是在全局存档里(你经常可能会在游戏文件夹里面的globalsave/Save0里 game_success_flag之类的东西。),具体游戏也不一样。
jceb:↑因为我本人是计算机系统安全相关专业的,所以在讲解这方面内容不知道能否讲得恰当,能否以普通人能理解的方式讲清楚mmdjj:↑大佬,能不能教一下一般的adv式galgame怎么通过修改游戏文件解锁全cg?一般修改哪个文件,用到什么工具,或者我去哪里可以学到相关知识?jceb:↑其实很多有回想房的传统rpg都能用MTool解锁,不过现在的Mtool能解锁的游戏还是太少了,大佬可以考虑去MTool做一个解锁全回想的脚本(现有的那个脚本用处很小)。顺便问一下如果不能直接传送到回想房间或者回想在标题界面的那种怎么解锁?是这样的,不同的游戏引擎不同,这是一个大区别;相同的引擎,每个游戏具体的数据格式也不相同,所以很难存在解锁纯回想的脚本,这在技术上是不能实现的。即使是我现在手动逆向的时候,分析出数据格式以后,也常常会把存档改坏,需要不断调试,不存在一键逆向的脚本哇。
但你在回想房以后,MTOOL可以通过hook注入的方式找到、修改里面的开关/变量,这是注入,而非逆向,是另一种技术方式,也是最通用、最可能能在最多游戏上使用的方法,这也是MTOOL使用这个方法的原因之一,但需要你手动进入回想房和手动调试开关。
对于“不能直接传送到回想房间或者回想在标题界面的那种怎么解锁?” 是这样的,这个问题分为两个问题,我们先来回答第一个,不能直接传送到回想房的怎么解锁?
这个问题分为两个情况--
1.存在回想房间、回想逻辑但无法传送过去:尽管你在游玩时可能会遇到无法到回想房的情况(?),但是只要回想房这个东西存在,我就能改存档里的当前人物位置到这个回想房的位置,所以其实不存在这种情况
2.回想房间和回想逻辑不存在,那么请看我之前的回复,比如femdom,就需要我自己去根据游戏的具体情况自己做一个完整的回想系统,这样就很麻烦。
我们再来回答第二个,回想在标题界面的那种怎么解锁?
我想你指的是,游戏只有通关了以后,“回想”按钮才会在标题出现,所以直接加载某个存档难以回想,是这个问题对吧?
是这样的,对于游戏而言,他只认存档,对吧?一定是有某些存档/数据提供给游戏,让他知道了,他才给你这个标题回想界面,对吧?那我找出来再把他改为他想要的格式就好了。一般这种都是在全局存档里(你经常可能会在游戏文件夹里面的globalsave/Save0里 game_success_flag之类的东西。),具体游戏也不一样。
mmdjj:↑受教了,感谢大佬!我也是计算机专业的,理解起来并不困难,感觉像获得了先人的传承:D 。还有最近发现2dfan能找到很多现成的资源,也给大家分享一下jceb:↑因为我本人是计算机系统安全相关专业的,所以在讲解这方面内容不知道能否讲得恰当,能否以普通人能理解的方式讲清楚mmdjj:↑大佬,能不能教一下一般的adv式galgame怎么通过修改游戏文件解锁全cg?一般修改哪个文件,用到什么工具,或者我去哪里可以学到相关知识?jceb:↑其实很多有回想房的传统rpg都能用MTool解锁,不过现在的Mtool能解锁的游戏还是太少了,大佬可以考虑去MTool做一个解锁全回想的脚本(现有的那个脚本用处很小)。顺便问一下如果不能直接传送到回想房间或者回想在标题界面的那种怎么解锁?是这样的,不同的游戏引擎不同,这是一个大区别;相同的引擎,每个游戏具体的数据格式也不相同,所以很难存在解锁纯回想的脚本,这在技术上是不能实现的。即使是我现在手动逆向的时候,分析出数据格式以后,也常常会把存档改坏,需要不断调试,不存在一键逆向的脚本哇。
但你在回想房以后,MTOOL可以通过hook注入的方式找到、修改里面的开关/变量,这是注入,而非逆向,是另一种技术方式,也是最通用、最可能能在最多游戏上使用的方法,这也是MTOOL使用这个方法的原因之一,但需要你手动进入回想房和手动调试开关。
对于“不能直接传送到回想房间或者回想在标题界面的那种怎么解锁?” 是这样的,这个问题分为两个问题,我们先来回答第一个,不能直接传送到回想房的怎么解锁?
这个问题分为两个情况--
1.存在回想房间、回想逻辑但无法传送过去:尽管你在游玩时可能会遇到无法到回想房的情况(?),但是只要回想房这个东西存在,我就能改存档里的当前人物位置到这个回想房的位置,所以其实不存在这种情况
2.回想房间和回想逻辑不存在,那么请看我之前的回复,比如femdom,就需要我自己去根据游戏的具体情况自己做一个完整的回想系统,这样就很麻烦。
我们再来回答第二个,回想在标题界面的那种怎么解锁?
我想你指的是,游戏只有通关了以后,“回想”按钮才会在标题出现,所以直接加载某个存档难以回想,是这个问题对吧?
是这样的,对于游戏而言,他只认存档,对吧?一定是有某些存档/数据提供给游戏,让他知道了,他才给你这个标题回想界面,对吧?那我找出来再把他改为他想要的格式就好了。一般这种都是在全局存档里(你经常可能会在游戏文件夹里面的globalsave/Save0里 game_success_flag之类的东西。),具体游戏也不一样。
首先,如果你只是想看CG,我认为找资源>逆向,因为逆向不是看上去那么简单的工作,需要兴趣,技术和热爱,我自己也只是兴趣使然。
OK,我们先回答如何学到相关知识,我觉得这可能是最有效的一条。我认为这个时代,知识付费的壁垒已经大大下降,你学到相关知识最好、最方便、最有效率的方法就是借助AI工具。你可以试试用用claude、gemini这样的最聪明的大模型,直接的询问他:我想要逆向一份...游戏的存档,我该怎么做?我应该向你提供什么信息? 然后在他给你的方法、解答中,你有什么不懂的问题,也可以直接向他问清楚。更有效的方法是,你可以尝试安装openclaw/claude code/cursor 这样的新型AI工具,他能接入你的本地文件环境,马上获取到所有他需要的信息,这样你在学习的过程中会更方便。你也可以直接让这样的AI工具帮助你进行逆向,如果用最聪明的模型的话,我觉得只要不是太难啃奇怪的某些游戏,成功率应该都会蛮高的。然后让他跟你讲解他的思路,不懂就问,你就能逐步理解和理清我们到底做了什么。
修改哪个文件主要是看引擎,AVG引擎(KiriKiri/吉里吉里、Ren'Py、NScripter之类的),解锁思路不太一样。
KiriKiri系(.xp3封包):存档一般在savedata文件夹下,CG解锁信息存在某个.ksd或者data.ksd里,本质是文本格式可以直接编辑。也可以用工具(如KrkrExtract)解包.xp3拿到脚本,搜CG相关的flag变量名,然后在存档里把对应变量全设成已读。有些会有全局存档(不是单个slot的存档,而是记录全局已读/已看的那个文件),把里面的CG flag全开。
Ren'Py(persistent):全局数据存在persistent文件里,是Python pickle序列化的。可以用renpy-tools或者直接写个Python脚本反序列化→改flag→序列化回去。Ren'Py的好处是脚本就是明文.rpy,搜unlock/gallery之类的关键词就能找到判断逻辑。
NScripter/ONScripter:存档是二进制格式但结构简单,有现成工具可以编辑。
通用思路就是三步:1)搞清楚引擎是什么 2)找到存档或全局数据文件的格式 3)定位控制CG解锁的变量然后改掉。工具的话Hex编辑器(HxD)是基础,然后根据引擎找对应的解包/存档编辑工具。GARbro可以解大部分日系引擎的封包,先解出来看看脚本怎么写的再动手改存档。
其实感觉这也不算逆向,就是一点..简单的破解?你只需要尝试理解这个引擎(也就是这个架构下)存档的数据结构是怎样的,这个存档是怎么work的,然后修改就成自然的事情了。其实计算机不是那么难的东西,有不懂的就问AI,在CTF(一个信息安全竞赛)里,很多高高手都并非计算机专业出身,也是从这些朴素的尝试一步步成长起来的,只要有兴趣去摸索,相信大家都能做到的