Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2014, 14:03   #1
padsyukin
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 14
Сообщение Как найти указатель на mov [ebx], eax???

Доброго времени суток, всем участникам клуба! И особенно тем, кто сейчас читает эту тему!

Я столкнулся с такой ситуацией, использую отладчик, нахожу искомый адрес, в котором хранится интересующие меня значение. Но, мне необходимо найти базовый адрес, который ранее найденного динамического адреса! Иными словами: Воспользовавшись отладчиком, Cheat Engine 6.2, я ищу интересующее меня значение, нахожу динамический адрес, в памяти по которому хранится интересующее меня значение -> После чего, командой "find out what writes to this address" вызываю еще одно окошко, где отображается прочая информация, в том числе и выводится инструкция "
Код:
mov [ebx], eax
" и собственно, на этом я и встрял.. Я не как не могу понять что делать дальше? Обычно, такого вида строка выглядит, примерно так "
Код:
mov [ebx + 4С], eax
" где + 4С - Это число которое является смещением на указатель и т.д. Но, что едлать если его нет, есть только строка вида "
Код:
mov [ebx], eax
"???

P.S.: Очень прошу вашей помощи, я уже не один день сижу и пытаюсь понять, как решить эту задачу...
padsyukin вне форума Ответить с цитированием
Старый 17.10.2014, 14:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Посмотри чему равно значение в EBX - это и будет указатель. И смещение тут не обязательно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.10.2014, 14:57   #3
padsyukin
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Посмотри чему равно значение в EBX - это и будет указатель. И смещение тут не обязательно.
Да, это понятно! Например:
Код:
EBX = 0BF84074
, его равенство я и пытаюсь искать, но Cheat Engine не чего не находит... Делаю все правильно, вроде бы... В строке поиска значения, устанавливая галочку возле Hex, вбиваю туда 0BF84074 и ноль результатов. Почему там происходит, не могу понять... И так со всеми играми на базе Unreal Engine! Что бы, было проще понять, я так парюсь с Unreal Tournament 2004 и в 3 тоже самое. Я и не знаю что еще делать... Может есть, еще какие предложения???
padsyukin вне форума Ответить с цитированием
Старый 17.10.2014, 18:35   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но Cheat Engine не чего не находит
А-а-а, читер... ))))
Так вот где собака зарыла. А я то думаю что за вопрос такой странный )))
Скажем так: Забудь. Обьяснять долго да и бесполезно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.11.2014, 22:59   #5
padsyukin
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А-а-а, читер... ))))
Так вот где собака зарыла. А я то думаю что за вопрос такой странный )))
Скажем так: Забудь. Обьяснять долго да и бесполезно.
Я так понимаю, вы и сами не знаете ответа... Или чисто из-за принципа, а??? о_О

Суть вот в чем...
- Есть компьютерная игра, Unreal Tournament 3;
- В игре есть счетчик/показатель статистики и тому подобное (Меня интересует считывание информации);
- Мне необходимо, считывать/сверять один из показателей в своей программе. Я пытаюсь это сделать, обратившись к памяти игры. Иными словами, ищу через Cheat Engine нужный адрес, где хранится значение счетчика/показателя. Но, он постоянно меняется и вы наверняка знаете почему, потому что он является динамическим! По этому необходимо найти статический, базовый адрес на искомый адрес счетчика/показателя. Но, как это сделать, если я не могу понять в какую сторону рыть... Смещениями я нечего не добился... Что я делаю не правильно? Самое обидное, это когда ты не понимаешь в чем твоя ошибка...

Цитата:
Сообщение от Stilet Посмотреть сообщение
Посмотри чему равно значение в EBX - это и будет указатель. И смещение тут не обязательно.
Я смотрел чему оно равно, оно равно тому адресу который я нахожу, то есть, тот что счетчик/показатель, пробовал искать, но не чего не нашел...

Может быть, я не в той степи ищу... Ну, допустим:
Интересный мне счетчик/показатель находится по адресу 10B57071, после поиска командой @find out what writes to this address" вызываю еще одно окошко, где отображается прочая информация, в том числе и выводится инструкция mov [ebx], eax смотрю значение регистра EBX, оно равно 10B57071, начинаю искать его и нечего... Что за дела??? Я знаю что где-то ошибка, но где...

Последний раз редактировалось Stilet; 09.11.2014 в 10:05.
padsyukin вне форума Ответить с цитированием
Старый 08.11.2014, 23:17   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
начинаю искать его и нечего
А где вы его ищете?
p51x вне форума Ответить с цитированием
Старый 08.11.2014, 23:21   #7
padsyukin
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 14
По умолчанию

Все в том же Cheat Engine, в строке где указываются значения для поиска, ставлю галочку Hex ввожу значение из регистра EBX, оно равно 10B57071 и нажимаю поиск. А что не правильно? Или как надо искать, я не знаю... о_О

Цитата:
Сообщение от p51x Посмотреть сообщение
А где вы его ищете?
А, где нужно, можете подсказать? Я использую Cheat Engine из-за удобства, не ради корыстных побуждений. Но, в данном случаи зашел в тупик... ((

Вы можете подсказать решение или нет? :\

Последний раз редактировалось Stilet; 09.11.2014 в 10:05.
padsyukin вне форума Ответить с цитированием
Старый 09.11.2014, 08:24   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Вы его ищете в этом же процессе или вновь перезапускаете? ВЫ знаете, что такое динамические переменные? Вы знаете, что такое рандомизация базы и есть ли она у вашей игры?
p51x вне форума Ответить с цитированием
Старый 09.11.2014, 10:28   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Я так понимаю, вы и сами не знаете ответа... Или чисто из-за принципа, а??? о_О
Хе хе )
Я то ответ знаю. Отсюда и совет - забыть.
Цитата:
Но, как это сделать, если я не могу понять в какую сторону рыть...
А никак. Если ты не можешь понять механику программы, то и препарировать ее нет смысла. По факту нужно взять в зубы отладчик, прогнать программу через него, выяснить в каком месте кода изменяется значение. И это еще не все. Дальше хуже. Дальше нужно будет как-то приаттачиваться к процессу, ставить перехват той части кода и считывать EBX или что там за регистр еще.
Есть и другие пути. Их сотни. Но не зная хотя бы основ реверсинга обьяснять нет смысла. На уровне "открой то, нажми туда, потом туда" обьяснить не получится, потому что ты просто напросто не поймешь терминологии.
Цитата:
Но, в данном случаи зашел в тупик... ((
И не выйдешь из него, пока не научишься работать и понимать ассемблер.
Можешь почитать статьи Рикардо Нарвахи про дизассемблирование. Там же и крекми-шки для тренировки реверсинга будут. Однако не надейся так быстро достигнуть банкая - игры ломать это не два пальца об асфальт.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти минимальний елемент массива. ПРием данних как указатель на начало масива , и как копию данных. galaxyblazer Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 17.04.2012 16:57
MOV eax to xmm f.hump Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.08.2011 11:25
mov eax, [ebx] goluzov Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 03.07.2011 20:57
Как найти указатель на динамическую переменную Djanius Общие вопросы Delphi 2 02.06.2011 21:28
> mov eax, [eax+$68] ArtGrek Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 21.02.2011 23:27