Bromvol Опубликовано 30 июля, 2014 Поделиться Опубликовано 30 июля, 2014 Привет всем!!!Столкнулся с таким вопросом как в топике, а искать даже не знаю как :-( Ломаю игру Darksiders 1 Wrath of War(лицензия стим). Видел трейнер в Deviated с этой опцией, а сделать сам не могу.Прошу вашей помощи. Очень нужно. Хочу свой трейнер сделать с этой опцией. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 30 июля, 2014 Поделиться Опубликовано 30 июля, 2014 Как вариант - находишь координаты игрока, находишь инструкцию, с ними работающую, делаешь инъекцию кода, в которой добавляешь к координате определенный множитель. Ссылка на комментарий Поделиться на другие сайты Поделиться
Bromvol Опубликовано 30 июля, 2014 Автор Поделиться Опубликовано 30 июля, 2014 Вот у меня инструкция отвечающая за координату Z:"DarksidersPC.exe"+327374:fstp dword ptr [edi+68]Допустим фильтр я сделал. Смещение по координатам равно 4 байта. А как сделать инъекцию с множителем? Можно какой-то конкретный пример? Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 30 июля, 2014 Поделиться Опубликовано 30 июля, 2014 Эм, я конечно не спец, но попробуй так:push eaxmov eax,[edi+68] //берем значениеmul 4 //умножаем его на 4mov [edi+68],eax //устанавливаем полученный результатpop eaxfstp dword ptr [edi+68]За работу скрипта не ручаюсь, но в ассемблере команда умножения это mul, насколько я помню... Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 5 августа, 2014 Поделиться Опубликовано 5 августа, 2014 Что то с mul 4 Не проходит, скрипт выдает ошибку Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 5 августа, 2014 Поделиться Опубликовано 5 августа, 2014 Ты бы хоть написал, какую ошибку выдает ) Если пишет что-то вроде instruction can't be compiled - это значит, что опкод неверный. Можешь поробовать imul. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 16 ноября, 2014 Поделиться Опубликовано 16 ноября, 2014 Я спросит хочу, как найти скорость передвижения игрока, на до идти в перед и делать увеличилось, или надо лести в верх и делать увеличилось,хочу сделать что бы игрок быстрее бегал. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 16 ноября, 2014 Поделиться Опубликовано 16 ноября, 2014 Я спросит хочу, как найти скорость передвижения игрока, на до идти в перед и делать увеличилось, или надо лести в верх и делать увеличилось, хочу сделать что бы игрок быстрее бегал.Используем поиск по форуму, не раз уже обсуждалось, и даже статьи писали по этому вопросу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Bromvol Опубликовано 16 ноября, 2014 Автор Поделиться Опубликовано 16 ноября, 2014 Был урок кенга, где он там несколько раз вписывал инструкцию, но в этой игре такое не проходит. Пробовал. Кроме того ни один из представленых способов не действует. Вопрос все еще открыт. NullAlex если знаешь где обсуждалось и ответ уже есть, то кинь ссылку на тему пожалуйста. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 16 ноября, 2014 Поделиться Опубликовано 16 ноября, 2014 Ссылка #1 Ссылка #2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 22 ноября, 2014 Поделиться Опубликовано 22 ноября, 2014 Покажите пожалуйста, как через Cheat Engine найти скорость передвижения, у меня olly 1.10 подключатся к игре не хочет, выдает ошибку. Ссылка на комментарий Поделиться на другие сайты Поделиться
RockHammer Опубликовано 22 ноября, 2014 Поделиться Опубликовано 22 ноября, 2014 (изменено) Привет всем!!!Столкнулся с таким вопросом как в топике, а искать даже не знаю как :-( Ломаю игру Darksiders 1 Wrath of War(лицензия стим). Видел трейнер в Deviated с этой опцией, а сделать сам не могу.Прошу вашей помощи. Очень нужно. Хочу свой трейнер сделать с этой опцией. Мой криминальный мозг додумался до такого: скачай trainer cracker от coder94, открой трейнер от Deviated в нем и ты увидишь какие WinAPI функции вызывает твой трейнер, а именно - какие байты и куда пишет. Изменено 22 ноября, 2014 пользователем RockHamer Ссылка на комментарий Поделиться на другие сайты Поделиться
Bromvol Опубликовано 20 января, 2015 Автор Поделиться Опубликовано 20 января, 2015 (изменено) RockHammer пробовал я этой и другой прогой ломать толку 0. Взял я и искал эту быстроту через СЕ. Включил игру, потом трейнер, потом СЕ и давай искать. Включил быстроту и ищу "увеличилось", подвигался в игре и "не изменилось", выключил и "уменьшилось" ну и т.д. и т.п. В результате нашел адрес и его значение при вкл быстрота значение 64, а при выкл быстрота 0. Перехожу в отладчик а там инструкция, которая работает на dll из трейнера и облом. За значение быстроты отвечает инструкция из подключенной dll. И на этом я вошел в ступор и ничего понять не смог. Да и еще с mul, imul пробовал в своем скрипте писать, но он делает не то что мне надо. Так вопрос далее открыт. Я понятия не имею как они сделали быстроту. А да еще реверсил игру по адресам и их значениям по структуре игрока(вылетов из игры была целая куча) Потратил уйму времени результата = 0. Использовал и СЕ и ReClass. Да в игре mafia нашел без проблем за минут 10-15. Ребята прошу подскажите как ее найти эту быстроту. Изменено 20 января, 2015 пользователем Bromvol Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 20 января, 2015 Поделиться Опубликовано 20 января, 2015 Мне кажется всё дело в том, что координаты имеют вещественный тип и для них такие инструкции как: add. sub, mul и т.д. не подойдут.Нужно использовать fadd. fsub и т.д. Если нужен пример работы с типом float, то посмотрите скрипт из этого сообщения (часть песвдо-полёт) Ссылка на комментарий Поделиться на другие сайты Поделиться
JIeXA Опубликовано 20 января, 2015 Поделиться Опубликовано 20 января, 2015 Допустим в этой темеhttp://forum.gamehacklab.ru/topic/3085-new-crimsonland/Я совершенно случайно наткнулся на множитель скорости ГГв структуре самого ГГРядом с координатами да и на них сами ставил много бряков да и много чего менял рядом сними Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 20 января, 2015 Поделиться Опубликовано 20 января, 2015 Думаю, для изменения скорости можно искать непосредственно множитель и работать с ним, но можно работать и непосредственно с координатами. Ссылка на комментарий Поделиться на другие сайты Поделиться
JIeXA Опубликовано 20 января, 2015 Поделиться Опубликовано 20 января, 2015 (изменено) В игре Torchlight2 (RPG) чтоб добавить больше опыта при убийстве моба (инструкция была на запись ) делал такчисло что нужно прибавить в EBXpush eaximul eax ebx,#10mov ebx,eaxpop eaxadd [esi+00000594],ebxПредпологаю что можно и с любым другим значением так поступить Изменено 20 января, 2015 пользователем JIeXA Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 января, 2015 Поделиться Опубликовано 21 января, 2015 Я опираюсь на инфу по Ассемблеру из интернета, вот например из одного учебника:Оперировать вещественными значениями как таковыми может только математический сопроцессор. Работа с вещественными числамитребует отдельного рассмотрения.Поэтому и предполагаю, что в ранее приведённом примере нужно использовать вместо mul - fmul (только применить это правильно). т.е. переписал бы скрипт NullAlexa:Эм, я конечно не спец, но попробуй так: push eaxmov eax,[edi+68] //берем значениеmul 4 //умножаем его на 4mov [edi+68],eax //устанавливаем полученный результатpop eaxfstp dword ptr [edi+68]За работу скрипта не ручаюсь, но в ассемблере команда умножения это mul, насколько я помню... так:Как то так.Только, т.к. в [edi+68] лежит Z , ГГ будет высоко прыгать. Для быстрого передвижения, нужно будет сделать это с координатами X и Y. Только и это всё не верно.Объясню:в [edi+68] -лежит именно координата, допустим 1000.Если мы применим умножение, то скорее всего окажемся за координатами игровой карты (а это скорее всего приведёт к вылету или ничего не произойдёт, если стоит проверка координат).Нам нужно умножать не саму координату, а разницу м/у двумя соседними координатами ГГ (до шага и после шага), вот тогда всё и заработает. Это если работать через координаты.Но можно найти именно множитель и работать с ним, тогда будет всё проще.Всё таки стало интересно, поэтому написал быстренько скрипт для Fallout 3:и заснял видео:Осталось только приспособить скрипт к нуждам игры добавить тоже самое к Y и всё.Дополню, как приспособить вышеизложенное к нуждам игры:1. Выбрать инструкцию, которая срабатывает на адресе координаты (X) на запись разово. (я в скрипте использовал для наглядности именно многоразовую инструкцию и показал на видео как быстро добраться до края карты).2. Проверить нужен ли фильтр (в моём скрипте фильтр использован), если нужен найти его.3. Откалибровать множитель (так как в Fallout 3 координаты имеет четыре значимых знака, т.е. например координата Z: 2000, X:-456. Y: -1200): то множитель Mnozitel: dd (float)1.004 в скрипте нужно ставить порядка (float)1.0004, чтобы ГГ не перемещался, как Кот в Сапогах.4. Проделать всё тоже для (Y).5. Объединить скрипты в один.6. Всё - быстро ходим в игре. fmul 4 //умножаем на 4 значение в стеке (в стеке как раз лежит [edi+68])fstp dword ptr [edi+68] // выталкиваем новое (умноженное на 4) значение из стека. [ENABLE]alloc(newMem, 128)label(returnHere)label(OK)label(Mnozitel)registersymbol(Mnozitel)newMem:cmp eax,18f4a0 // Для работы с координатами только ГГjne OKfmul dword ptr [Mnozitel]OK:fstp dword ptr [esi+000000D0]jmp returnHereMnozitel:dd (float)1.004 // Множитель или скорость перемещенияFallout3.exe+50DDB1:jmp newMemnopreturnHere:[DISABLE]Fallout3.exe+50DDB1:fstp dword ptr [esi+000000D0]unregistersymbol(Mnozitel)dealloc(newMem) 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 января, 2015 Поделиться Опубликовано 21 января, 2015 Допустим в этой темеhttp://forum.gamehacklab.ru/topic/3085-new-crimsonland/Я совершенно случайно наткнулся на множитель скорости ГГв структуре самого ГГРядом с координатами да и на них сами ставил много бряков да и много чего менял рядом снимиJleXA, этот пример нечего не доказывает, больше чем уверен, ты в скрипте с множителем использовал в коде инструкцию:MOV (например так: mov eax, [mnozitel]), а это можно делать с вещественными числами.Второй приведённый тобою пример, тоже нужно рассмотреть конкретно (какой тип используется в игре для опыта и т.д.). Скорее всего пример тоже ничего не докажет. Ссылка на комментарий Поделиться на другие сайты Поделиться
Bromvol Опубликовано 21 января, 2015 Автор Поделиться Опубликовано 21 января, 2015 garik66 я смотрел твой код и видео. Я тоже так делал, но у меня он двигался по одной координате и сначала медленно, а потом быстро и быстро и в результате выходил за пределы уровня или его ждала там смерть(погибал). Да и двигался он в одну сторону, а не в ту которую я хотел. По поводу множителя скорости, то я его так и не нашел. Искал методом поиска по структуре игрока и ничего не нашел(только вылетов из игры много). Но все же ребята-то быстроту сделали значит реально и мне очень хочеться понять как они это сделали и сделать такое самому. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 января, 2015 Поделиться Опубликовано 21 января, 2015 (изменено) Повторю: нужно для каждой координаты (X и Y) взять разовую инструкцию и будет всё работать. Прочитай полностью сообщение # 18.Разовая инструкция - на каждый шаг героя одно срабатывание на запись.Если таких инструкций не окажется, тогда только искать множитель. Изменено 21 января, 2015 пользователем garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 19 ноября, 2016 Поделиться Опубликовано 19 ноября, 2016 В 30.07.2014в07:52, Xipho сказал: Как вариант - находишь координаты игрока, находишь инструкцию, с ними работающую, делаешь инъекцию кода, в которой добавляешь к координате определенный множитель. А если к примеру персонаж движется по X в сторону отрицательного значения, то есть имеет X = 10, и движется к X = 0, если умножать или прибавлять к X, то персонажа понесет совсем в противоположную направлении, в сторону увеличения X. Тоже самое и с Y. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 19 ноября, 2016 Поделиться Опубликовано 19 ноября, 2016 (изменено) 1 час назад, AntonVit сказал: если умножать или прибавлять к X, то персонажа понесет совсем в противоположную направлении, в сторону увеличения X. Тоже самое и с Y. Нет конечно - множитель не влияет на знак + (в прямом направлении) - (в обратном). ЗЫ: если именно множитель найден. Если делаете через координаты, то в зависимости от того как реализуете скрипт. Если как на моём том старом видео, то ДА - персонажа понесет совсем в противоположную направлении. Изменено 19 ноября, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 19 ноября, 2016 Поделиться Опубликовано 19 ноября, 2016 1 час назад, Garik66 сказал: Нет конечно - множитель не влияет на знак + (в прямом направлении) - (в обратном). ЗЫ: если именно множитель найден. Если делаете через координаты, то в зависимости от того как реализуете скрипт. Если как на моём том старом видео, то ДА - персонажа понесет совсем в противоположную направлении. А где то твое старое видео? Тебе Гарик известно как реализовать иначе, то есть так чтобы скорость передвижения была скоростью передвижения. По средствам координат? Про множитель мне известно, работал уже с ним ранее. Есть одна идея как сделать супер пупер спид )), но о ней немного позже расскажу, если все будет "ок". Xipho, что скажешь? По поводу твоего предложения. Тебе что-то еще известно о чем ты не сказал, потому как одного того чтобы перемножить, недостаточно, точнее так совсем ничего не выйдет (как мне кажется). Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 19 ноября, 2016 Поделиться Опубликовано 19 ноября, 2016 4 минуты назад, AntonVit сказал: А где то твое старое видео? Оно выше (скорее всего где-то под спойлерами из-за перехода форума на новый движок), но оно не верное - я тогда только начинал. 6 минут назад, AntonVit сказал: Тебе Гарик известно как реализовать иначе, то есть так чтобы скорость передвижения была скоростью передвижения. Думаю да, написать свой множитель (если не сумели найти игровой) и всё, который будет работать с записывающей инструкцией, работающей с координатами. Для кого-то я уже это делал, но не под запись. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения