Сейчас на форуме: _MBK_ (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Помогите найти статический адрес (OllyDbg) |
Посл.ответ | Сообщение |
|
Создано: 21 января 2011 02:00 · Поправил: Модератор · Личное сообщение · #1 Добрый день. Я только начал изучать Olly, поэтому мой вопрос, возможно, дилетантский - так что не бейте ногами ![]() В связи с началом изучения Olly и ассемблера, с полки был извлечён пыльный исходник собственной проги, написанной когда-то в качестве тренировки мозгофф, предназначенной для одной онлайн игры (не пугайтесь, я не взламываю игру - просто читайте дальше). В проге я реализовал поиск определённого значения в памяти подобно артмани. Далее, прога читала по этому значению dword (значение сытости питомца) и в зависимости от этого выполняла определённые действия (кормление). Таким образом, адрес был динамическим. Занявшись Olly, я решил найти статический адрес. Для всех остальных значений я нашёл статические адреса, а вот для этого не могу, т.к. в olly никогда этого не делал. Я поставил брейк на адрес, по которому лежало значение и выскочил на код: Code:
Регистры: Code:
Вот полный код процедуры (расположена в Engine.dll игры), которая имеет доступ к адресу памяти: Code:
Подскажите, что делать дальше? Я так понимаю, сперва данные заносятся в EDX из EBP-7C? ![]() |
|
Создано: 21 января 2011 07:01 · Поправил: ARCHANGEL · Личное сообщение · #2 toizy пишет: Далее, прога читала по этому значению dword (значение сытости питомца) и в зависимости от этого выполняла определённые действия (кормление). Таким образом, адрес был динамическим. Занявшись Olly, я решил найти статический адрес. Не верю, что человек с таких хреновым пониманием терминов "статический" и "динамический" мог написать бота для кормления питомца. Если дворд был динамическим, то как его можно сделать статиком? Допустим, прога выделяла память под это значение, а потом записывала туда число. Тогда это значение каждый раз разное. В другом случае - если это константа - оно всегда одно и то же, и один раз определив его, можно юзать без изменений. А эта процедура ассемблерная бесполезна, т.к. после первого кола идёт джамп безусловный в конец процедуры, и не ясно, какой же кусок оперирует с интересующим ТС значением. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 21 января 2011 10:01 · Личное сообщение · #3 |
|
Создано: 21 января 2011 14:01 · Личное сообщение · #4 2ARCHANGEL: не верьте, я никого переубеждать не собираюсь. Я же сказал, что только начинаю изучать все эти прелести, т.к. в колледже нам ничего подобного не преподавали. Господа, я только учусь, как бы хреново это у меня не получалось ![]() Под динамическим я имел в виду термин из старой статьи на чемаксе - единственное, что я тогда смог найти в сети из элементарных гайдов (для dma и не-dma игр). Постараюсь выразится точнее - я хочу найти указатель на этот адрес, откуда он изменяется, чтобы убрать поиск из бота. 2[c4]: Поиск реализован так - открытие процесса, ReadProcessMemory, сравнение, если совпало, то в список, закрытие процесса. Отсев аналогичен поиску. Что до статических адресов, как я их неверно обозвал, так их я искал методом, описанных всё в той же статье на chemax.ru, других не знаю. Я попробую разобраться, куда был джамп и что там происходит. Вопросы напишу в скором времени ![]() ![]() |
|
Создано: 21 января 2011 16:43 · Личное сообщение · #5 |
|
Создано: 21 января 2011 17:29 · Личное сообщение · #6 gena-m Дык чо тут думать. Взял память просканил, темже чемаксом или как там его, нашёл переменную а тут облом - она не в секции данных ![]() Олли приаттачил а там ппц тёмный лес, так как асм не знаем, ось не знаем и вобще школота. toizy Изучать маны, сурсы, реверсить.. учится в общем. ![]() |
|
Создано: 21 января 2011 19:01 · Личное сообщение · #7 |
|
Создано: 21 января 2011 19:06 · Личное сообщение · #8 |
|
Создано: 21 января 2011 19:10 · Поправил: Модератор · Личное сообщение · #9 Кстати, то не бот, как подумал ARCHANGEL, это скорее "кликер" - так иногда называют подобные тулзятины. Тупо смотрит в памяти процесса значение и отсылает клавиши в окно. Более чем примитив. ЗЫ. Clerk, за школоту ответишь ![]() ![]() Николай, спасибо, учебник по асму для лохов - то что нужно! ![]() ![]() |
|
Создано: 22 января 2011 07:27 · Личное сообщение · #10 Всегда было интересно, как можно что-то накодить, не зная асма? Часто на форумах читаю сообщения типа: "Знаю С, но не знаю асма..." Блин, а как такие люди дебажат? ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 23 января 2011 11:07 · Личное сообщение · #11 |
![]() |
eXeL@B —› Вопросы новичков —› Помогите найти статический адрес (OllyDbg) |