使用MisakaPatcher制作Galgame外挂汉化补丁

article/2025/9/24 4:02:06

简介

这两天我看见一个galgame机翻工具 MisakaTranslator,它类似VNR,使用C#编写并且支持Hook和OCR(图像识别)两种方法提取文本。

我在MisakaTranslator的基础上进行了一些改动,去除了所有的机翻的功能,转而支持了加载本地汉化补丁的功能,并把它重命名为MisakaPatcher。通过这个工具,即使我们在解包封包上遇到困难,理论上我们还是可以用外挂的方法(手工)汉化任意一款文字游戏。

本项目Github主页

主要功能

  • Hook + OCR提取文本
  • 智能模糊匹配。匹配最有可能的原句,并显示对应翻译。
    • 这个算法在提取到的文本与补丁里的原文相差很大的情况下依然可以正确匹配。
  • 全透明的窗口,美观的字体,更好的游戏体验

效果展示

OCR向导界面
游戏界面
(注:图里的翻译是我手工翻译的)

制作补丁

我们把游戏原文本提取出来(或者用手打出来)后,改成如下格式(通常需要自己写一个脚本),放到一个文本文档里面,编码按UTF-8保存,就是我们的汉化补丁了:

<j>
原句1
<c>
翻译1
<j>
原句2
<c>
翻译2
...

这其实就是一个键值对的词库,注意两种标签数量必须一致。建议使用EmEditor,写脚本的时候注意encoding。补丁目前只支持单个文本文件,如果有多个文件,请先合并。之后我可能会加一些简单的加密功能来保护补丁里的文本不被随意提取改动(但是毕竟是开源的,实际意义不大)。

加载补丁

打开MisakaPatcher,右下角设置 -> 翻译相关设置 -> 通用设置 -> 选择本地汉化补丁为翻译源 然后再 翻译相关设置 ->本地汉化补丁 -> 选择汉化补丁的路径 然后就可以开始游戏了

使用

如果使用Hook,就根据向导设置就好了,挺简单的我不讲了。
如果使用OCR,首先需要在OCR设置里选择OCR方法,可以用百度OCR API,但是比较麻烦,这里建议直接用离线的Tesseract。程序自带了Tesseract3的dll和dataset,但是如果觉得效果不够理想,可以安装Tesseract5(见Github README)。

使用OCR时的注意点:

  • 窗口截取目前在屏幕显示放大率不为100%的时候有bug,建议使用全屏截取
  • 对话框不透明度建议调到最高
  • 使用Tesseract必须使用预处理,建议使用提取纯白色文本处理,并且选择正确的参数,把截图转换为白纸黑字的样子,最有利于OCR识别。
  • 文字速度尽量调到最高,不然可能会截不全
  • 翻译的文本框不要和截屏区域放在一起,不然会把中文翻译一起截进去,导致无法正确识别原文本

智能模糊匹配原理

  • 根据编辑距离,算出两句句子粗略的相似度
  • 用一个sigmoid函数把粗略相似度转换为两句句子匹配的概率(0-1之间)
  • 建立HMM模型,提取到的文本就是我们每一个时间点的观察(样本)
  • 使用Viterbi算法,根据前一句所处位置的概率分布,从前一句转到当前句的概率,以及当前句的匹配程度,综合判断当前句匹配的概率
  • 保存当前最有可能匹配的8个结果,并且返回其中最有可能匹配的那句话的翻译
  • 因为我们知道大多数的句子都是不匹配的(整个模型是稀疏的),整个计算过程可以被简化,时间效率可以提升到每一步O(N)(N是整个补丁的句子总数)
  • 详见代码里的注释

http://chatgpt.dhexx.cn/article/VLYjiuEO.shtml

相关文章

利用python编程,制作自己的游戏“外挂”!

