Korol2010 Опубликовано 13 октября, 2014 Поделиться Опубликовано 13 октября, 2014 Привет всем. У меня возник вопрос по взлому данной игры (указана в названии темы). У меня не получается присоединить отладчик к адресу времени хода. Игра моментально вылетает, как только ты пытаешься подсоединить отладчик для получения инструкций пишущих или читающих в адрес. Со взломом жизней червей и бесконечным оружием проблем не возникло, отладчик присоединялся и полноценно работал. А с адресом времени хода ничего не выходит, ни в какую не хочет он принимать отладчик. Что мне делать? Пожалуйста подскажите уважаемые эксперты))) Не ругайте пожалуйста, если что-то не так выразился, я ещё в этом деле новичок. Ссылка на комментарий Поделиться на другие сайты Поделиться
Bromvol Опубликовано 13 октября, 2014 Поделиться Опубликовано 13 октября, 2014 Привет. 1)Значит так если не хочет, то поменяй параметры отладчика. Как это сделать? а)открываешь СЕ, находишь вкладку "ИЗМЕНИТЬ"б) ищешь слова "ПАРАМЕТРЫ ОТЛАДЧИКА"в) ищешь справа слова "МЕТОД ОТЛАДКИ"г) ставиш кружок сначала сверхуд) ниже есть слова "КОНФИГУРАЦИЯ ОТЛАДОЧНОГО ИНТЕРФЕЙСА" и там жмакаешь по порядку галочки или кружкие) заходиш в игру и пробуешь вылетает или нет, если вылет значит повторяеш все пункты до Д кроме Г, вместо Г делаеш пункт Ёё) ставиш кружок в "МЕТОД ОТЛАДКИ" ниже 2) используй отладчик OLLYDBG и его сборку SHADOW3) исполузуй другие отладчики. На этом все. Удачи. P.S.: ты уже на форуме более 2 лет обитаешь. Так-что ты не новичек. Ссылка на комментарий Поделиться на другие сайты Поделиться
Korol2010 Опубликовано 13 октября, 2014 Автор Поделиться Опубликовано 13 октября, 2014 Спасибо большое за совет. P.S.: ты уже на форуме более 2 лет обитаешь. Так-что ты не новичок.Да, верно, на форуме я зарегистрирован уже 2 года, но дело в том, что когда я зарегистрировался, моя активность была, ну от силы месяца 3, а потом я зашёл сюда снова, только уже где-то через год примерно. Поэтому я по прежнему мало чего ещё знаю. А весь этот год я не занимался геймхакингом. Ссылка на комментарий Поделиться на другие сайты Поделиться
Korol2010 Опубликовано 14 октября, 2014 Автор Поделиться Опубликовано 14 октября, 2014 (изменено) Да к стате что бы не создавать новую тему. Как можно написать скрипт на время раунда? А то я как не пробовал тупо значение как бы морозится, а вот после выстрела то оно остаётся всё ещё заморожено, и сам не можешь снова выстрелить, не противник не может ход начать, если только отключать скрипт каждый раз что-бы мог сходить противник. Что можно сделать в такой ситуации?Стандартный скрипт инструкции:[ENABLE]alloc(newMem, 100)label(returnHere)newMem:mov [esi+30],eaxjmp WormsRevolution.exe+42F9B4jmp returnHereWormsRevolution.exe+42F9AC:jmp newMemreturnHere:[DISABLE]WormsRevolution.exe+42F9AC:mov [esi+30],eaxjmp WormsRevolution.exe+42F9B4dealloc(newMem) Изменено 14 октября, 2014 пользователем Korol2010 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 14 октября, 2014 Поделиться Опубликовано 14 октября, 2014 Значит скрипт работает не только со временем раунда, но а также с очередью ходов. Вариант решения: В структуре искать нужное смещение, по которому находится время раунда, и работать с ним. Ссылка на комментарий Поделиться на другие сайты Поделиться
Korol2010 Опубликовано 14 октября, 2014 Автор Поделиться Опубликовано 14 октября, 2014 (изменено) Значит скрипт работает не только со временем раунда, но а также с очередью ходов.Вариант решения:В структуре искать нужное смещение, по которому находится время раунда, и работать с ним.Спасибо. Только вот я никогда не делал фильтр подобного рода, и не искал в 1 инструкции разные переменные. Мне нужно наверное поискать уроки по реверсингу? Я правильно понимаю? Изменено 14 октября, 2014 пользователем Korol2010 Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 15 октября, 2014 Поделиться Опубликовано 15 октября, 2014 Спасибо. Только вот я никогда не делал фильтр подобного рода, и не искал в 1 инструкции разные переменные. Мне нужно наверное поискать уроки по реверсингу? Я правильно понимаю?Да, у нас на форуме есть и уроки от keng, и уроки от Coder, и парочка моих видео. Поищи их, посмотри, если что-то будет не понятно - спрашивай смело, постараемся помочь )) Ссылка на комментарий Поделиться на другие сайты Поделиться
Korol2010 Опубликовано 16 октября, 2014 Автор Поделиться Опубликовано 16 октября, 2014 Да, у нас на форуме есть и уроки от keng, и уроки от Coder, и парочка моих видео. Поищи их, посмотри, если что-то будет не понятно - спрашивай смело, постараемся помочь ))Так точно!)))) Спс если что напишу))) Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 17 октября, 2014 Поделиться Опубликовано 17 октября, 2014 Привет всем. У меня возник вопрос по взлому данной игры (указана в названии темы). У меня не получается присоединить отладчик к адресу времени хода. Игра моментально вылетает, как только ты пытаешься подсоединить отладчик для получения инструкций пишущих или читающих в адрес. А с адресом времени хода ничего не выходит, ни в какую не хочет он принимать отладчик. Что мне делать? С таким я один раз сталкивался, всё дело в приоритетах. Дело в том что при подключении отладчика к адресу неважнона чтение или запись, очень много инструкций работают с твоим адресом и приоритет нагрузки идёт на отладчик и поэтому игрушка CRASH'ся. У вы что-то сделать с этим не получится. В общем ищи альтернативную инструкцию которая может работать, путём анализа. Ссылка на комментарий Поделиться на другие сайты Поделиться
Korol2010 Опубликовано 22 октября, 2014 Автор Поделиться Опубликовано 22 октября, 2014 С таким я один раз сталкивался, всё дело в приоритетах. Дело в том что при подключении отладчика к адресу неважнона чтение или запись, очень много инструкций работают с твоим адресом и приоритет нагрузки идёт на отладчик и поэтому игрушка CRASH'ся. У вы что-то сделать с этим не получится. В общем ищи альтернативную инструкцию которая может работать, путём анализа.Да вообще то мне уже помог способ Bromvol`a, сейчас осталось только разобраться как сделать так чтобы после выстрела ход передавался игроку, а время не оставалось замороженным. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 22 октября, 2014 Поделиться Опубликовано 22 октября, 2014 Да вообще то мне уже помог способ Bromvol`a, сейчас осталось только разобраться как сделать так чтобы после выстрела ход передавался игроку, а время не оставалось замороженным.Для этого также придется искать очередь ходов, и изменять ее так, чтобы всегда была очередь игрока. Или, как вариант, можно глянуть в структуре (времени). Скорее всего, там есть что-то, за что можно зацепиться. Проще всего свернуть игру в окно, и посматривать на изменение структуры при передаче хода. Ссылка на комментарий Поделиться на другие сайты Поделиться
Korol2010 Опубликовано 23 октября, 2014 Автор Поделиться Опубликовано 23 октября, 2014 Для этого также придется искать очередь ходов, и изменять ее так, чтобы всегда была очередь игрока.Или, как вариант, можно глянуть в структуре (времени). Скорее всего, там есть что-то, за что можно зацепиться. Проще всего свернуть игру в окно, и посматривать на изменение структуры при передаче хода.Дело в том, что у меня ход то вообще не передаётся, и мне не надо, что бы постоянно ходил игрок, я хочу что бы и комп тоже ходил. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 24 октября, 2014 Поделиться Опубликовано 24 октября, 2014 Дело в том, что у меня ход то вообще не передаётся, и мне не надо, что бы постоянно ходил игрок, я хочу что бы и комп тоже ходил.Значит ищи в структуре флаг хода, и по нему пиши фильтр, морозить таймер, или нет.Но придется также узнать, "кто есть кто"... но скорее всего, во флаг хода записывается ID игрока.В этом случае фильтр должен будет выглядеть примерно так: if (IsTurn == humanPlayerID) { // сравниваем, если очередь игрока то freezeTimer; // морозим таймер} else { // если нет, то // ничего не делаем, даем выполнить оригинальную инструкцию} Ссылка на комментарий Поделиться на другие сайты Поделиться
Korol2010 Опубликовано 24 октября, 2014 Автор Поделиться Опубликовано 24 октября, 2014 Значит ищи в структуре флаг хода, и по нему пиши фильтр, морозить таймер, или нет.Но придется также узнать, "кто есть кто"... но скорее всего, во флаг хода записывается ID игрока.В этом случае фильтр должен будет выглядеть примерно так: if (IsTurn == humanPlayerID) { // сравниваем, если очередь игрока то freezeTimer; // морозим таймер} else { // если нет, то // ничего не делаем, даем выполнить оригинальную инструкцию}Это С++? Я к сожалению не умею писать на нём, только ещё начинаю рассматривать эту тему Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 24 октября, 2014 Поделиться Опубликовано 24 октября, 2014 Это С++? Я к сожалению не умею писать на нём, только ещё начинаю рассматривать эту темуЭто пример. Писать можно на чем угодно, главное - чтобы смысл кода был понятен. Ссылка на комментарий Поделиться на другие сайты Поделиться
Korol2010 Опубликовано 24 октября, 2014 Автор Поделиться Опубликовано 24 октября, 2014 Это пример. Писать можно на чем угодно, главное - чтобы смысл кода был понятен.Ок понятно. Спс)) Попробую тогда разобраться. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения