Сейчас на форуме: tyns777 (+6 невидимых) |
eXeL@B —› Вопросы новичков —› Не получается добавить кусок кода через Cheat Engine |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 12 августа 2019 01:11 · Поправил: Simcher · Личное сообщение · #1 Хочу добавить недостающего когда, сделал скрипт в Cheat Engine, прошу подсказать, что не так, видеоуроки смотрел, но не особо понял. Code:
Добавлено спустя 6 минут Мне нужно добавить в эту функцию ещё один такой же блок, который выделен на скрине. |
|
Создано: 12 августа 2019 09:42 · Личное сообщение · #2 идея понятна, но так недолго и стэк сорвать. да и блоки кода выделены неправильно - начинается всё с sub esp, 1C резервируется пространство под класс, потом из статичной строки создаётся динамический объект значит, надо в своём коде выделить такое пространство Code:
| Сообщение посчитали полезным: Simcher |
|
Создано: 12 августа 2019 11:52 · Личное сообщение · #3 -=AkaBOSS=- пишет: Сделал такой скрипт - получил вылет, что не так вставил? Code:
|
|
Создано: 12 августа 2019 12:06 · Поправил: -=AkaBOSS=- · Личное сообщение · #4 Simcher пишет: push +35E47C ну как вариант - что это за число? если относительное смещение, тогда надо указать в каком модуле. или прибавить базу вручную. В читэнжине есть отладчик. Надо посмотреть, правильно ли ассемблер собрал код, нормально ли отрабатывает инжект. На каком этапе краш - внутри инжекта или после него. Да и без прототипов вызываемых функций нельзя наверняка сказать какие будут последствия вмешательства. |
|
Создано: 12 августа 2019 12:45 · Личное сообщение · #5 |
|
Создано: 12 августа 2019 13:05 · Личное сообщение · #6 |
|
Создано: 12 августа 2019 14:50 · Личное сообщение · #7 Также вылет, вот скрипты Code:
и чисто Ваш скрипт Code:
|
|
Создано: 12 августа 2019 15:05 · Личное сообщение · #8 Simcher пишет: и чисто Ваш скрипт чисто мой скрипт - это набросок того что в целом нужно сделать. сам по себе он не сработает, и это нормально. нужно больше инфы. то что произошёл крэш это не инфа - это ситуация. как насчёт: -=AkaBOSS=- пишет: В читэнжине есть отладчик. Надо посмотреть, правильно ли ассемблер собрал код, нормально ли отрабатывает инжект. На каком этапе краш - внутри инжекта или после него. поставить бряк перед точкой инжекта, брякнуться там, включить инжект, продебажить где упадёт (в частности интересно - упадёт в коде скрипта или после него) |
|
Создано: 12 августа 2019 19:00 · Личное сообщение · #9 У меня попутный вопрос к людям которые используют Cheat Engine в своей практике. Есть ли у Cheat Engine какие-либо преимущества по отношению к другим отладчикам? Ну или бывают ли какие-либо ситуации или обстоятельства, где использование Cheat Engine более предпочтительнее? Если, например, человек знает windbg, x64 dbg и знаком с отладчиками в Иде, имеет ли смысл разбираться и изучать Cheat Engine или это будет уже избыточная информация, которая будет дублироваться в других отладчиках, которые перечислены выше? |
|
Создано: 12 августа 2019 19:26 · Личное сообщение · #10 |
|
Создано: 12 августа 2019 19:46 · Поправил: VOLKOFF · Личное сообщение · #11 sty пишет: Есть ли у Cheat Engine какие-либо преимущества по отношению к другим отладчикам? CE это хороший memscanner, как отладчик это к сожалению уг, ибо данный функционал чисто номинально присутствует и нужен для полноты раскрытия основных инструментов. В редких случаях можно написать скрипт который будет быстрее\удобнее давать результат по сравнению с полноценными отладчиками в силу заточенности CE, но эти случаи реально редки. Есть еще плюшки которые давали бы преимущества, но они не работают на AMD камнях от слова совсем... Я считаю CE действительно достойным инструментом и периодически его использую, но для прямого назначения - поиск\отслеживание динамики памяти, поиск указателей, реконструкция классов. Для разнообразия можешь глянуть Если нужна нормальная отладка - берешь нормальный отладчик и цепляешь CE к отлаживаемому процессу, благо он никак не конфликтует и ты получаешь два в одном. | Сообщение посчитали полезным: sty, bizkitlimp |
|
Создано: 12 августа 2019 20:50 · Личное сообщение · #12 Спасибо за ответы. Вопрос, который озвучен выше из серии: слышал звон... просто часто попадалась информация, что на базе Cheat Engine пишут какие-то инжекты и, вроде бы, расширяют за счет них функционал игр (программ). И еще попадалась инфа, что в Cheat Engine реализован чуть ли не самый лучший алгоритм поиска в памяти. Что касается памяти, то информация из поста VOLKOFF, еще одно тому подтверждение. P.S. Извиняюсь за занудство, но хотел еще кое-что уточнить, чтобы уж окончательно упорядочить у себя мысли относительно Cheat Engine . Вот если, скажем, у меня есть ехе-файл со старой программой (без исходников) и я хочу немного расширить функционал (добавить в меню пару каких-нибудь новых элементов/функций). Будет ли у Cheat Engine в такой ситуации преимущество или нет? |
|
Создано: 12 августа 2019 22:41 · Личное сообщение · #13 > в Cheat Engine реализован чуть ли не самый лучший алгоритм поиска в памяти. Какой есчо алгоритм, вот и весь поиск: Code:
Конечно там есчо тонна подобных примитивов разного назначения. И по факту это не поиск, а примитивное уг, на дельфях другое и не пишут. Если таким сканом пройти по всей юзер памяти, то вся эта память будет закреплена в рабочем наборе. Это значит что нужно выделить очень много памяти, а это затратно и долго. Как минимум нужно определить рабочий набор и по нему сканить. А есчо это нужно делать синхронно и не без костылей. ----- vx |
|
Создано: 12 августа 2019 23:58 · Личное сообщение · #14 difexacaw пишет: Какой есчо алгоритм, вот и весь поиск: difexacaw, а вдруг вы ошибаетесь по поводу примитивного сканера памяти в Cheat Engine? Как минимум два достаточно авторитетных человека на нашем форуме хорошо отзывались или предлагали воспользоваться Cheat Engine, именно при работе с памятью. Один из них это VOLKOFF, а второй |
|
Создано: 12 августа 2019 23:59 · Личное сообщение · #15 |
|
Создано: 13 августа 2019 00:29 · Личное сообщение · #16 |
|
Создано: 13 августа 2019 00:30 · Личное сообщение · #17 difexacaw пишет: Как я могу ошибаться, если выше прямой линк на сурец Черт знает, может и есть доля истины в вашем утверждении, если вы хорошо разбираетесь в коде, который должен сканировать память. А какой тогда по вашему есть хороший инструмент, которым бы можно было отслеживать изменения в памяти? |
|
Создано: 13 августа 2019 00:34 · Личное сообщение · #18 difexacaw пишет: И по факту это не поиск, а примитивное уг, на дельфях другое и не пишут да да на делфях пишут только дауны тру хекеры пишут на сиськах, sty пишет: и я хочу немного расширить функционал (добавить в меню пару каких-нибудь новых элементов/функций). Будет ли у Cheat Engine в такой ситуации преимущество или нет? Cheat Engine тут в основном для хака памяти( поиск констант), для твоего случая лучше написать отдельную Dll и загружать её вместе с программой, для исследования программы лучше всего использовать ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. | Сообщение посчитали полезным: sty |
|
Создано: 13 августа 2019 00:49 · Личное сообщение · #19 Слушайте, а может проще пропатчить, т.е добавить кусок кода в эту функцию, но как это сделать и не будет ли краша? Отдельно по теме: суть в том, что в игре есть панели информации о себе и информации о выбранном чужом персонаже. Но отображение надетой сумки есть только в первой. Так вот я хочу патч сделать или скрипт для игроков, чтобы они видели сумки остальных, потому что это не предусмотрено игрой(видимо забыли или поленились) |
|
Создано: 13 августа 2019 01:04 · Личное сообщение · #20 ClockMan пишет: Cheat Engine тут в основном для хака памяти( поиск констант), для твоего случая лучше написать отдельную Dll и загружать её вместе с программой ClockMan, спасибо за отзывчивость. То что расширить функционал программы можно (а может и нужно) без всяких отладчиков, это я знаю. Поди не в первый раз общаюсь с difexacaw . Тут я именно для себя решил выяснить все способности Cheat Engine. Думал, что с помощью Cheat Engine есть какие-то более легкие способы решения одних и тех же вещей. Есть же специальный сайт по хаку игр, так там буквально молятся на Cheat Engine и если верить им на слово, то с помощью Cheat Engine, разве что, только в космос нельзя улететь . Вот я и заинтересовался. Мануал, если я не ошибаюсь, у Cheat Engine слабоватый. Я там даже о том как сделать трассировку ничего не нашел. Вполне возможно, что плохо искал. Опять же штудировать мануал, чтобы убедиться, что этот инструмент тебе не нужен - то еще удовольствие. |
|
Создано: 13 августа 2019 01:30 · Поправил: VOLKOFF · Личное сообщение · #21 sty пишет: есть какие-то более легкие способы решения безусловно есть и для целей сабжа обычного скрипта должно хватить, вот только чтобы его написать нужно точно знать какой код и куда (и как) внедрять и вот тут мы ненавязчиво возвращаемся к теме отладки... CE безусловно покрывает большинство нужд по играм, но как уже говорил, некоторые казалось бы простые моменты из-за определенных особенностей движка могут превратиться в танец с саблями на граблях и "в космос" вам придется не лететь а подниматься по лестнице на костылях (хотя в итоге можно будет и дойти). |
|
Создано: 13 августа 2019 02:18 · Личное сообщение · #22 Simcher пишет: Слушайте, а может проще пропатчить, т.е добавить кусок кода в эту функцию, но как это сделать и не будет ли краша? если крашится инжект, то с большой вероятностью и патч тоже будет. Simcher пишет: я хочу патч сделать или скрипт для игроков, чтобы они видели сумки остальных, потому что это не предусмотрено игрой И Вы наивно полагаете, что в клиенте игры есть функционал, отдающий данные инвентаря других игроков, осталось только кнопку в меню добавить?))) Саму игру я не смотрел, но маловероятно что разработчики настолько глупы, чтобы передавать клиенту такие данные. Добавлено спустя 7 минут sty пишет: даже о том как сделать трассировку ничего не нашел Читэнжин - это не инструмент для отладки. Он больше для поиска значений, отслеживания изменений этих значений, разбора и сравнения структур. Ну и, разумеется, для внедрения своих хуков в интересные места наживую, без патчей и лоадеров | Сообщение посчитали полезным: sty |
|
Создано: 13 августа 2019 07:55 · Личное сообщение · #23 |
|
Создано: 13 августа 2019 09:36 · Поправил: -=AkaBOSS=- · Личное сообщение · #24 ок, идею понял. вечерком качну поиграюсь к следующему посту bartolomeo пишет: ну в Диабло 2 в мапхаке C3PO - был такой функционал Ну дык между ней и современной игрой сколько? Без пяти минут 20 лет прошло. Одно дело заря сетевых игр и читохакинга, и совсем другое сейчас - когда человек почти без опыта может насмотреться видеогайдов и слепить свой хак. За глупые ошибки разрабов быстро наказывают. |
|
Создано: 13 августа 2019 10:02 · Личное сообщение · #25 |
|
Создано: 14 августа 2019 07:04 · Личное сообщение · #26 в общем говоря, проблема примерно понятна правильный (в плане корректности кода) скрипт должен выглядеть так но нужны доработки другого плана Code:
Simcher пишет: Работоспособность проверял, заменяя в push'e адрес belt на адрес backpack и все работало не работает это - тоже крашится. причина - в гуе не прописан слот для отображения сумки сравниваем файлы data\interface\char_info.xml и data\interface\enemy_info.xml в первом (просмотр инфы о персонаже) есть слот equip_item_backpack во втором (просмотр инфы о ком-либо через правый клик) - слота нет, отображать некуда. Скопируйте строчку из одного файла в другой - крашиться перестанет. Остальные детали вроде "а отдаёт ли сервер инфу о наличии сумки у других игроков" у меня проверять нет времени. Добавлено спустя 33 минуты Мысля вдогонку: Адрес для инжекта ищется через aobscan - это хорошо, чтобы не заморачиваться при выходе новой версии игры. Но остальные адреса в скрипте вписаны статично. Это надо пофиксить - для функций использовать их символьные имена, а адрес строки надо тоже искать через aobscan | Сообщение посчитали полезным: Simcher |
|
Создано: 14 августа 2019 12:23 · Личное сообщение · #27 Спасибо Вам! Извиняюсь, забыл добавить, что у меня в енеми инфо уже было это сделано, по-этому при замене оффсета пояса на сумку не крашилось приложение. Добавлено спустя 3 часа 36 минут А не подскажите как пропатчить теперь, имея этот скрипт? Добавлено спустя 6 часов 4 минуты Патч получилось сделать, записав в cave нужный код и сделав прыжок в нужных местах. Вопрос, как сделать, чтобы не было небольшой задержки, когда открываются слоты? Может записать код чуть ближе к нужному месту?Или это будет всегда из-за прыжка? |
|
Создано: 14 августа 2019 19:25 · Личное сообщение · #28 |
|
Создано: 14 августа 2019 20:05 · Личное сообщение · #29 |
|
Создано: 14 августа 2019 20:38 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Вопросы новичков —› Не получается добавить кусок кода через Cheat Engine |