MasterGH Опубликовано 11 декабря, 2009 Поделиться Опубликовано 11 декабря, 2009 Игра: Just Cause Спрос на трейнер: средне актуален, т.к. игра, возможно, и популярна при этом нет универсального трейнера. Дата выхода: сентябрь 2006 г. Мин. системные требования: CPU 1,4 MHZ, 512 MB, 64 MB VIDEO Дополнительная информация: игра похоже на всем известную GTA3 и выше. -Таблица CE (для версии RUS). -Трейнер (трейнер должен работать со всеми версиями игры). Запускайте трейнер, затем игру, затем нажимайте на горячие клавиши - всё как обычно. Реализованы чит-коды: 1. Чит-код на здоровье героя (автор MasterGH) Скрытый текст Инструменты: CE, MHS. Здоровье представляет собой полоску. Значение, которой изменяется плавно, значит, начнём искать с 4 байтов с точкой или (float). рис. 1 Ищу в MHS адрес типа float подставляя героя под удар правилом «уменьшилось» совместно с правилом интервала от 0,0 до 10000000,0 Нахожу три адреса и, проверяя их заморозкой, нахожу, что один из них рабочий 05E41E64 = 1850 здоровья. В окне найденных адресов рабочий адрес не зелёный, значит динамический. Копируем в CE все адреса из MHS (не рабочие тоже могут пригодится). Ставим брейкпоинт на доступ на рабочий адрес. Идём в игру и наблюдаем такую картину. рис.2 Поверяем, что самый часто обращаемый адрес является типом А, т.е. работает только с адресом здоровья героя. рис.3 Поскольку на рис 3 постоянно находится один адрес при стрельбе во врагов и при их стрельбе в моего героя, то скорее всего мы имеем дело с инструкцией типа А. Совет. По рис.3 если дело имеем со здоровьем, то сделайте так чтобы несколько врагов отняли его у вас и вы отняли его у нескольких врагов…. Почти аналогично касается патронов, должны стрелять вы и враги. Поскольку мне некогда заниматься расструктуризацией объекта и его оружия, копаться в дизассемблере и т.п., то я пойду по простому пути. Вытащу указатель, который пригодится позже на объект из 0046508a - d9 40 4c - fld dword ptr [eax+4c], (регистр EAX= 05E41E18 , который был при бряке) Листинг 1 и оформлю чит-код на здоровье. На рис.2 жму на «Скрипт». Далее «Чит-код->Указатель» Убираем лишний мусор и получаем. [ENABLE] globalalloc(newmem,2048) label(_originalcode) label(_returnhere) label(_buf1) registersymbol(_buf1) label(_cheat1) registersymbol(_cheat1) label(_pId) registersymbol(_pId) newmem: mov [_pId],ecx _cheat1: jmp short _originalcode push ebx mov ebx,[eax+48] mov [eax+4c],ebx pop ebx _originalcode: fld dword ptr [eax+4c] fdiv dword ptr [ecx+48] jmp _returnhere _buf1: db 90 90 _pId: dd 0 JustCause.exe+6508A:>45E08B4DE08B118955DC8B45DC8B4DDCYYxxxxxxxx48D95DD8D905889EA100 jmp newmem nop _returnhere: [DISABLE] {JustCause.exe+6508A:>45E08B4DE08B118955DC8B45DC8B4DDCYYxxxxxxxx90D95DD8D905889EA100 fld dword ptr [eax+4c] fdiv dword ptr [ecx+48] unregistersymbol(_pId) uregistersymbol(_cheat1) dealloc(newmem) } Листинг 2 Связываем этот скрипт, переименовываем его на {+A}(здоровье) и активируем его. На скрипте кликаем правкой кнопкой мыши и в появившемся меню опции нажимаем «Новый». В новом окне скрипта опять взываем, меню и выбираем «Дополнительный». Генерируется скрипт, исправляем его немного. [ENABLE] _buf1: readmem(_cheat1,2) _cheat1: db 90 90 [DISABLE] _cheat1: readmem(_buf1,2) Листинг3 Добавляем этот скрипт, переименовываем на Здоровье и активируем его. Должно получится так рис.4 Теперь в игре игрок с максимальным здоровьем и бессмертен, враги при этом смертны. 2. Чит-код на бесконечные патроны (автор MasterGH) Скрытый текст Инструменты: CE. Мне пришлось перезапустить игру, поэтому указатель на объект изменился. Он будет равен теперь [pId]=05E41F10 рис.1 Возьмём какое-нибудь оружие без бесконечных патронов, а то, которое ниже на рисунке брать нельзя. Примечание. Какая-то странная игра, у некоторого оружия патроны бесконечны )) рис.2 Я взял пистолет с глушителем. рис.3 Нашёл два адреса целое 4 байта. Один экранный и другой рабочий, оба динамические (рис 1). Ставим бряк на доступ на рабочий адрес. Появляется сразу одна инструкция и определим сразу её тип. рис.4 Примечание. Если мы стрельнем или перезарядимся появятся больше инструкций, но они все типа не А. Также лучше внедрять в инструкцию на рис 4, чтобы изменения патронов видно было сразу. Примечание. Начало структуры определено неверно, не обращайте внимания. Т.к. eax сам себя затерает. Но если мы знаем адрес, который проскакивает на инструкции, то мы можем определить регистры, что я и сделал. После того как определили начало структуры патронов, теперь либо через сканер памяти, либо визуально найдём указатель на объект героя в структуре патронов и по нему я буду делать фильтр вычитания патронов. рис.5 По этим данным делаем чит-код. На рис. 4 выделяем инструкцию и нажимаем на кнопку «скрипт». Пишем скрипт с фильтром. Примечание. Позже в русской версии я доработаю шаблоны, чтобы не приходилось значительно убирать «мусор» скрипта. [ENABLE] alloc(newmem1,2048) label(_originalcode) label(_returnhere) newmem1: push eax mov eax,[eax+78] cmp eax,[_pId] pop eax jne short _originalcode mov [eax+00000184],#99 _originalcode: mov eax,[eax+00000184] jmp _returnhere JustCause.exe+21FD11:>00008B55FC038284010000EB098B45F8YYxxxxxxxx008BE55DC3CCCCCCCCCC jmp newmem1 nop _returnhere: [DISABLE] JustCause.exe+21FD11:>00008B55FC038284010000EB098B45F8YYxxxxxxxx908BE55DC3CCCCCCCCCC mov eax,[eax+00000184] dealloc(newmem) Листинг1 Примечание. Надо помнить, что активирующий скрипт включается в первую очередь. рис.6 рис.7 Результатом активации двух чит-кодов является рисунок 7. Наш герой бессмертен и у него бесконечные патроны. 3. Делаем машину бессмертной(автор MasterGH) Скрытый текст Машина бессмертная, но пока попадает под влияние выстрелов врагов в результате чего при пробитых колёсах, покорёженной трансмиссии машина передвигается не так хорошо как хотелось бы. На вертолёте опробовать чит не получилось. Ниже описан метод нахождения указателя на объект управления машиной внутри структуры объекта машины, так же показано на что правильно ставить бряк. Инструменты: CE. Запускаем игру, активируем активирующий скрипт. Смотрим в CE чему равна метка pID которая указывает на объект нашего героя. рис.1 рис.2 Т.к. мы помним, что по смещению 4с находится здоровье героя, то логично предположить, что и у машины по такому же адресу будет здоровье и что одна и также инструкция работает с адресами здоровья. Итак, крадём машину. Ставим бряк на запись на здоровье героя, наносим себе урон Примечание Бряк на запись ставим для того чтобы было меньше инструкций и мороки найти инструкцию типа С, по которой мы найдём адрес объекта машины выстрелив по ней. Получаем инструкцию, рис.3 наверняка, она типа C - она работает с объектами, описанными более чем одним классом:: классом игрока и классом машины… Сейчас мы это проверим. Делаем что показано на рисунке выше и стрелам в машину, тут же появился адрес здоровья машины – ага, как предполагали так и получилось. Тип инструкции действительно С. рис. 4 Итак, перед нами две структуры здоровья: игрока и машины. рис. 5 Примечание. Берём листок бумаги и ручку. Рисуем рисунок выше и выделяем байты размером с величину страницы памяти. Если какие-то адреса будут входить в выделенный промежуток, то их следует проверить, не входят ли они, в структуру поставив брейкпоинт на адрес. Если начало структуры подтвердится, значит, адрес входит в структуру. Так надо будет делать всё время, я эти моменты пропустил. Этим способом нужно установить связь, что герой сидит в машине и если это так то не отнимать здоровье у машины. Я начал с этих поисков. 1. Поиск. Заходим в машину и ищем в памяти адрес объекта героя, затем выходим из машины и отсеиваем ноль. 2. Поиск. Заходим в машину и ищем в памяти адрес объекта машины, затем выходим и отсеиваем ноль. В итоге нашли по единственному адресу. рис.6 Эти два поиска нам не особо помогли, т.к. указатель на машину не находится в структуре игрока и также указатель на игрока не находится в структуре машины. Отсюда следует какой вывод? ) Вывод такой, что должен быть замешан какой-то другой объект типа «управления машиной». Если подумать, то объект машины должен содержать указатель на объект управления машиной: это либо указатель на объект управления пользователем, либо указатель на объект управления ботом. А что это значит? А это значит, что 1. Мы ищем указатель на объект управления машиной в объекте машины. 2. Ищем инструкцию типа А, которая чаще всех работает с указателем на объект управления машины и в неё внедряем чит-код с фильтром: если машиной управляет наш герой, то прописать машине макс. количество «здоровья». Очень простая логика, неправда ли, а ведь можно было исследовать дальше и глубже лесть в дебри указателей по адресам поиска 1 и поиска 2. К сожалению, я пришлось поменять машину, рисунок будет такой. рис.7 Ставим бряк на рисунке выше. Получаем. рис.8 Раз мы нашли инструкцию, которая работает только тогда, когда только наш герой сидит в машине, значит, в неё и будет внедрять чит-код на бессмертие машины. Правда, лучше внедрять в инструкцию чуть ниже (8569f9), чтобы было меньше гемора в скрипте. [ENABLE] alloc(newmem,2048) label(_returnhere) newmem: mov [edx+48],47C35000 mov [edx+4c],47C35000 mov ecx,[edx+000000b4] jmp _returnhere JustCause.exe+4569F9:>4DF883B9B400000000741E6A288B55F8YYxxxxxxxx00E8FC5DC3FF0FB6C085 jmp newmem nop _returnhere: [DISABLE] JustCause.exe+4569F9:>4DF883B9B400000000741E6A288B55F8YYxxxxxxxx90E8FC5DC3FF0FB6C085 mov ecx,[edx+000000b4] dealloc(newmem) Но данный скрипт не безупречен, машина не разрушается окончательно, но при этом происходит следующее: колёса простреливают, бампер и двери отрываются пулями взрывами =) Так что надо дорабатывать. 4. Чит-код на гранаты (автор MasterGH) Скрытый текст Данный скрипт вместо описанного ранее скрипта для бесконечных патронов, даёт как патроны так и 99 гранат и возможность бросать пять гранат подряд. Интресно что в один момент времени не может быть более пяти гранат, т.е. если враг бросил одну гранату, то вы сможете бросить только 4-ре. Данное ограничение обусловлено игрой. Для пяти гранат существует структура с пятью 4-х байтовыми адресами. Это уструктура читается из многих мест. Т.е. если создать свою структуру с 100-ней гранат и записать её по другому адресу, то придётся кучу времени потратить на то чтобы код игры работал с новой структурой. Поэтому проще оставить возможно бросать одновременно пять гранат=) [ENABLE] alloc(newmem1,2048) label(_originalcode) label(_returnhere) label(_x1) newmem1: push eax mov eax,[eax+78] cmp eax,[_pId] jne short _x1 mov [eax+0000090],#99 // гранаты mov [eax+0000918],0 // таймер гранат pop eax mov [eax+00000184],#99 //патроны jmp short _originalcode _x1: pop eax _originalcode: mov eax,[eax+00000184] jmp _returnhere JustCause.exe+21FD11:>00008B55FC038284010000EB098B45F8YYxxxxxxxx008BE55DC3CCCCCCCCCC jmp newmem1 nop _returnhere: [DISABLE] JustCause.exe+21FD11:>00008B55FC038284010000EB098B45F8YYxxxxxxxx908BE55DC3CCCCCCCCCC mov eax,[eax+00000184] dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
Kvazimado Опубликовано 13 декабря, 2009 Поделиться Опубликовано 13 декабря, 2009 Доброго времени суток!У меня вот тут вопросик наклюнулся - как можно сделать, чтоб машина, в которую я сажусь, была неубиваема? Точнее вопрос - не как, а сложно ли?)) Потому что я даже чисто теоритически не могу представить как это сделать. То есть, как одну машину сделать неубиваемой понятно - бьешь, и отсеиваешь ее здоровье. А вот как сделать чтоб это работало только на те машины в которых я сижу? Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 13 декабря, 2009 Автор Поделиться Опубликовано 13 декабря, 2009 Kvazimado, слушай... трейнер-то у тебя заработал? .... я же его переделал.Как сделать машины не убиваемыми в которых сидит твой герой?Это сделать скорее всего не сложно Только я так устал что сегодня уже не могу этим заниматся, а сегодня вечером и завтра и послезавтра я занят сутками.Теоретически можешь попробовать[*:v35e6sz5]Найди адреса - изменяющиеся значения 4 байта целое, в случае когда ты садишься в машину и вышел из неё. Допустим ты нашёл адрес1[*:v35e6sz5]Найди адрес2 "здоровья" машины[*:v35e6sz5]Найди связи между адресами[*:v35e6sz5]Напиши чит-кодps Я с форума ухожу через 20 минут... когда появлюсь не знаю. Либо сегодня, либо завтра, либо вообще во вторник. Ссылка на комментарий Поделиться на другие сайты Поделиться
Kvazimado Опубликовано 13 декабря, 2009 Поделиться Опубликовано 13 декабря, 2009 Прости, я просто винду переставлял - без звука, даже с тренером играть не тянет))А насчет машины подумаемс, думаю осилю))Такс, с тренером опять что то не так. Мне уже кажется, что моя версия игры какая то не такая!Запустил тренер, потом игру - во время запуска игры, вылезает ошибко - TCheatSaerch нашел код модифицированый, поэтому функции работать не будут (ну как то так). Ладно, жизня не работает, а при использовании патронов, игра вылетает((ЗЫ Скачал таблицу, попробую посмотреть, может что то и выгорит. Проблема только в одном - обе версии ЧитЭнжина не хотят ловить процесс игры, пишут какую то ошибку. Чуть позже вывешу скрины. Вот так реагирует ЧитЭнжин рус на запуск - http://pic.ipicture.ru/uploads/091213/1 ... QnUM6t.jpgХм...другие ошибки ушли...даже странно Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 13 декабря, 2009 Автор Поделиться Опубликовано 13 декабря, 2009 Какая ошибка конкретно... "...код модифицированный, множество соответствий..."или "...код модифицированный, соответствий не найдено..." ? Это весьма важно.Русскую cheat engine надо вставить в директорию оригинальной английской версии. Английскую версию лучше оставить (например переименовав её). Ссылка на комментарий Поделиться на другие сайты Поделиться
Kvazimado Опубликовано 13 декабря, 2009 Поделиться Опубликовано 13 декабря, 2009 или"...код модифицированный, соответствий не найдено..." ? Это весьма важно.Именно так. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 13 декабря, 2009 Автор Поделиться Опубликовано 13 декабря, 2009 Знаешь, чтобы тебя не мучить вопросами... сброська мне твой JustCause.exe (ссылкой через личку, поскольку тут на форуме нельзя постить nodvd), я его быстренько проверю. Взамен тебе скину мой и он будет точно работать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Kvazimado Опубликовано 13 декабря, 2009 Поделиться Опубликовано 13 декабря, 2009 Спасибо Мастер. Тренер пашет, игра помоему меньше лагает, не знаю почему. В общем все работает. Спасибо еще раз.ЗЫ ЛСы посылать не могу, так как гость. Но я Xipho попросил тебе переслать Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 13 декабря, 2009 Автор Поделиться Опубликовано 13 декабря, 2009 Kvazimado, если у тебя будет время и желание сделай следующее и отпишись о работе трейнера с твоим первоначальным JustCause.exe.Сначала запусти игру, затем начни играть (загрузив локацию игры), а только после этого сверни игру и запусти трейнер, подожди на всякий случай 10 секунд, активируй здоровье (crtl+1)...Если при таких действиях ты скажешь будет работать трейнер или нет и с какой ошибкой, то ты мне поможешь в отлаживании движка трейнера. Дело в том что я не могу запустить игру без диска и быстро проверить, то что писал выше.ПроблемаJustCause.exe (с защитой от копирования) предположительно поочередно распаковывает модифицированные секции кода, перед тем как к ним будет обращение. Я в этом не уверен, но догадываюсь.Обдумываю решение проблемыЕсли описание проблемы совпадает с истинной, то я изменю двиг трейнера следующим образом. При первой активации по горячим клавишам любого чит-кода сначала будет активация всех активирующих скриптов. Надо было сразу так делать, что-то я не додумался раньше. У меня же активирующие скрипты активируются сразу после нахождения дескриптора процесса игры. Ссылка на комментарий Поделиться на другие сайты Поделиться
Kvazimado Опубликовано 13 декабря, 2009 Поделиться Опубликовано 13 декабря, 2009 Во вторник у меня будет времени много - целый день, вот тогда и сделаю то, о чем ты меня просишь. А сейчас я видать слишком сильно подсел на игру - только в нее и режусь))ЗЫ Во вторник также займусь рассмотрением вопроса о том, как сделать неубиваемую машину или вертолет (иногда бывает, что сам под себя ракету пускаешь)) Ссылка на комментарий Поделиться на другие сайты Поделиться
Kvazimado Опубликовано 15 декабря, 2009 Поделиться Опубликовано 15 декабря, 2009 Мастер, в общем сделал как ты сказал - ошибки нет вообще, тренер работает. Различия, которые я смог заметить, между хакнутым экзе и нормальным:1) во-первых, когда запускаешь тренер, игра начинает подлагивать, есть даже мысль что она щас просто зависнит, особенно если рядом что то взрывается))2) во-вторых, когда наносится урон, жизнь уменьшается и откатываеться обратно, а значит если под гранату попасть, что я и сделал, помираешь. В левом экзе, такого не было, там даже если свалишься в высоты, ты все равно не помираешь (прицел и другое опознавательное пропадает, типа умер, но зайди в меню и обратно, все возвращается на круги своя).3) когда врубаешь патроны, игра начинает интересно проявляться, например залипают клавиши управления, и он сам бежит в какую-нить сторону. Ну и лаги усиливаются, так что я вернул твой экзе))ЗЫ. Время было только на подготовку к сессии(( Нашел только жизнь машины, той что у меня на тот момент была, точнее вертолет. Постараюсь на недели замутить окончательно то, что намечал и узнать как же связать ГГ и тачку, в которой он сидит.ЗЗЫ. http://i002.radikal.ru/0912/38/d802a9d853eb.jpg - вот я фигею с винды! это он, кстати, ругается на то, что ты мне прислал! После того, как я тренер запускал с правым экзе! Да что за кошмар то такой? Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 16 декабря, 2009 Автор Поделиться Опубликовано 16 декабря, 2009 1. У меня тоже такое было2. Про этот случай я могу только гадать.3. Так же как и во втором пункте - без понятия в чём причина.ЗЫ. Если создашь чит-код, то можешь написать статью в этой теме.ЗЗЫ. Трейнер ругается, т.к. требуется соблюдать правило - один запуск трейнера, на один запуск игры. В будущем, может быть, исправлю эту проблему. Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 26 марта, 2010 Поделиться Опубликовано 26 марта, 2010 В общем тоже начал играть в эту игру. Бессмертие то с патронами вроде пашет, а вот при попытке завесить машины игра вылетает... вроде и инструкцию нашёл нужную, но стоит выйти из машины - вылет...PS как запустить игру в окне?! Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 26 марта, 2010 Автор Поделиться Опубликовано 26 марта, 2010 Игру я вроде запускал через D3DWindower-English.exeЯ плохо понял термин "завесить" Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 26 марта, 2010 Поделиться Опубликовано 26 марта, 2010 Да что непонятного - сделать тачку невзрываемой. Всё делал по инструкции. Нашёл в структуре машины указатель на структуру управления машиной (по смещению B4h). Убедился, что в ней есть указатель на машину. Сел в машину, поставил бряк. Появилось 15 адресов. Запомнил количество обращений к каждой инструкции, вышел из машины. В общем нашёл 9 инструкций, срабатывающих только когда я в машину сижу. Среди них было две инструкции: cmp и mov с наибольшим числом срабатываний, всё как в туторе. Внедрил в mov скрипт на бессмертие машины, скопипастил его, только проверочные байты написал в виде строки aobscan. Собственно всё, захожу в игру и получаю вылет при выходе из машины... тачка то вроде как становится бессмертной, да только выйти из неё нельзя...скрипт бессмертия машины[ENABLE] aobscan(_faddress,8bxxxxxxxxxxe8xxxxxxxx0fxxxx85xx74xxc7xxxxxxxxxxxx8bxxxxxx8bxxxx) alloc(newmem2,2048)label(_returnhere)newmem2:mov [edx+48],47C35000mov [edx+4c],47C35000mov ecx,[edx+000000b4]jmp _returnhere_faddress: // 00856859 = JustCause.exe+456859 jmp newmem2 nop_returnhere:[DISABLE] aobscan(_faddress,90e8xxxxxxxx0fxxxx85xx74xxc7xxxxxxxxxxxx8bxxxxxx8bxxxx)_faddress-5: mov ecx,[edx+000000b4] dealloc(newmem2)//Alt: db 8B 8A B4 00 00 00 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 27 марта, 2010 Автор Поделиться Опубликовано 27 марта, 2010 Ну, я так понял что проблема уже решена. Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 27 марта, 2010 Поделиться Опубликовано 27 марта, 2010 На всякий случай вот рабочий скрипт с поправленными проверочными байтами:рабочий скрипт бессмертия машины[ENABLE] aobscan(_faddress,8bxxxxxxxxxxe8xxxxxxxx0fxxxx85xx74xxc7xxxxxxxxxxxx8bxxxxxx8bxxxx81xxxx) alloc(_newmem,2048)label(_returnhere)label(_pCar)registersymbol(_pCar) _newmem:mov [_pCar],edxpush ecxmov ecx,[edx+48]mov [edx+4c],ecxpop ecxmov ecx,[edx+000000b4]jmp _returnhere_pCar:dd 0_faddress: // 00856859 = JustCause.exe+456859 jmp _newmem nop_returnhere:[DISABLE] aobscan(_faddress,90e8xxxxxxxx0fxxxx85xx74xxc7xxxxxxxxxxxx8bxxxxxx8bxxxx81xxxx)_faddress-5: mov ecx,[edx+000000b4] dealloc(_newmem) unregistersymbol(_pCar)//Alt: db 8B 8A B4 00 00 00Скрипт массового убийства[ENABLE] aobscan(_faddress,d9xxxxd8xxxxxxxxxxdfxxf6xxxx7axxc7xxxxxxxxxxxxebxxc7xxxxxxxxxxxx0fxxxxxx) alloc(_newmem,2048) label(_returnhere) label(_originalcode)_newmem:cmp eax,[_pId]je short _originalcodemov [eax+000004C],(float)0_originalcode: fld dword ptr [eax+4c] fcomp dword ptr [justcause.exe+619e88] jmp _returnhere_faddress: // 005951FC = JustCause.exe+1951FC jmp _newmem nop nop nop nop_returnhere:[DISABLE] aobscan(_faddress,90909090dfxxf6xxxx7axxc7xxxxxxxxxxxxebxxc7xxxxxxxxxxxx0fxxxxxx)_faddress-5: fld dword ptr [eax+4c] fcomp dword ptr [justcause.exe+619e88] dealloc(_newmem)//Alt: db D9 40 4C D8 1D 88 9E A1 00При активации массового убийства город превращается в город-призрак - машины без водителей, видно лишь падающих при вашем приближении пешеходов. Комментарии думаю излишни - обычный one hit kill, но в этой игре даже добивать не обязательно Осталось сделать фильтр на союзников... Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 28 марта, 2010 Поделиться Опубликовано 28 марта, 2010 Интересная инфа: в структуре героя по смещению 538h находится некий флаг действия или нажатой кнопки. Не знаю как правильно.. так вот если назначить хоткей на значение 19, то в игре станет можно прыгать на неограниченную высоту, т.е. Рико будет отталкиваться от воздуха и прыгать всё выше, пока нажата кнопка хоткея (я его попросту на кнопку прыжка поставил). Таким макаром можно на любую гору залезть) Я кстати в метро 2033 подобный флаг находил, но применения не нашёл. Сейчас попробую там прыжок проверить... Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 28 марта, 2010 Автор Поделиться Опубликовано 28 марта, 2010 Интересное "открытие".Всё больше и больше становится понятно как разработчики пишут игры. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 22 января, 2011 Автор Поделиться Опубликовано 22 января, 2011 Исправил статью. Вытащил теги [TEXT], картинки залил на форум. Встретите ещё теги [TEXT] пишите мне в личку с ссылкой на сообщение и я поправлю. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость demiurg2008 Опубликовано 14 ноября, 2012 Поделиться Опубликовано 14 ноября, 2012 Поставил на днях эту игру, и в долгих поисках трейнера, забрел на ваш форум. Стало очень интересно и стал разбираться. С помощью СЕ получилось определить динамический адрес, но как только ставлю бряк на доступ игра вылетает. Версия СЕ 6.2, в debugger method выставлено значение "kernelmode debugger (DBVM)". Как можно предотвратить вылеты из игры.П.С. просьба не судить строго, много энтузиазма и желания учиться, если ошибся темой, подскажите где спросить =)) Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 15 ноября, 2012 Поделиться Опубликовано 15 ноября, 2012 Попробуй ставить бряки через Olly Debugger с плагином скрытия ее от процессов (где-то на форуме у нас была тема по Олли). Но при этом надо знать, что игра должна работать в оконном режиме, это раз. И, во-вторых, надо смотреть, не используется ли какая-нибудь проверка целостности кода (тоже на форуме обсуждалось). ЗЫ. Тема правильная, не переживай. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Володя Опубликовано 5 июля, 2015 Поделиться Опубликовано 5 июля, 2015 Здрасте! А вы бы не могли сделать бессмертие на игру Just cause 2 ? NullAlex: для этого есть специальный раздел Запросов Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения