Textractor 图文教程

Textractor (曾用名: NextHooker) 是一个基于 ITHVNR, 为 Windows/Wine 开发的开源 x86/x64 文本提取器.

前言

(想给教程时发现站里还没有人写)

MisakaHookFinder

MisakaHookFinder正是在Textractor的基础上开发的,保留了其强大功能的同时变得更加易用。

Textractor 图文教程 1
Textractor 图文教程 1

科普文章【MisakaHookFinder使用方法】关于如何提取一个文字游戏的文本钩子以供翻译的方法

因为用到了hook这种技术,所以杀软很容易会警告并把它当作病毒处理。因此一般我们使用这类工具时,会暂时关闭杀毒软件并以管理员身份启动这类hook软件

Textractor 特点

  • 高度可扩展
  • 自动从很多游戏中提取 (包括一些没有被 VNR 支持的!)
  • 通过 /H “hook” 码提取文本 (支持大多数 AGTH 码)
  • 使用 /R “read” 码直接抽取文本

此段为摘录:

Hook提取游戏文本的优势是明显的:

  • 无视游戏文本字体,直接读内存拿文本,解决OCR方式遇到的部分游戏字体怪异或背景不固定导致无法很好地识别文字的情况
  • 完全离线,不用担心提交在线OCR时造成的隐私泄露问题,无延时

但Hook提取游戏文本的方式也有自己的一些瑕疵,最大的问题就是对新手不友好,如果工具不够简单易用或某些游戏暂不被支持,那么很多人会找不到文本的Hook地址,导致无法使用翻译工具。

特殊码

业界的很多工具诸如VNR、MisakaTranslator、YUKI等都存在特殊码的概念,我们可以使用一些工具通过特殊码抓取到游戏里面的实时文本,然后这些工具再对文本进行翻译,得到结果。

特殊码实质上是用hook技术(钩子)获取游戏中显示的文本的内存地址

例如,对于如下特殊码:

/HWN-4@1C3C29:mashimaro.exe

简单说明一下,@ 前面部分可以指定编码类型,使用的寄存器(以及其它选项),@ 后面的地址1C3C29是相对于 mashimaro.exe 这个module 的基址的偏移地址。你给定这些信息后,工具就可以hijack对应地址,替换一条指令为跳转,每次文本显示的时候都会运行这条指令,这能使劫持到的信息传递到我们的工具上来,达到显示文本的目的。


使用教程

1. 下载

GitHub 下载链接:

https://github.com/Artikash/Textractor/releases

Textractor 图文教程 4

第二个是英文版,解压后即可直接运行


2. 使用Setup.exe安装

双击打开, 选择自己的语言, 然后确定

Textractor 图文教程 5

然后选择安装位置(我放在了桌面,其实随意)

Textractor 图文教程 6

成功后可以看到里面有两个文件夹

Textractor 图文教程 7


3. 打开对应版本

根据你要查找hook特殊码的游戏的版本来决定启动x86版本的软件或者x64版本的软件。

请注意必须使用管理员身份启动

如果你的游戏是32位的,则打开x86文件夹里的 Textractor.exe,

Textractor 图文教程 8

反之,如果你的游戏是64位,则打开x86文件夹里的 Textractor.exe。

注:

1. 不确定游戏版本时可默认启动x86版本查找器,根据个人经验90%都是x86的。

 

2. 如果点击注入进程后出现提示:“Textractor: 架构不匹配: 请尝试使用xxx位版本的Textractor”

例如:

Textractor 图文教程 9

则x64 换成 x86; x86 换成 x64

 

再次提醒用管理员身份启动!


4. 使用

当你打开后会发现有好几个窗口,

Textractor 图文教程 10

① 主窗口

Textractor 图文教程 11

先用左侧的工具栏

1. 附加到游戏

打开游戏,选中自己游戏的进程(这个不用教了吧,一般和exe同名 / 同图标;当不确定时多试试吧),然后选择OK

Textractor 图文教程 12

会看到:

Textractor 图文教程 13

接着开始游戏,刷新几次游戏文本

这时点开上方长框会发现自动匹配一排钩子

Textractor 图文教程 14

然后可以选择对应hock,每选择一个后,都要刷新一下游戏文本查找输出是否对应。如果不对应,可点击左侧的“移除此钩子”按钮来移除这个Hook方法。

最终结果:

Textractor 图文教程 15

可以看到:上方最后一句和游戏的文本完全对应,并能正常翻译。

如果没一个可行,我后面再放其他方法


Textractor 图文教程 16

第一行可以选择翻译成什么语言,例如我是翻译成简体中文

二是从xx语言翻译(例如英语,日语)不确定时就选?

其他不太细的介绍了,麻烦(感兴趣可以自己摸索之类的)


