![]() |
eXeL@B —› Вопросы новичков —› Помощь в трассировке кода игры (есть видео с примером) |
Посл.ответ | Сообщение |
|
Создано: 13 июня 2011 08:57 · Поправил: Telo · Личное сообщение · #1 Всем привет. Больше для интереса я уже вторые выходные подряд пытаюсь найти способ изменить кое-что в игре. Записал видео с подробным описанием что я хочу и на каком этапе мне нужна помощь Если вкратце,то в игре есть система перков. Каждый перк имеет свои бонусы. Один из перков позволяет видеть количество жизней над противниками. Я хочу найти способ, чтобы эта функция была включена на всех перках. У меня есть косвенные данные, по которым можно добраться до искомой функции - я нашёл определенную переменную, доступ к которой идёт только при вызове функции прорисовки этих healthbar'ов над монстрами. Всё делается через cheat engine. Я ставлю брейкпоинт по доступу к этому значению и как только я включаю нужный перк и запускается происовка healthbar'ов, игра останавливается и в дебаггере я вижу участок кода, который пытался прочитать значение. Дальше поидее нужно через дебаггер пошагово добраться до самой функции прорисовки а затем и до механизма, который взависимости от выбранного перка решает вызывать эту функцию или нет. У меня есть исходник на C++, он поможет сориентироваться в анализе кода через дебаггер. Но я не силен в реверс инжинерии - нужно понять и проанализировать в дебаггере откуда пришёл запрос, вычислить эту функцию прорисовки Healthbarов, вычислить где происходит анализ перка и вызов этой функции, сделать патч, который вызывал бы эту функцию для всех перков. --- Так как игра весит около 3х гб. Мне бы хотелось через скайп или TeamViewer или через VNC или через удобную вам софтину, чтобы я расшарил экран и вы полностью могли контроллировать процесс дебага, параллельно можно поддерживать связь через скайп или асю. в общем нужен специалист в реверс инжинерии, т.к. я до чего знал - добрался, а вот в дебаггере реально не хватает навыков и знаний разобраться. посмотрите видео и прошу хотябы попробовать мне помочь. ![]() |
|
Создано: 13 июня 2011 10:02 · Личное сообщение · #2 |
|
Создано: 13 июня 2011 10:54 · Поправил: V0ldemAr · Личное сообщение · #3 |
|
Создано: 13 июня 2011 10:59 · Поправил: Telo · Личное сообщение · #4 |
|
Создано: 14 июня 2011 12:01 · Поправил: Telo · Личное сообщение · #5 V0ldemAr пишет: Засунь файл в ИДУ и посмотри откуда идут вызовы той функции где ты остановился ( 0x10127С69 - похоже что это какая-то ДЛЛка ) Скорей всего там универсальная функция в которую передается указатель на обьект где читаются поля обьекта и эта функция на прорисовку всех обьектов а не только хелсбаров. Я тут посмотрел про какую же ИДУ вы говорите, и наткнулся на скриншот http://www.hex-rays.com/idapro/pix/idalarge.gif - очень крутое окошко wingraph - действительно наверно гораздо легче будет понять откуда был вызов функции. А там можно так же как и в CE подключиться к уже работающей игре и поставить брейкпоинт по условию? ![]() |
|
Создано: 14 июня 2011 14:39 · Личное сообщение · #6 |
|
Создано: 14 июня 2011 15:11 · Личное сообщение · #7 |
|
Создано: 14 июня 2011 18:19 · Личное сообщение · #8 V0ldemAr пишет: Telo Если чесно то времени нету да и особого желания к кому-то на комп коннектится и смотреть что делает игра. Не ленись а разберись как работать с IDA ( для анализа ) и OllyDbg ( для отладки как в CE ). Сам когда-то начинал реверсировать с того что писал трейнеры для игр лет 10 назад. Значит общедоступная IDA 5.5, как подсказали выше, attach делать не может? только дебагить в офлайне так сказать... а в реалтайме надо юзать OllyDbg... но чем он лучше/удобней CE ? там есть функция постройки гарфиков как в IDA на рисунке выше? приду домой буду пробовать))) ![]() |
|
Создано: 14 июня 2011 18:27 · Личное сообщение · #9 |
|
Создано: 14 июня 2011 18:42 · Личное сообщение · #10 |
|
Создано: 14 июня 2011 20:37 · Личное сообщение · #11 Поставил ИДУ, приаттачил её к процессу игры. но не вдуплю как тут чего делать. у меня есть адрес значения переменной, есть адрес кода, который получает доступ к этой переменной.. подключитесь по скайпу плиз хоть ктонить дайте быстрого пинка чтоб с идой научился работать. пару ваших кликов в иде и я уже буду знать как нужно с ней работать. блин почему такой способ обучения нигде не практикуется через скрин-шаринг ведь это удобно для обучающегося ![]() |
|
Создано: 14 июня 2011 21:40 · Личное сообщение · #12 |
![]() |
eXeL@B —› Вопросы новичков —› Помощь в трассировке кода игры (есть видео с примером) |