Python简介及应用领域 Python是一种解释型脚本语言&#xff0c;可以应用于以下领域&#xff1a; Web 和 Internet开发科学计算和统计人工智能教育桌面界面开发软件开发后端开发网络爬虫 今天以一个小游戏和一小段代码来告诉大家编程有多好玩。 编程用的好&#xff0c;不仅可…

外挂的艺术-单机游戏辅助工具-网络游戏外挂

外挂&#xff08;wi gu&#xff09; 又叫开挂、开外挂、辅助、第三方辅助软件&#xff0c;综合某些修改器的功能进行编程出的游戏修改器。一般指通过修改游戏数据而为玩家谋取利益的作弊程序或软件&#xff0c;即利用电脑技术针对一个或多个软件进行非原设操作&#xff0c;篡改…

一步步用python制作游戏外挂【转】

玩过电脑游戏的同学对于外挂肯定不陌生&#xff0c;但是你在用外挂的时候有没有想过如何做一个外挂呢&#xff1f;&#xff08;当然用外挂不是那么道义哈&#xff0c;呵呵&#xff09;&#xff0c;那我们就来看一下如何用python来制作一个外挂。。。。 我打开了4399小游戏网&am…

制作游戏辅助/外挂违法吗?

不知道你们有没有过一个体验&#xff1a; 玩《绝地求生》的时候&#xff0c;我们辛辛苦苦开着车在跑毒&#xff0c;旁边“咻”的一下突然蹭上来一个人&#xff0c;徒步跑得竟然比车快&#xff1f; 然后吧他还跑到你旁边开麦问&#xff1a;“嘿&#xff01;兄弟&#xff01;挂…

游戏外挂攻防艺术

游戏外挂攻防艺术 (游戏外挂内幕首度解密 国内唯一相关权威著作) 徐胜 著 2013年2月出版 ISBN978-7-121-19532-7 定价:59.00元 256页 16开 编辑推荐 广义的外挂随处可见,一度喧嚣尘上的抢票浏览器其实就是外挂行为。对于游戏而言,外挂是一种通过篡改特定网游的部分程序而实…

想学制作外挂的新手看过来

新手学易语言制作辅助的准备 1.三套基础教学视频,如:(觅风、世恒、魔鬼…等等) 2.CE、OD的使用方法 3.汇编与逆向基础视频 4.了解并学习做自己的E模块 5.了解并学习怎么过游戏检测 6.实战: ①准备1套游戏实战教程 ②跟随教程找本地所玩游戏相关数据 ③编写第一个辅助 存在…

游戏外挂开发原理初探——植物大战僵尸内存挂为例

前言 对外挂有点兴趣&#xff0c;做番了解 一、游戏外挂开发原理 1、外挂分类 外挂现在大体上来讲分为三种&#xff0c;分别是模拟按键&#xff0c;WPE封包和内存挂 模拟键盘的&#xff0c;鼠标的&#xff0c;这种就叫做按键模拟&#xff0c;也叫脚本精灵修改数据包的&…

用Python制作游戏外挂(上)

源地址&#xff1a;http://eyehere.net/2012/python-game-bot-autopy-1/ 悲剧成我这样的人&#xff0c;我知道肯定不止我一个&#xff0c;所以我一点都不悲伤:-( 所以我打开了4399小游戏网&#xff0c;点开了一个不知名的游戏&#xff0c;唔&#xff0c;做寿司的&#xff0c;有…

游戏外挂制作原理

2019独角兽企业重金招聘Python工程师标准>>> 一、 前言   所谓游戏外挂&#xff0c;其实是一种游戏外辅程序&#xff0c;它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等&#xff0c;以实现玩家用最少的时间和金钱去完成功力升级和过关…

Python制作安卓游戏外挂

Python制作安卓游戏外挂 最近在玩一款背单词的手机游戏&#xff0d;单词英雄&#xff0c;是一个将背单词和卡牌游戏相结合的游戏&#xff0c;通过选择正确的单词意思进行有效攻击&#xff0c;边玩游戏就把单词给背了。 游戏的界面是这样的&#xff1a; Paste_Image.png 通过选择…

