Отключение меню

Статус
В этой теме нельзя размещать новые ответы.

MILLKISI

Новичок
Автор темы
13
0
Всем привет, ребят. Я бы хотела узнать, при запуске игры как отключить INTRO и само меню, чтобы сразу началась загрузка игры, желательно подать идею для реализации на C++, может быть какие-то адреса отвечающие за это имеются?
 

Nishikinov

Известный
148
34
По сабжу не знаю, но возможно придется иметь дело с реверс инженерингом через дебаггер, например Ollydbg. Но возможно эти сплешскрины там не просто так установлены и есть их убрать, игра попросту может не загрузиться.
 

#Rin

Известный
Всефорумный модератор
1,214
1,036
Загрузив GTA:SA в IDA, можно найти по поиску текста ".mpg", и так ковыряться где используется эта переменная, где вызывается эта функция, а где она и т.д.
SAMP отключает загрузочное лого GTA:SA, записыванием 6 инструкций NOP (0x90) по адресу 0x747483, предварительно изменив GameState на значение 5.
 
Последнее редактирование:

#Rin

Известный
Всефорумный модератор
1,214
1,036
Да, мне нужно сразу загрузку, как в сампе, как такое реализуется?
Я же написал выше.

Меняешь значение переменной GameState по адресу 0xC8D4C0 на значение 5.
Записываешь 6 инструкций NOP (0x90) по адресу 0x747483.
И не забывай про VirtualProtect.
 

MILLKISI

Новичок
Автор темы
13
0
Я же написал выше.

Меняешь значение переменной GameState по адресу 0xC8D4C0 на значение 5.
Записываешь 6 инструкций NOP (0x90) по адресу 0x747483.
И не забывай про VirtualProtect.

Спасибо большое, вроде поняла, буду стараться, разбирать)

Загрузив GTA:SA в IDA, можно найти по поиску текста ".mpg", и так ковыряться где используется эта переменная, где вызывается эта функция, а где она и т.д.
SAMP отключает загрузочное лого GTA:SA, записыванием 6 инструкций NOP (0x90) по адресу 0x747483, предварительно изменив GameState на значение 5.

Слушай, я глупая немного, можешь объяснить эти слова «записываем 6 инструкций NOP (0x90) по адресу 0х747483».

Спасибо большое, вроде поняла, буду стараться, разбирать)



Слушай, я глупая немного, можешь объяснить эти слова «записываем 6 инструкций NOP (0x90) по адресу 0х747483».
И, что за VirtualProtect, в первый раз слышу. P.S. Загуглила, как я поняла он дает возможность перезаписать регион памяти?
 
Последнее редактирование:

#Rin

Известный
Всефорумный модератор
1,214
1,036
желательно подать идею для реализации на C++
Хотела идею, я его дал.
И, что за VirtualProtect, в первый раз слышу. P.S. Загуглила, как я поняла он дает возможность перезаписать регион памяти?
Она устанавливает на определенный участок памяти права которые ты укажешь. В нашем случае это PAGE_EXECUTE_READWRITE.
Слушай, я глупая немного, можешь объяснить эти слова «записываем 6 инструкций NOP (0x90) по адресу 0х747483».
Здесь нужны низкоуровневые знания, так как процессора работает с инструкциями которые можно дизассемблировать и получить ассемблерный листинг (Очень сложный язык на котором никто полностью в данное время не пишет, обычно используют только тогда когда на языках высокого уровня невозможно это сделать, это наш случай).
Мы должны по адресу 0xC8D4C0 записать значение 5, а по адресу 0х747483 записать 6 байтов 0x90.
 

MILLKISI

Новичок
Автор темы
13
0
Хотела идею, я его дал.

Она устанавливает на определенный участок памяти права которые ты укажешь. В нашем случае это PAGE_EXECUTE_READWRITE.

Здесь нужны низкоуровневые знания, так как процессора работает с инструкциями которые можно дизассемблировать и получить ассемблерный листинг (Очень сложный язык на котором никто полностью в данное время не пишет, обычно используют только тогда когда на языках высокого уровня невозможно это сделать, это наш случай).
Мы должны по адресу 0xC8D4C0 записать значение 5, а по адресу 0х747483 записать 6 байтов 0x90.

А если делать через memset как это сделано в собейте или исходниках сумпа? Если так можно, то почему при использовании его у меня просто при запуске 5 секунд висит процесс и все отключается?
 

ufdhbi

Известный
Проверенный
1,455
861
А если делать через memset как это сделано в собейте или исходниках сумпа? Если так можно, то почему при использовании его у меня просто при запуске 5 секунд висит процесс и все отключается?
SSE — Википедия(https://ru.wikipedia.org/wiki/SSE)
вот про ассемблерные вставки
 
Статус
В этой теме нельзя размещать новые ответы.