Перейти к содержанию

Рекомендуемые сообщения

Салют всем. Продолжаем мучать игру под названием "Deadpool". 

Захотелось мне научится находить-отключать отдачу и Лирв поделился адресом, откуда можно посмотреть на всё это дело.

Эту тему тоже пишу по предварительному согласованию с Лирвом =)

// ---------- INJECTING HERE ----------
"DP.exe"+65F301: F3 0F 11 41 30           -  movss [ecx+30],xmm0
// ---------- DONE INJECTING  ----------

Сделав останов, я посмотрел структуру по адресу, находящемуся в ecx, и нашёл вот такую структуру:

Спойлер

i38cDQ0.jpg

 

Набросал на скорую руку скрипт, который пишет туда нули - не помогло;  записал с [ecx+24] по [ecx+30] нули - не помогло; нашёл все инструкции, пишущие по тем адресам, заменил nop - не помогло. Что я делаю не так?

 

P.S.

Если не трудно, подскажите приемлемый способ нахождения отдачи, т.к. метод со спидхаком на 0,2 и отсевом удручает своей эффективностью.

Ссылка на комментарий
Поделиться на другие сайты

В 28.11.2019 в 22:29, imaginary сказал:

Ищешь повороты камеры, смотришь что туда записывает и там выше находишь отдачу

Я так понимаю, это для  игр с видом от 1 лица?

Ссылка на комментарий
Поделиться на другие сайты

9 минут назад, SergBrNord сказал:

Я так понимаю, это для  игр с видом от 1 лица?

Это не только для таких игр.. Вот вруби как пример и попробуй пострелять...  Эта функция камеру на проч вырубит в обще.. Там гляди функцию...

[ENABLE]
aobscanmodule(qwe,DP.exe,74 4D 55 8B 6C 24 78)
qwe:
  db EB
registersymbol(qwe)
[DISABLE]
qwe:
  db 74
unregistersymbol(qwe)

 

Ссылка на комментарий
Поделиться на другие сайты

В 30.11.2019 в 15:14, LIRW сказал:

Это не только для таких игр.. Вот вруби как пример и попробуй пострелять...  Эта функция камеру на проч вырубит в обще.. Там гляди функцию...

 

Ну смотри,  я при помощи CE построил диаграмму.  До того перехода, на который ты мне указал производится обнуление всего подряд.  

Спойлер

yIiYB04.png

 

Это похоже на обнуление x, y, z камеры:

DP.exe+5544CD - xorps xmm0,xmm0
DP.exe+5544D0 - movss [esi+0C],xmm0
DP.exe+5544D5 - movss [esi+10],xmm0
DP.exe+5544DA - movss [esi+14],xmm0

Эти опкоды поразительно похожи на те, что я указывал в первом сообщении; здесь также происходит обнуление:

DP.exe+5544DF - xor eax,eax
DP.exe+5544E1 - xor ecx,ecx
DP.exe+5544E3 - mov [esi+24],eax
DP.exe+5544E6 - xor edx,edx
DP.exe+5544E8 - mov [esi+28],ecx
DP.exe+5544EB - mov [esi+2C],edx

Дальше идёт проверка на 0 eax (мы его обнуляем чуть выше) 

DP.exe+5544EE - xor ebx,ebx
DP.exe+5544F0 - cmp [edi+00000188],eax
DP.exe+5544F6 - je DP.exe+554545

В том скрипте, что ты написал,  происходит безусловный переход на DP.exe+554545 и камера застывает на месте. Но в чём проблема, я не вижу что бы в опкодах ниже  DP.exe+554545 что-то массово подгружалось в структуры.

 

Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, SergBrNord сказал:

В том скрипте, что ты написал,  происходит безусловный переход

Так дописывает то что то в камеру в вертикаль при условии, а то есть при выстреле.  Мне пока не когда глядеть :(

А эту всю тряску горизонтальную можно вырубить и одним патчем... к примеру вот так.. 

Спойлер

[ENABLE]
aobscanmodule(_camera_recoil_,DP.exe,F6 * * 0F 8B * * * * F3 * * * * F3 * * * * 0F 28)
_camera_recoil_+03:
  db 90 E9
registersymbol(_camera_recoil_)
[DISABLE]
_camera_recoil_+03:
  db 0F 8B
unregistersymbol(_camera_recoil_)

 

 

Ссылка на комментарий
Поделиться на другие сайты

  • 5 недель спустя...

Ответ.

Отдача хранится в одной структуре с оружием (кто бы мог подумать). 

Надо быть всё-таки внимательнее, ведь вначале поисков отдачи я этот участок структуры смотрел.

2B4 - патроны в магазине; 31С - отдача. Причём ниже есть похожие значения.

От значения 31С можно выйти на инструкцию, которая работает и со врагами (у них точность пожиже будет).

 

Спойлер

6LO4aGU.jpg

 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.