upgrade build scripts for x64 deployment

This commit is contained in:
Akash Mozumdar 2019-05-27 14:13:12 -04:00
parent c7edfef9ad
commit a38cbe2769
4 changed files with 55 additions and 102 deletions

View File

@ -9,6 +9,7 @@ add_compile_options(
/std:c++17
/MP
/wd4018 # signed/unsigned mismatch
/DVERSION="${VERSION}"
/DUNICODE # config.pri
/D_UNICODE
)

View File

@ -14,47 +14,43 @@ foreach ($language in @{
TURKISH="Türkçe";
}.GetEnumerator())
{
$folder = "Textractor-$($language.Value)-$($version)";
$folder = "Textractor-$($language.Value)-$version";
mkdir -Force -Verbose $folder;
rm -Force -Recurse -Verbose "$($folder)/*";
rm -Force -Recurse -Verbose "$folder/*";
$files = @(
"Textractor.exe",
"TextractorCLI.exe",
"texthook.dll",
"Qt5Core.dll",
"Qt5Gui.dll",
"Qt5Widgets.dll",
"LoaderDll.dll",
"LocaleEmulator.dll",
"Bing Translate.dll",
"Copy to Clipboard.dll",
"Extra Newlines.dll",
"Extra Window.dll",
"Google Translate.dll",
"Lua.dll",
"Regex Filter.dll",
"Remove Repetition.dll",
"Replacer.dll",
"Thread Linker.dll",
"platforms",
"styles"
);
cd "x86";
cmake -G "Visual Studio 15 2017" -DTEXT_LANGUAGE="$($language.Key)" -DCMAKE_BUILD_TYPE="Release" ../..;
&"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv" Textractor.sln /build "Release|Win32";
cd ..;
foreach ($file in $files)
foreach ($arch in @("x86", "x64"))
{
copy -Force -Recurse -Verbose -Destination $folder -Path "Release_x86/$($file)";
}
cd "x64";
cmake -G "Visual Studio 15 2017 Win64" -DTEXT_LANGUAGE="$($language.Key)" -DCMAKE_BUILD_TYPE="Release" ../..;
&"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv" Textractor.sln /build "Release|x64";
cd ..;
mkdir -Force -Verbose "$($folder)/x64";
foreach ($file in $files)
{
copy -Force -Recurse -Verbose -Destination "$($folder)/x64" -Path "Release_x64/$($file)";
cd $arch;
$cmakeArch = if ($arch -eq "x86") {""} else {" Win64"};
$vsArch = if ($arch -eq "x86") {"Win32"} else {"x64"};
cmake -G "Visual Studio 15 2017$cmakeArch" -DVERSION="$version" -DTEXT_LANGUAGE="$($language.Key)" -DCMAKE_BUILD_TYPE="Release" ../..;
&"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv" Textractor.sln /build "Release|$vsArch";
cd ..;
mkdir -Force -Verbose "$folder/$arch";
foreach ($file in @(
"Textractor.exe",
"TextractorCLI.exe",
"texthook.dll",
"Qt5Core.dll",
"Qt5Gui.dll",
"Qt5Widgets.dll",
"LoaderDll.dll",
"LocaleEmulator.dll",
"Bing Translate.dll",
"Copy to Clipboard.dll",
"Extra Newlines.dll",
"Extra Window.dll",
"Google Translate.dll",
"Lua.dll",
"Regex Filter.dll",
"Remove Repetition.dll",
"Replacer.dll",
"Thread Linker.dll",
"platforms",
"styles"
))
{
copy -Force -Recurse -Verbose -Destination "$folder/$arch" -Path "Release_$arch/$file";
}
}
}

View File

@ -30,6 +30,5 @@ constexpr auto CONFIG_FILE = u8"Textractor.ini";
constexpr auto DEFAULT_EXTENSIONS = u8"Remove Repetition>Lua>Copy to Clipboard>Bing Translate>Extra Window>Extra Newlines";
constexpr auto WINDOW = u8"Window";
#define CURRENT_VERSION "3.0.1"
// EOF

View File