一步步用python制作游戏外挂

玩过电脑游戏的同学对于外挂肯定不陌生&#xff0c;但是你在用外挂的时候有没有想过如何做一个外挂呢&#xff1f;&#xff08;当然用外挂不是那么道义哈&#xff0c;呵呵&#xff09;&#xff0c;那我们就来看一下如何用python来制作一个外挂。。。。 我打开了4399小游戏网&am…

游戏外挂怎么做?

文章目录 1.什么是游戏外挂2.外挂的分类及实现原理2.1 辅助类外挂2.2 专用插件类外挂2.3 通用工具2.4 内存修改器2.5 变速器2.6 按键精灵2.7 模拟器2.8 破解版 转载自&#xff1a;Anti-Cheat Expert 游戏安全专家 干货&#xff01;什么是游戏外挂&#xff0c;外挂的种类及实现原…

Windows关闭某个端口的服务

在开发过程中有些服务没有正常关闭&#xff0c;在重新启动新版本的服务的时候会存在端口占用的情况。就需要先停止之前的服务进程。 例如7777端口被占用。 1 查看7777端口被什么服务占用 netstat -ano | findstr 77772 停止该服务 使用taskkill /PID 55684 /T /F 这行命令停…

windows关闭端口

关闭8004端口 找到占用8080端口对应的程序的PID号 netstat -aon|findstr "8004"找到对应的程序名 tasklist|findstr "PID号"杀死程序 taskkill /f /t /im java.exe或者 taskkill /pid 7952 /F

win10防火墙怎么关闭端口?

我们都知道win10系统自带防火墙功能&#xff0c;如果用户使用的是公用网络&#xff0c;防火墙就会提醒各种问题。有很多用户使用完端口想要关闭&#xff0c;但是不知道如何关闭。下面小编就给大家讲讲如何关闭防火墙端口的方法。 若要关闭Microsoft Defender防火墙中的端口&…

关闭Windows指定端口

Windows默认情况下&#xff0c;很多端口是开发的&#xff0c;这就给网络病毒或黑客通过这些开放的端口登录你的电脑提供的机会。 可以采用Zenmap工具扫描指定ip所开放的端口&#xff0c;且应在局域网和互联网等条件下进行端口扫描&#xff0c;保障端口的开放的可控&#xff0c…

windows10 关闭指定端口

今天在Windows10电脑上安装zk和dubbo&#xff0c;运行Tomcat总是包端口占用异常&#xff0c;重启了一次电脑后觉得一直重启不是个好办法&#xff0c;于是学会了用命令关闭进程的技能 查看指定端口的使用情况 使用命令&#xff1a; netstat -ano | findstr 端口号1 如下所示&…

win10关闭某个端口

前言 作为一个程序员&#xff0c;经常遇到启动某个软件时&#xff0c;会爆出某个端口被占用&#xff0c;所以使用命令关闭端口的技能必须掌握 第一步&#xff1a;查询端口对应的PID netstat -ano|findstr 1099 第二步&#xff1a;根据PID关闭该进程 【F参数&#xff1a;表…

WINDOWS10如何关闭占用的端口号

WINDOW10 如何关闭占用的端口号 今天运行服务的时候&#xff0c;发现报错。 Web server failed to start. Port xxxx was already in use.这里的’xxxx‘是端口号。原因是程序没关闭&#xff0c;电脑就关机了&#xff0c;因此再次运行该程序的时候发现端口号被占用。 这样的…

Windows系统关闭端口教程

打开控制面板----管理工具----本地安全策略 单击选中“IP安全策略在本地计算机”&#xff0c;在右侧空白处右击&#xff0c;选择创建IP安全策略 点击下一步 输入新建策略的名称----点击下一步 下一步 单击完成 在新IP安全策略属性窗口下 新建安全规则----单击添加 单击添加 在…