The Last Express Gold Edition, набор символов шрифта |
Добро пожаловать, гость ( Вход | Регистрация )
The Last Express Gold Edition, набор символов шрифта |
Siberian GRemlin |
Jun 26 2016, 06:32
Сообщение
#1
|
Advanced Member Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 221 раз(а) |
«Золотое издание» это старая игра адаптированная под современные системы, к сожалению «ХР» не поддерживается. Возникла проблема с отображением субтитров. Хоть текст изначально закодирован двумя байтами, но игра отбрасывает первый байт и использует только второй. Причём выводит только западноевропейскую латиницу. Проблема в том, что используется системный Arial и это никак нельзя изменить — ЕХЕ проверяет свою целостность, что лицензионная копия, что взломанная. Попробовал сделать грязным способом — добавил нужные коды кириллице, установил шрифт. Он добавился в набор шрифтов, и кириллица стала выводиться вместо доп. латиницы и в игре и в системе, а значит везде. Шрифт теперь можно удалить только из-под другой ОС, что очень плохо.
И, да, я проверил через «Process Monitor» — игра не обращается к arial.ttf напрямую, а через системную API его загружает. В противном случае я ей изменённый шрифт просто в папку положил бы. К счастью, хоть название шрифта записано в защищённом ЕХЕ, но вызов функции находится в DLL, файл которой можно изменять. Наткнулся на интересную статью по решению подобных проблем, но мне сложно понять где в данном случае этот параметр отвечающий за набор символов находится. Сама библиотека. Взломанную игру долго искал и качал пару дней, если нужна, то могу поделиться (на ХР не идёт). Буду признателен, если кто-нибудь сможет подсказать какой байт исправить с 0 на 1, чтобы изменить набор символов перед вызовом функции. В перспективе это может пригодиться для других игр, например, «Little Big Adventure Enhenced Edition» сделана с использованием этой библиотеки, но эта игра вроде системные шрифты не использует. |
-=CHE@TER=- |
Jun 28 2016, 15:57
Сообщение
#2
|
Walter Sullivan Группа: Root Admin Сообщений: 1,360 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 313 раз(а) |
QUOTE C:\>net helpmsg 299 Хм. Интересно, как он может быть выполнен частично?Запрос ReadProcessMemory или WriteProcessMemory был выполнен только частично. У структуры "StartUpInfo" обязательное только поле "cb", остальное можно игнорировать (тем более, что ты флаги заполнил, а связанные с ними структуры - нет и не используешь). Погуглил на скорую руку с запросом: CreateProcess CREATE_SUSPENDED readprocessmemory ERROR_PARTIAL_COPY 299 Вот чего нашёл: _ttps://forum.antichat.ru/threads/97043/ Попробуй добавить флаг отладки при создании процесса (похоже, что под Vista и выше прав нехватает): ..., CREATE_SUSPENDED or DEBUG_PROCESS, ... Ещё проверь что у тебя VirtualProtectEx() возвращает: SetErrorCode(0); if (VirtualProtectEx(...) = false) then writeln('VPE_error: ',GetLastError); Возможно, как-то ещё придётся себе права поднимать. Пока что попробуй так. И я так и не получил ответы на свои вопросы выше: 1) Игра в Program Files стоит? Если да - попробуй скопировать исполняемый файл игры и все необходимые ему бибилиотеки в какой-нибудь другой каталог и запусти патч оттуда. Если чтение памяти проканает, значит надо с правами в Program Files разбираться. 2) От имени администратора свой патч пробовал запускать? 3) А в режиме совместимости Windows XP или 98? |
Siberian GRemlin |
Jun 28 2016, 16:45
Сообщение
#3
|
Advanced Member Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 221 раз(а) |
Попробуй добавить флаг отладки при создании процесса (похоже, что под Vista и выше прав нехватает): Ошибка та же, но игра не запускается. То есть сам процесс запускается, но после readln завершается, если верить диспетчеру задач...., CREATE_SUSPENDED or DEBUG_PROCESS, ... Ещё проверь что у тебя VirtualProtectEx() возвращает: 487.1) Игра в Program Files стоит? Если да - попробуй скопировать исполняемый файл игры и все необходимые ему бибилиотеки в какой-нибудь другой каталог и запусти патч оттуда. Если чтение памяти проканает, значит надо с правами в Program Files разбираться. Никогда не устанавливаю игры в Program Files. Под игры отдельная папка.2) От имени администратора свой патч пробовал запускать? Я и так являюсь администратором. Но запустил через пункт в выпадающем меню от имени админа — ошибки те же.3) А в режиме совместимости Windows XP или 98? У чего и зачем? Игре совместимость не нужна, моей проге тоже.Кстати, у меня «Windows 7». |
-=CHE@TER=- |
Jun 29 2016, 09:32
Сообщение
#4
|
Walter Sullivan Группа: Root Admin Сообщений: 1,360 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 313 раз(а) |
Ошибка та же, но игра не запускается. То есть сам процесс запускается, но после readln завершается, если верить диспетчеру задач. Походу если игру пытаются дебажить, она закрывается. Антиотладочный механизм, скорее всего. А, возможно (не разбирался), и саму программу Windows завершает после того как завершил работу отладчик - поробуй readln после ResumeThread() сунуть.487 Набираем в командной строке Windows и видим:QUOTE C:\>net helpmsg 487 Отсюда понятно, почему она прочитать не может.Попытка обращения к неверному адресу. Ты точно адрес верно указал? Возможно, конечно, тоже какие-то антиотладочные механизмы... А! Вот ещё что хотел узнать: игра 32 или 64 бита? У ней может быть два экзешника и если ты пытаешься править 64-ый из 32-ой программы, то я не уверен, будет ли такой финт ушами работать вообще... Можешь исполняемый файл игры вместе со всеми необходимыми библиотеками куда-нибудь залить поглядеть (надеюсь это всё не занимает сотни мегабайт)? Никогда не устанавливаю игры в Program Files. Под игры отдельная папка. Это ты молодец, но я таких подробностей не знал, поэтому и спросил.Я и так являюсь администратором. Но запустил через пункт в выпадающем меню от имени админа — ошибки те же. Понятно, жаль.У чего и зачем? Игре совместимость не нужна, моей проге тоже. Дело не в том нужна или не нужна совместимость, а в том что при её использовании Windows закрывает глаза на некоторые вещи, которые при обычном раскладе молча и сурово рубит. Эмулируется множество всяких костылей, часть из которых, возможно, поможет хаку сработать. Т.к. хрен знает из-за чего оно не работает, я и пытаюсь нащупать направление в котором может хоть что-то сдвинется с мёртвой точки.Кстати, у меня «Windows 7». |
Siberian GRemlin |
Jul 12 2016, 19:49
Сообщение
#5
|
Advanced Member Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 221 раз(а) |
Можешь исполняемый файл игры вместе со всеми необходимыми библиотеками куда-нибудь залить поглядеть (надеюсь это всё не занимает сотни мегабайт)? Вот.Спасибо сказали:
|
Упрощённая версия | Сейчас: 30th September 2024 - 10:45 |