测试合并
Go to file
2019-01-10 21:55:11 -05:00
cmake build system improvements 2018-10-19 15:55:48 -04:00
extensions dont copy infinitely when clipboard is selected with clipboard copy extension 2019-01-10 21:55:11 -05:00
GUI fix freeze when connecting process, crash when process name cant be found, and other refactors 2019-01-10 21:47:16 -05:00
include using raw string literals 2019-01-10 21:51:20 -05:00
vnrhook simplify (and maybe break) wolf2 hook and fix display error 2019-01-10 02:00:39 -05:00
.gitattributes Line ending attributes for window LF 2016-12-12 00:50:06 +09:00
.gitignore ignore qt creator 2018-10-20 14:52:34 -04:00
CMakeLists.txt little cleanup 2018-12-26 13:08:12 -05:00
CMakeSettings.json fix file ends 2018-12-18 16:55:07 -05:00
deploy.ps1 DRY build script 2019-01-10 01:59:27 -05:00
LICENSE add license and update readme 2018-05-20 21:21:37 -04:00
README_JP.md more stuff in japanese readme 2018-12-18 00:33:47 -05:00
README.md translation request 2018-12-19 16:07:46 -05:00

Textractor

日本語

Overview

Textractor (a.k.a. NextHooker) is an open-source x86/x64 text hooker for Windows/Wine based off of ITHVNR.

How it looks

Downloads

Releases of Textractor can be found here.

Previous releases of ITHVNR can be found here.

Features

  • Highly extensible
  • Auto hook many game engines (including some not supported by VNR!)
  • Hook text using /H "hook" codes (most AGTH codes supported)
  • Extract text using /R "read" codes (Guide)

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 (no, I'm not busy!) 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: just translate the strings in include/text.h as well as this README.

Compiling

Before compiling Textractor, you should get Visual Studio with CMake support, as well as Qt version 5.11
You should then be able to simply open the folder in Visual Studio, and build. Run Textractor.exe.

Project Architecture

The host (see GUI/host folder) injects vnrhook.dll (created from the vnrhook folder) into the target process and connects to it via 2 pipe files.
Host writes to hostPipe, vnrhook writes to hookPipe.
vnrhook 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 shared through a file view (a.k.a. section object) that is mapped to a reference to the TextHook class.
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

If you're on this list and want your link changed let me know.

  • Textractor creation/updating by Me and DoumanAsh
  • Turkish translation by niisokusu
  • ITHVNR updating by mireado and Eguni
  • ITHVNR new GUI & VNR engine migration by Stomp
  • VNR engine making by jichi
  • ITH updating by Andys
  • ITH originally made by kaosu
  • MinHook library made by TsudaKageyu

Special Thanks

  • Everybody adding issues!