@ -1,5 +1,11 @@
#include "defs.h"
#ifdef _WIN64
#define ARCH "x64"
#else
#define ARCH "x86"
#endif
const char* ATTACH = u8"Attach to game";
const char* LAUNCH = u8"Launch game";
const char* DETACH = u8"Detach from game";
@ -20,13 +26,13 @@ R{S|Q|V}[null_length<][codepage#][*deref_offset]@addr
OR
Enter hook code
H{A|B|W|S|Q|V}[null_length<][N][codepage#]data_offset[*deref_offset1][:split_offset[*deref_offset2]]@addr[:module[:func]]
All numbers except codepage in hexadecimal
All numbers except codepage/null_length in hexadecimal
Default codepage is 932 (Shift-JIS) but this can be changed in settings
A/B: codepage char little/big endian
W: UTF-16 char
S/Q/V: codepage/UTF-16/UTF-8 string
null_length: length of null terminator used for string
Negatives for data/split offset refer to registers
Negatives for data_offset/split_offset refer to registers
-4 for EAX, -8 for ECX, -C for EDX, -10 for EBX, -14 for ESP, -18 for EBP, -1C for ESI, -20 for EDI
-4 for RAX, -C for RBX, -14 for RCX, -1C for RDX, and so on for RSP, RBP, RSI, RDI, R8-R15
* means dereference pointer+deref_offset)";
@ -42,7 +48,7 @@ const char* FLUSH_DELAY = u8"Flush Delay";
const char* MAX_BUFFER_SIZE = u8"Max Buffer Size";
const wchar_t* CONSOLE = L"Console";
const wchar_t* CLIPBOARD = L"Clipboard";
const wchar_t* ABOUT = L"Textractor v" CURRENT_VERSION LR"( made by me: Artikash (email: akashmozumdar@gmail.com)
const wchar_t* ABOUT = L"Textractor " ARCH L" v" VERSION LR"( made by me: Artikash (email: akashmozumdar@gmail.com)
Project homepage: https://github.com/Artikash/Textractor
Tutorial video: https://www.youtube.com/watch?v=eecEOacF6mw
Please contact me with any problems, feature requests, or questions relating to Textractor
@ -53,8 +59,8 @@ If you like this project, please tell everyone about it :))";
const wchar_t* CL_OPTIONS = LR"(usage: Textractor [-p{process id|"process name"}]...)";
const wchar_t* UPDATE_AVAILABLE = L"Update available: download it from https://github.com/Artikash/Textractor/releases";
const wchar_t* ALREADY_INJECTED = L"Textractor: already injected";
const wchar_t* NEED_32_BIT = L"Textractor: architecture mismatch: try x86 Textractor instead";
const wchar_t* NEED_64_BIT = L"Textractor: architecture mismatch: try x64 Textractor instead";
const wchar_t* NEED_32_BIT = L"Textractor: architecture mismatch: only Textractor x86 can inject this process";
const wchar_t* NEED_64_BIT = L"Textractor: architecture mismatch: only Textractor x64 can inject this process";
const wchar_t* INJECT_FAILED = L"Textractor: couldn't inject";
const wchar_t* LAUNCH_FAILED = L"Textractor: couldn't launch";
const wchar_t* INVALID_CODE = L"Textractor: invalid code";
@ -72,7 +78,7 @@ const char* SEND_ERROR = u8"Textractor: Send ERROR (likely an incorrect H-code)"
const char* READ_ERROR = u8"Textractor: Reader ERROR (likely an incorrect R-code)";
const char* HIJACK_ERROR = u8"Textractor: Hijack ERROR";
const char* COULD_NOT_FIND = u8"Textractor: could not find text";
const char* SELECT_LANGUAGE = u8"Select Language";
const char* SELECT_LANGUAGE = u8"Select language";
const char* BING_PROMPT = u8"What language should Bing translate to?";
const char* GOOGLE_PROMPT = u8"What language should Google translate to?";
const wchar_t* TOO_MANY_TRANS_REQUESTS = L"Too many translation requests: refuse to make more";
@ -129,12 +135,12 @@ inline auto _ = []
SAVE_HOOKS = u8"Kancaları kaydet";
SETTINGS = u8"Ayarlar";
EXTENSIONS = u8"Uzantılar";
SELECT_PROCESS = u8"İşlem Seçin";
SELECT_PROCESS = u8"İşlem seçin";
ATTACH_INFO = u8"Bağlanmak istediğiniz işlemi görmüyorsanız yönetici olarak çalıştırmayı deneyin";
DEFAULT_CODEPAGE = u8"Varsayılan Kod Sayfası";
FLUSH_DELAY = u8"Temizleme Gecikmesi";
MAX_BUFFER_SIZE = u8"Maksimum Arabellek Boyu";
ABOUT = L"Textractor v" CURRENT_VERSION LR"( (proje ana sayfası: https://github.com/Artikash/Textractor)
ABOUT = L"Textractor " ARCH L" v" VERSION LR"( (proje ana sayfası: https://github.com/Artikash/Textractor)
Benim tarafımdan yapıldı: Artikash (e-posta: akashmozumdar@gmail.com)
Textractor ile ilgili tüm sorunlarınız, istekleriniz ve sorularınız için lütfen benimle iletişime geçin
Benimle, proje ana sayfasından (issues kısmından) ya da e-posta aracılığıyla iletişime geçebilirsiniz
@ -169,22 +175,6 @@ Kaynak kodu GKLv3 koruması altında proje ana sayfasında mevcut
También puedes escribir la ID del proceso)";
SEARCH_GAME = u8"Seleccionar desde computadora";
PROCESSES = u8"Procesos (*.exe)";
CODE_INFODUMP = u8R"(Buscar texto
S[codepage#]texto
O
Ingresar código de lectura
R{S|Q|V}[codepage#][*deref_offset]@addr
O
Ingresar hook code (H-code)
H{A|B|W|S|Q|V}[N][codepage#]data_offset[*deref_offset1][:split_offset[*deref_offset2]]@addr[:module[:func]]
Todos los números excepto codepage en hexedécimal
Codepage por defecto es 932 (Shift-JIS) pero se puede cambiar en opciones
A/B: codepage char little/big endian
W: UTF-16 char
S/Q/V: codepage/UTF-16/UTF-8 string
Negatives for data/split offset refer to registers
-4 for EAX, -8 for ECX, -C for EDX, -10 for EBX, -14 for ESP, -18 for EBP, -1C for ESI, -20 for EDI
* means dereference pointer+deref_offset)";
SAVE_SETTINGS = u8"Guardar opciones";
EXTEN_WINDOW_INSTRUCTIONS = u8R"(Arrrastra y suelta la extension (.dll) aquí desde tu computadora para añadirlos
Arrastra y suelta la lista para reordenar
@ -195,7 +185,7 @@ Presiona supr en una extension seleccionada para removerla)";
MAX_BUFFER_SIZE = u8"Max Buffer Size";
CONSOLE = L"Consola";
CLIPBOARD = L"Portapapeles";
ABOUT = L"Textractor v" CURRENT_VERSION LR"( hecho por mí: Artikash (correo: akashmozumdar@gmail.com)
ABOUT = L"Textractor " ARCH L" v" VERSION LR"( hecho por mí: Artikash (correo: akashmozumdar@gmail.com)
Página del proyecto: https://github.com/Artikash/Textractor
Video tutorial: https://www.youtube.com/watch?v=eecEOacF6mw
No dudes en conectarme si tienes algún problema, petición de característica o preguntas relacionadas con Textractor
@ -204,7 +194,6 @@ Código fuente disponible bajo GPLv3 en la página del proyecto
Estoy buscando un nuevo trabajo: por favor envíame un correo si estás contratando ingenieros de software de EE.UU.)";
UPDATE_AVAILABLE = L"Actualización disponible: descárguela en https://github.com/Artikash/Textractor/releases";
ALREADY_INJECTED = L"Textractor: ya inyectado";
NEED_32_BIT = L"Textractor: architecture mismatch: try 32 bit Textractor instead";
INJECT_FAILED = L"Textractor: no se puede inyectar";
LAUNCH_FAILED = L"Textractor: no se puede iniciar";
INVALID_CODE = L"Textractor: código inválido";
@ -251,22 +240,6 @@ Clic y arrastra los bordes de la ventana para moverla, o en la esquina inferior
ID)";
SEARCH_GAME = u8"从计算机中选择";
PROCESSES = u8"进程 (*.exe)";
CODE_INFODUMP = u8R"(搜索文本
S[codepage#]text
read (R码)
R{S|Q|V}[codepage#][*deref_offset]@addr
hook (H码)
H{A|B|W|S|Q|V}[N][codepage#]data_offset[*deref_offset1][:split_offset[*deref_offset2]]@addr[:module[:func]]
使16
932 (Shift-JIS)
A/B: (little endian) / (big endian)
W: UTF-16
S/Q/V: /UTF-16/UTF-8
(data) / (split)
-4 EAX, -8 ECX, -C EDX, -10 EBX, -14 ESP, -18 EBP, -1C ESI, -20 EDI
* pointer+deref_offset)";
SAVE_SETTINGS = u8"保存设置";
EXTEN_WINDOW_INSTRUCTIONS = u8R"(从计算机拖拽扩展 (.dll) 文件到这里来添加
(使)
@ -278,7 +251,7 @@ S/Q/V: 代码页/UTF-16/UTF-8 字符串
MAX_BUFFER_SIZE = u8"最大缓冲区长度";
CONSOLE = L"控制台";
CLIPBOARD = L"剪贴板";
ABOUT = L"Textractor v" CURRENT_VERSION LR"( 作者: Artikash (email: akashmozumdar@gmail.com)
ABOUT = L"Textractor " ARCH L" v" VERSION LR"( 作者: Artikash (email: akashmozumdar@gmail.com)
: https://github.com/Artikash/Textractor
: https://www.youtube.com/watch?v=eecEOacF6mw
Textractor
@ -287,7 +260,7 @@ S/Q/V: 代码页/UTF-16/UTF-8 字符串
: )";
UPDATE_AVAILABLE = L"有可用的更新: 请从 https://github.com/Artikash/Textractor/releases 下载";
ALREADY_INJECTED = L"Textractor: 已经注入";
NEED_32_BIT = L"Textractor: 架构不匹配: 请尝试使用 32 位的 Textractor";
NEED_32_BIT = L"Textractor: 架构不匹配: 请尝试使用 Textractor x86";
INJECT_FAILED = L"Textractor: 无法注入";
LAUNCH_FAILED = L"Textractor: 无法启动";
INVALID_CODE = L"Textractor: 无效代码";
@ -334,22 +307,6 @@ S/Q/V: 代码页/UTF-16/UTF-8 字符串
Вы также можете ввести id процесса)";
SEARCH_GAME = u8"Найти в проводнике";
PROCESSES = u8"Процессы (*.exe)";
CODE_INFODUMP = u8R"(Искать текст
S[codepage#]текст
ИЛИ
Введите код чтения (R-code)
R{S|Q|V}[codepage#][*deref_offset]@addr
ИЛИ
Введите код хука (H-code)
H{A|B|W|S|Q|V}[N][codepage#]data_offset[*deref_offset1][:split_offset[*deref_offset2]]@addr[:module[:func]]
Все числа, кроме кодовой страницы в шестнадцатеричном формате
Кодировка по умолчанию 932 (Shift-JIS), но она может быть изменена в настройках
A/B: codepage char little/big endian
W: UTF-16 char
S/Q/V: codepage/UTF-16/UTF-8 string
Отрицательное для data/split офсетов, ссылающихся на регистры
-4 для EAX, -8 для ECX, -C для EDX, -10 для EBX, -14 для ESP, -18 для EBP, -1C для ESI, -20 для EDI
* значит dereference pointer+deref_offset)";
SAVE_SETTINGS = u8"Сохранить настройки";
EXTEN_WINDOW_INSTRUCTIONS = u8R"(Перетащите сюда (.dll) файлы расширений из проводника для их добавления
(Не работает при запуске от администратора)
@ -362,7 +319,7 @@ S/Q/V: codepage/UTF-16/UTF-8 string
MAX_BUFFER_SIZE = u8"Максимальный размер буфера";
CONSOLE = L"Консоль";
CLIPBOARD = L"Буфер обмена";
ABOUT = L"Textractor в." CURRENT_VERSION LR"( автор: Artikash (email: akashmozumdar@gmail.com)
ABOUT = L"Textractor " ARCH L" в." VERSION LR"( автор: Artikash (email: akashmozumdar@gmail.com)
Домашняя страница: https://github.com/Artikash/Textractor
Обучающее видео: https://www.youtube.com/watch?v=eecEOacF6mw
Сообщайте о любых проблемах, желаемых для добавления функциях, или задавайте вопросы, касающиеся Textractor
@ -373,7 +330,7 @@ I'm currently looking for a new job: email me if you know anyone hiring US softw
CL_OPTIONS = LR"(usage: Textractor [-p{process id|"process name"}]...)";
UPDATE_AVAILABLE = L"Доступно обновление: загрузите его на https://github.com/Artikash/Textractor/releases";
ALREADY_INJECTED = L"Textractor: уже присоединен";
NEED_32_BIT = L"Textractor: несоответствие архитектуры: попробуйте 32-битный Textractor вместо этого";
NEED_32_BIT = L"Textractor: несоответствие архитектуры: попробуйте Textractor x86 вместо этого";
INJECT_FAILED = L"Textractor: невозможно присоединиться";
LAUNCH_FAILED = L"Textractor: невозможно запустить";
INVALID_CODE = L"Textractor: неверный код";