测试合并
Go to file
2024-09-05 12:39:45 +08:00
assets add stress test, move common assets to assets folder 2019-08-06 11:41:49 -04:00
cmake upgrade build configuration to not rely on qt creator which is no longer required by qt installer 2023-04-21 18:31:17 -04:00
docs Update Chinese (Simplified) translation 2023-04-24 14:34:40 -04:00
extensions Merge remote-tracking branch 'Blu3train/translatewrapper_regex_lineedit_dont_call_translator' 2024-09-05 12:39:30 +08:00
GUI Merge remote-tracking branch 'Blu3train/cmdline_paramete_clipboard_selection_at_startup' 2024-09-05 12:39:45 +08:00
host Merge remote-tracking branch 'Blu3train/limitStringLength' 2024-09-05 12:03:22 +08:00
include remove workaround for fixed msvc bug 2023-04-21 19:43:32 -04:00
test use precompiled headers 2020-04-18 19:04:07 -06:00
texthook Merge remote-tracking branch 'Blu3train/WillPlus4EngineHooks' 2024-09-05 12:35:27 +08:00
x64libs hopefully remove dependency on vcredist for good 2021-11-07 05:54:34 -07:00
x86libs hopefully remove dependency on vcredist for good 2021-11-07 05:54:34 -07:00
.appveyor.yml change qt version to make alpha builds compatible with releases 2022-07-26 23:59:26 -04:00
.gitattributes Line ending attributes for window LF 2016-12-12 00:50:06 +09:00
.gitignore use drive relative path 2023-04-21 19:23:14 -04:00
.gitmodules hopefully remove dependency on vcredist for good 2021-11-07 05:54:34 -07:00
CMakeLists.txt upgrade build configuration to not rely on qt creator which is no longer required by qt installer 2023-04-21 18:31:17 -04:00
CMakeSettings.json use drive relative path 2023-04-21 19:23:14 -04:00
deploy.ps1 Merge remote-tracking branch 'Blu3train/yandexTranslateExtension' 2024-09-05 12:38:37 +08:00
INSTALL_THIS_UNICODE_FONT.ttf bundle unicode font 2021-11-28 04:57:16 -07:00
installer.iss bundle unicode font 2021-11-28 04:57:16 -07:00
LICENSE add license and update readme 2018-05-20 21:21:37 -04:00
README_DE.md standardize file names 2023-04-24 14:48:16 -04:00
README_ES.md standardize file names 2023-04-24 14:48:16 -04:00
README_FR.md standardize file names 2023-04-24 14:48:16 -04:00
README_ID.md standardize file names 2023-04-24 14:48:16 -04:00
README_IT.md standardize file names 2023-04-24 14:48:16 -04:00
README_JP.md standardize file names 2023-04-24 14:48:16 -04:00
README_KR.md standardize file names 2023-04-24 14:48:16 -04:00
README_PT.md standardize file names 2023-04-24 14:48:16 -04:00
README_RU.md standardize file names 2023-04-24 14:48:16 -04:00
README_SC.md standardize file names 2023-04-24 14:48:16 -04:00
README_TH.md standardize file names 2023-04-24 14:48:16 -04:00
README_TU.md tie off i18n loose ends 2019-06-19 23:19:13 -04:00
README.md standardize file names 2023-04-24 14:48:16 -04:00
screenshot.png resize 2019-02-18 01:27:41 -05:00
text.cpp Merge remote-tracking branch 'Blu3train/cmdline_paramete_clipboard_selection_at_startup' 2024-09-05 12:39:45 +08:00

Textractor

How it looks

EnglishEspañol简体中文Русский한국어ภาษาไทยFrançaisItaliano日本語Bahasa IndonesiaPortuguêsDeutsch

Textractor (a.k.a. NextHooker) is an open-source x86/x64 video game text hooker for Windows 7+ (and Wine) based off of ITHVNR.
Watch the tutorial video for a quick rundown on using it.

Download

Official stable releases of Textractor can be found here.
The last release of ITHVNR can be found here.
Experimental builds of Textractor (with debug info) from the latest source can be found here in the 'Artifacts' section of each job.

Features

  • Highly extensible and customizable
  • Auto hook many game engines (including some not supported by VNR!)
  • Hook text using /H "hook" codes (most AGTH codes supported)
  • Automatically search for possible hook codes

Support

Let me know of any bugs, games that Textractor has trouble hooking, feature requests, or other suggestions by posting an issue.
If you have trouble hooking a game, please show me a way to freely download it or gift it to me on Steam.

Extensions

See my Example Extension project to see how to build an extension.
See the extensions folder for examples of what extensions can do.

Contributing

All contributions are appreciated! Please email me at akashmozumdar@gmail.com if you have any questions about the codebase.
You should use the standard process of making a pull request (fork, branch, commit changes, make PR from your branch to my master).
Contributing a translation is easy: text.cpp contains all of the text strings that you need to translate. Translations of this README or the tutorial video transcript are also welcome.

Compiling

Before compiling Textractor, you need Qt version 5.13 and Visual Studio with CMake support. Clone Textractor's source and initialize submodules with git clone https://github.com/Artikash/Textractor.git and git submodule update --init. You should then be able to just open the source folder in Visual Studio and build.

Project Architecture

The host injects texthook into the target process and connects to it via 2 pipe files. texthook waits for the pipe to be connected, then injects a few instructions into any text outputting functions (e.g. TextOut, GetGlyphOutline) that cause their input to be sent through the pipe.
Additional information about hooks is exchanged via shared memory.
The text that the host receives through the pipe is then processed a little before being dispatched back to the GUI.
Finally, the GUI dispatches the text to extensions before displaying it.

Developers