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

[Ori and the Will of the Wisps] Бессмертие


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

Суть в том, что игра может убить даже с бессмертием (Это только в определённых моментах)

Как можно выключить это мгновенное убийство меня? Я ставил метку на запись на указатель, потом убивался и переходил в дизассемблер, заменял mov на add, но игра вообще установила мне 0 Хп вечное, в некоторых ситуациях вроде оно замораживалось (Так же я пробовал заменить NOP'ами, насколько помню, просто Хп замораживалось, но босс всё равно может мгновенно убить)

(Я мало понимаю в программировании, знаю совсем чуть)

 

Ещё у игры чуть больше 200 указателей на ХП и все рабочие... Это вообще нормально? Я отсеивал несколько раз, всё равно их много.

Я играл с трейнером от FLiNG, но там нет абсолютного бессмертия, лишь обычное.

Хочу понять, как решить проблему, так как не могу дальше никак пройти, а так же хоть научусь может чему-то новому

 

Спойлер

spacer.png

 

 

Изменено пользователем Xipho
Картинки надо убирать под спойлер.
Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, KiberAndy сказал:

заменял mov на add

Может стоит попробовать заменить на NOP ?

 

5 часов назад, KiberAndy сказал:

Ещё у игры чуть больше 200 указателей на ХП и все рабочие... Это вообще нормально?

Вполне себе нормальное явление. Указателей может быть много, но адрес то единственный.

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

12 часов назад, Alex сказал:

заменить на NOP ?

Насколько помню, я делал так и по факту включалось обычное бессмертие, но в особых случаях, убивает в 1 удар просто. Я поизучал немного ассемблер, видео смотрел, узнал немного нового, может у меня получится просто сделать прыжок (je/jmp) через эту строчку и всё сработает, надо проверять 

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

У меня получилось взломать момент, там был прыжок jne, я направил его на определённый call и меня начало просто бесконечно бить, когда наносится урон, это происходит много раз в секунду, но не убивает. Я сделал с этого скрипт, если включить его до/во время кат-сцены, то могут быть баги, у меня вот босс пропадал, потом я попробовал включить после кат-сцены и всё стало норм.

 

После перезапуска и включения скрипта, как только мне наносится урон, игра зависает и вылетает xD

Значит это работает лишь до перезапуска, наверное потом что-то меняется очень сильно

 

Если кто-то захочет повторить, то вот скрин. Я нашёл инструкции, которые обращаются к адресу ХП, затем ударился и там появилась новая строчка, на неё клик - Дизассемблер и в нём прям рядом будут строчки. Копируешь адрес call (Просто клик по нему, затем Ctrl + G и появится адрес), затем кликаешь 2 раза на jne и меняешь только адрес, который до этого копировал и должно работать. Прыжок направлять на второй call 

Спойлер

spacer.png

 

Изменено пользователем Xipho
Нарушение правил публикации постов.
Ссылка на комментарий
Поделиться на другие сайты

У Вас на скрине, в правом коне, не тот код, который ловится в левом окне. Инструкции jne и call не для доступа к переменным. У Вас даже адреса инструкций не совпадают.

jne - это условный переход.

call - вызов функции.

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

9 часов назад, Alex сказал:

У Вас даже адреса инструкций не совпадают

 

Я искал адрес жизней, а кликнул на jne, который там прям рядом, дабы показать, как примерно выглядит прыжок

 

9 часов назад, Alex сказал:

Инструкции jne и call не для доступа к переменным

 

Возможно я просто забагал игру, я не знаю, говорю же, мало разбираюсь, но факт в том, что я сделал то, чего и хотел - абсолютное бессмертие (Хоть и баганное)

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

@Alex, Я даже видео сделал для такого случая, глянь - Ori

Жаль, что у меня игра лагает немного, ну а так вроде всё подробно показал

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

@Partizan, Ты по факту сделал тот же эффект, но только немного иначе)

Ещё бы скрипт написать, который бы работал после перезагрузки игры и вообще шикарно, может у тебя получится такое :3

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

Спойлер
[ENABLE]
aobscanmodule(off_trigger,GameAssembly.dll,74 ? 8B 43 ? 89 41 ? 33 D2 E8 ? ? ? ? 48 8B)
registersymbol(off_trigger)
off_trigger:
db EB 4D

[DISABLE]
off_trigger:
db 74 4D
unregistersymbol(off_trigger)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+F2452F
GameAssembly.dll+F24511: 74 65              - je GameAssembly.dll+F24578
GameAssembly.dll+F24513: 48 8B 49 18        - mov rcx,[rcx+18]
GameAssembly.dll+F24517: 48 85 C9           - test rcx,rcx
GameAssembly.dll+F2451A: 74 56              - je GameAssembly.dll+F24572
GameAssembly.dll+F2451C: 33 D2              - xor edx,edx
GameAssembly.dll+F2451E: E8 FD 68 0A 00     - call GameAssembly.dll+FCAE20
GameAssembly.dll+F24523: 48 85 C0           - test rax,rax
GameAssembly.dll+F24526: 74 5C              - je GameAssembly.dll+F24584
GameAssembly.dll+F24528: 48 8B 48 28        - mov rcx,[rax+28]
GameAssembly.dll+F2452C: 48 85 C9           - test rcx,rcx
// ---------- INJECTING HERE ----------
GameAssembly.dll+F2452F: 74 4D              - je GameAssembly.dll+F2457E
// ---------- DONE INJECTING  ----------
GameAssembly.dll+F24531: 8B 43 2C           - mov eax,[rbx+2C]
GameAssembly.dll+F24534: 89 41 10           - mov [rcx+10],eax
GameAssembly.dll+F24537: 00 00              - add [rax],al
GameAssembly.dll+F24539: 46 93              - xchg eax,ebx
GameAssembly.dll+F2453B: 17                 - pop ss
GameAssembly.dll+F2453C: 02 00              - add al,[rax]
GameAssembly.dll+F2453E: 00 90 0D F3 F9 4F  - add [rax+4FF9F30D],dl
GameAssembly.dll+F24544: 03 F6              - add esi,esi
GameAssembly.dll+F24546: 81 27 01 00 00 02  - and [rdi],02000001
GameAssembly.dll+F2454C: 74 0E              - je GameAssembly.dll+F2455C
}

 

Есть глюк. Вражина пропадает. После перезагрузки.

Просто включай скрипт непосредственно перед врагом

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

2 часа назад, Partizan сказал:

Я уже выкладывал готовый скрипт. Мой пост удалила администрация.

Не удалили, а скрыли. Потому что мы против предоставления готовых решений, но за обучение. Дать рыбу или научить рыбачить, всё такое.

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

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

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

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