IPB

Добро пожаловать, гость ( Вход | Регистрация )

> Программы запуска
Siberian GRemlin
May 28 2018, 09:14
Сообщение #1


Advanced Member
***

Группа: CTPAX-X
Сообщений: 533
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 221 раз(а)



Кто-нибудь знает как работают программы запуска, присутствующие в некоторых играх?

Обычно есть game.exe и launcher.exe, где первый это сама игра, а второй это оболочка с настройками и прочим, из которой можно запустить игру, и зачастую нужно только из неё запускать, так как запуск game.exe ни к чему не приводит. Это вызывает трудности, когда нужно изменить строки в тексте игры по такому принципу, то есть в памяти, а не в самом файле, так как может проверяться его целостность.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов
-=CHE@TER=-
May 28 2018, 10:16
Сообщение #2


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,355
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



Из того, что я видел - по степени убывания частоты использования:
1) Зачастую launcher передаёт game определённый параметр командной строки. Ловится очень просто - заменяешь game свой программой, которая сообщает с какими ключами её запустили.
2) Пару раз видел как launcher создавал ключ в реестре, запускал game, та проверяла ключ, если он есть - запускалась, если нет - выходила. Уже не помню подробностей, кто именно удалял ключ после запуска - game или launcher. Ловится такое дело через RegMon.
3) Ещё было - создавался/изменялся файл настроек с определённым значением. Это можно отследить через FileMon.
4) Какая-то программа была, которая запускала свой основной модуль в спящем режиме, что-то там расшифровывала в уже загруженном в памяти процессе, и только потом делала ResumeThread(). При обычном запуске там то ли точка входа другая была, то ли команды по адресу точки входа были обычным завершением работы, так что без launcher сама game тупо без всяких сообщений сразу выходила.
5) Также попадалось совсем дикое, но это под DOS - launcher перехватывал прерывания, на них садились сервисные функции игры, а уже потом запускался game, который проверял есть ли на этих прерываниях нужный сервис.
Может, что-то ещё забыл, но это основное.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Сообщения в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 27th April 2024 - 16:00