English ● Español ● 简体中文 ● Русский ● 한국어 ● ภาษาไทย ● Italiano ● 日本語 ● Bahasa ● Português
Textractor (a.k.a. NextHooker) это проект x86/x64 Windows/Wine программы для захвата текста из видеоигр, основанный на ITHVNR.
Смотреть обучающее видео для быстрого ознакомления.
Выпуски Textractor могут быть найдены здесь.
Последний выпуск ITHVNR может быть найден здесь.
Установите библиотеки Visual C redist(vcredist.x86.exe), если получаете ошибку при запуске Textractor.
- Высокая расширяемость
- Автозахват текста из множества игровых движков (включая некоторые, неподдерживаемые в VNR!)
- Захват текста с использованием /H "hook" кодов (поддерживается большинство AGTH кодов)
- Прямое извлечение текста с использованием /R "read" кодов
Сообщайте о любых ошибках, играх, с которыми у Textractor проблемы, запросах о новых функциях или другие предложения.
Если у вас возникают проблемы с захватом текста из какой либо игры, скиньте на электронную почту ссылку на её загрузку или киньте её подарком в Steam , для тестирования.
Смотрите Проект примера расширения, чтобы узнать, как создать расширение.
Также для примера того, что делают расширения, смотрите папку extensions.
Любой вклад приветствуется! Пишите мне(автору)(нет, я не занят!) на [email protected], если у вас есть любые вопросы о кодовой базе.
Используйте стандартные действия для создания pull request (fork, branch, commit changes, создайте PR из своей ветки branch на мой master).
Вклад в перевод совсем не сложен: просто переведите строки в text.cpp, также, как и этот README.
Перед компиляцией Textractor, установите Visual Studio с поддержкой CMake, а также Qt версии 5.13
Тогда вы сможете просто открыть и построить проект в Visual Studio. Запустите Textractor.exe.
Хост (смотрите папку GUI/host) внедряет texthook.dll (созданной из папки texthook) в целевой процесс и подключается к нему через два файла-канала (pipe).
Хост пишет в hostPipe, texthook пишет в hookPipe.
texthook ждет присоединения канала, тогда внедряет некоторые инструкции в любые выводящие текст функции (такие как TextOut, GetGlyphOutline), что вызывает пересылку поступающего в них текста через канал.
Дополнительная информация о хуках размещена через файл просмотра (a.k.a. section object), который сопоставлен с ссылкой на класс TextHook.
Текст, который хост получает через канал, затем немного обрабатывается перед отправкой обратно в графический интерфейс (GUI).
Наконец, GUI отправляет текст расширениям, перед его отображением.