Textractor 图文教程 17

当你前面都设置完后就可以玩了,可以使用这个窗口(你想看同时看到上文也可以用主窗口)

Textractor 图文教程 18

想对来说窗口占比小,调大小和移到方法图里也说了


后面为补充①

1. 添加钩子

Textractor 图文教程 19

我大部分生肉资源都有特殊码,或网上也有很多人会分享。

这时输入我们之前保存的特殊码,注意需要做一下变化(取/和:之间的部分)。

例如我们之前保存的特殊码是

/HA8@0:gdi32.dll

则需要填入

HA8@0

又例如特殊码

/HQC@0:kernel32.dll

则需要填入

HQC@0

 

有时冒号后面也输入也不是不行

例如:【/HS-1C@C647:gbm.exe】

输入:HS-1C@C647:gbm.exe

 

或例如游戏特殊码为 [ /HS932#14@27D770:pix.exe ]

则首先使用这个注入一次HS932#14@27D770,再注入一次/HS932#14@27D770:pix.exe就可正常工作,否则出不来。

 

这时可能没反应, 需要再次文本刷新后可以在上方里找到自己添加的(一般排在最后,叫UserHock1)


2. 搜索钩子

Textractor 图文教程 20

按步骤来

Textractor 图文教程 21

Textractor 图文教程 22

30秒内稍微刷新一下游戏文本

结束后可以保存result到任意文件夹

长这样:

Textractor 图文教程 23

可以使用txt自带的查找功能,或有此弹窗

科普文章【MisakaHookFinder使用方法】关于如何提取一个文字游戏的文本钩子以供翻译的方法 16

我们在上面输入框中填入在软件搜索hook结束前最后一次刷新的文本,例如这里是

科普文章【MisakaHookFinder使用方法】关于如何提取一个文字游戏的文本钩子以供翻译的方法 17

我们在结果框里输入 体育 因为文本中包含这个字,点击“查找下一条”

科普文章【MisakaHookFinder使用方法】关于如何提取一个文字游戏的文本钩子以供翻译的方法 18

这里为我们找到了结果,对比一下,跟游戏内结果一致。

我们点击“为此结果添加自定Hook”

科普文章【MisakaHookFinder使用方法】关于如何提取一个文字游戏的文本钩子以供翻译的方法 19

我们在主界面中选择刚才新添加的方法,刷新几次游戏文本,发现对应一致。

注:有时候搜索Hook会找到很多条结果,可以多次注入尝试找到最佳结果。

 

txt里查到使用方法:

随便例子 HS65001#0@760870 => 游戏里那句话

就把“HS65001#0@760870” 用上面添加钩子的办法添加进去。


3. 有些人会制作一个插件让游戏运行时把当句话复制进剪贴板,则可以选择第二行的那个

Textractor 图文教程 14


提取出来后如何在vnr里使用

例如:复制得到的是:

1:934:7566E240:43F087:0:GetGlyphOutlineA:HA8@0:gdi32.dll:GetGlyphOutlineA

则修改为(对应上方红色内容)

/HA8@0:gdi32.dll

 

如果用提取器查到游戏的特殊码,不算/,从左往右数第3位是数字的话,去除一下()里内容,这样一来,特殊码就能正常在VNR的【文本设定】用

比如 【/HS932#-1C@31510:DC.EXE】

【/HS(932#)-1C@31510:DC.EXE】

× VNR的「文本设定」不能直接使用这个特殊码【/HS-1C@31510:DC.EXE】

√ 去掉932#后,特殊码可正常在VNR的「文本设定」使用


(有点想到哪写到哪)若有出错处欢迎评论指出 / 不会的也可以提问(有时间时尽量解答

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得UP主同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理:DMCA投诉/Report
学习区-技术教程

玩RPG游戏时报错解决方案之一

2021-8-29 20:06:57

专栏区-攻略学习区-技术教程

[安卓] Tyranor模拟器v1.4.7

2021-9-22 21:52:01

11 条回复 A文章作者 M管理员
  1. 暮醴

    mark

  2. LBW sir

    作者制作的教程很细心,简单易懂有些可能会出错或者搞不明白的地方都说出来了
    感谢一波awa

  3. chanface1234

    感谢作者制作

  4. vic020

    感谢大佬分享的资源与教学 让我这个小白学会如何使用

  5. 哈迪

    怎么没早点看到(╯‵□′)╯︵┻━┻

  6. 黑子鸟

    不能正常翻译 显示code12002是怎么回事

    • 1270426858

      点击扩展,把google translate移除了,然后右键添加扩展,选一个别的翻译,我用的是DeepL Translate

  7. 2445224914

    感谢感谢

  8. Apui

    nice

  9. 飘零天穹

    太贴心了,感谢(≧∇≦)

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索