С этой темы (http://forum.sources.ru/index.php?showtopic=200513) меня послали сюда... Вобщем я непонимаю как с помощью IDA Pro 5 можно отловить вызов функции смерти в игре Мафия от 1С... Бряки ставить я могу конечно, но незнаю куда... Нужно узнать этот адрес...каким образом его можно узнать через IDA?
Ды хоть через что...хоть через OllyDbg (правда когда через него запускаю - виснет)... Всёравно обращацца ни с тем ни с другим - не умею... Ставил бряк на 0x006C2AC0 (это адрес переменной с жизнями, который выяснен с помощью ArtMoney)...но я подозреваю что и в IDA и в OllyDbg я ставил бряк на адрес в файле, а не в блоке памяти запущенного процесса...поэтому он у меня постоянно срабатывал что через эти проги я не мог даже секунды продержацца в игре и уж тем более не мог нарвацца на мафиози или мусора чтобы он в меня стрельнул и я пропалил адрес функции которая уменьшает жизни... Вобщем чем и что делать, может мне кто-нибудь объяснить?
/offtop посмотрел на название темы, потом на ник автора ... какая то ностальгия по "тому кого нельзя вспоминать" вернулась )))
Shizya открываеш в иде файл (сам екзешник игрушки), жмеш G, вводиш тот адрес, ентер. оно тебя перенесет на переменную которая по тому адресу, стаеш курсором на имя переменной, жмеш X , и видиш все места которые юзают переменную (если адрес не в аллоцируемой памяти)
Спасибо 1111111! Нашел чтото вот такое: .data:00631858 aDeath db 'death',0 Только не знаю что это и что с этим сделать такого чтобы смерти небыло... Что дальше делать? З.Ы. я на этой заморочке хочу научиться делать трейнеры или просто исправлять игры так чтобы было безсмертие...поэтому помогите мне плиз...
ну дальше просто пишешь вместо "death" - "live" и вот оно - бессмертие! и ноль в конце строки не забудь... а то не скомпилиться....
1111111, я кое что понял там нет имени переменной: .data:006C2AC0 db ? ; Как найти адреса функций если нету имени переменной?
Код (Text): Тебе уже писали: жми Х на переменной А я уже написал что нет там имени переменной и даже скопировал сюда строку того что находицца по этому адресу... Х неначем жать... чуть выше есть строка с именем переменной - я на ней нажал Х и мне выдали список функций судя по всему...а по адресу жизней (006C2AC0) - неначем жать Х...нету имени переменной, понимаешь?
да что то не то вы ему советуете, t00x. по сути ведь когда игрушка запустиццо, ей буит похеру что в той переменной, она туда будет писать походу реальные значения -> из того, нада хз каким образом недать проге изменить данные по адресу в данном диапазоне. одним из вариантов - 2 Shizya - пишите прогу что будеш через опред. интервал времени проверять внутреность той переменной, и в необходимом случае менять
1111111 жутко извиняюсь, разве во время игры ArtMoney не может менять значение в памяти? и вообще, надо менять адрес перехода на функцию, которая эту переменную меняет.
ну если я не торможу, то стартера интересует решение в иде . насчет изменения переходов - имхо очень глючно будет если занопить саму ф-цию изменения состояния жизни игрока
1111111, глючно, не глючно, а надо! прогу я уже написал давно... думал АртМани через слишком маленький интервал времени изменяет переменную на 100...поставил там Sleep(1) и всёравно убивают если хорошо в голову прицелюццо...поставил 999 жизней (думал отнимацца будет меньше) - всёравно убивают...так что тут нужно функцию смерти отловить и обезвредить...помогите плиз
если так уж горит - пиши в асю, мож помогу чем. смотрел екзе - там действительно неначем Х жать, ненаходит ида референсов.