История приложения ArtMoney началась давно, в 1996 году. Его создал Михайлов Артём Сергеевич, выпускник факультета информатики Самарского аэрокосмического университета. Разработана программа для того, чтобы помогать геймерам. Например, получать бесконечные жизни и ману, боеприпасы и ресурсы. Не совсем спортивно, конечно, но если есть возможность получить внутриигровые бонусы, то, как говорится, «почему бы и да»?
Первые версии работали с играми под DOS и Windows. Но позже появилась поддержка всевозможных эмуляторов игровых консолей — от ZX Spectrum до Nintendo Switch. Так что если вам надо получить бессмертие в каком-нибудь редком консольном тайтле, то ArtMoney, скорее всего, с этим справится. Если вы думаете, что ArtMoney унесло ветрами времени, то нет — софт реально «живой», продолжает обновляться и радовать геймеров.
Как это работает
Приложение оперирует файлами конфигурации или данными игры в оперативной памяти. По сути ArtMoney позволяет создавать свои собственные чит-коды для игр. Таким образом, даже если для игры нет доступных чит-кодов, предусмотренных разработчиками, вы всё равно сможете изменить баланс сил и ресурсов в свою пользу.
Поддерживаются все 32- и 64-битные версии Windows, начиная с Windows XP SP3 и заканчивая Windows 11. При использовании рекомендуется отключить UAC или каждый раз запускать приложение с правами администратора. Без этого операционная система не даст открыть и редактировать память процессов.
Есть три версии ArtMoney:
Special Edition (SE) — бесплатная с рекламой.
PRO — платная без рекламы и персонализации.
PRO VIP — платная без рекламы и персонифицированная.
SE подойдёт для большинства случаев, но вот если хочется задействовать сокрытие процесса и прочие шпионские штучки, то тогда стоит задумать о том, чтобы потратить некоторое количество пиастров. Полная информация о различиях между SE- и PRO-редакциями есть на официальном сайте.
Звон монет
Начнём со старых добрых игр наподобие Patrician II («Негоциант»). Это отличный коктейль из экономики, торговли, политики и даже пиратства. В начале игры игроку предоставляют один простой кораблик с пятью матросами и 30 000 золотых, на которые можно покупать ресурсы. Набиваем полный трюм товаров в одном городе и плывём в другой. Продаём то, что привезли с собой, платим налоги и жалованье матросам. Повторяем. Profit! Через несколько часов вы богаты и знамениты. В идеальной ситуации, конечно.
На деле всё гораздо сложнее. Нужно учитывать и отслеживать изменения цен и настраивать автоматическую закупку, следить за состоянием корабля, матросами и арсеналом. Безопасных маршрутов нет — воды кишат пиратами. Те просто мечтают, как бы присвоить себе ваш корабль с товарами. А матросов, соответственно, отправить за борт. Если вы решили взять заём у ростовщика на постройку кораблей и развитие бизнеса, то пираты вполне могут сделать вас банкротом. Сложно, но если есть ArtMoney, то у пиратов просто нет шансов.
Количество золота обозначается числом. Нажимаем на кнопку «Искать» и вводим текущее значение. В случае с «Негоциантом» утилита обнаружила около 40 адресов со значениями, соответствующими текущему количеству золота. Перебирать их все — долго, так что нужно отсеять всё лишнее.
Покупаем какой-нибудь ресурс, чтобы количество золота изменилось, и нажимаем «Отсеять». Вводим новое значение и получаем всего лишь три возможных адреса. Пробуем менять каждое по очереди. Если после ввода нового значения оно возвращается, значит зависит от другого. В данном случае замена Значения 3 привела к изменению Значения 1 и Значения 2:
Переключаемся на игру и видим, что количество золота успешно изменилось. Теперь можно отредактировать описание найденного адреса и сохранить таблицу, чтобы воспользоваться ей в дальнейшем.
Дабы не изобретать велосипед, разработчик создал общедоступную коллекцию собранных таблиц. Там сейчас уже почти 7 000 таблиц, собранных игроками со всего мира. Этот список продолжает пополняться вполне современными играми, такими как Atomic Heart, Cyberpunk 2077 и Hogwarts Legacy.
Иногда эти таблицы могут не заработать сразу по причине динамического распределения памяти. Чтобы это исправить, достаточно будет найти лишь один рабочий адрес параметра и выбрать функцию «Автоизменение адресов». Все остальные записи в таблице будут изменены по вычисленному смещению относительно исходного адреса.
Бесконечные боеприпасы и жизнь? А пожалуйста!
Помимо изменения значений ArtMoney имеет функцию их «замораживания». Это позволяет блокировать значения параметров на протяжении всей игровой сессии. Например, если вы хотите, чтобы количество патронов в обойме не уменьшалось, вы можете заблокировать это значение и устроить локальный армагеддон в любой игре, где нужно стрелять.
Посмотрим, как это работает, на примере ремейка одного из самых каноничных шутеров с видом сверху — Crimsonland. Оригинальная игра была разработана горячими финскими парнями из 10tons Entertainment в 2003 году и моментально стала хитом. Один протагонист, куча лезущих монстров и 26 видов стрелкового оружия: от простого пистолета до вундервафель вроде пушки Гаусса в форм-факторе пулемёта Гатлинга. Добавьте к этому кучу перков и всяческих бонусов вроде ядерного заряда.
Спустя 11 лет после выхода оригинальной игры появился ремейк с улучшенной графикой, поддержкой современных разрешений экрана и дополнительными режимами. Более того, игру портировали на кучу консолей — от Nintendo Switch до PlayStation 5. Главное, что осталось неизменным — игровой процесс, он не растерял своего былого драйва.
Что можно сделать при помощи ArtMoney? Да много чего. Запускаем игру, берём любое оружие и делаем выстрел. Количество патронов пишется рядом с курсором. Через поиск и несколько итераций отсеивания значений получаем искомый адрес. Меняем значение на любое, например 25, и замораживаем его.
Теперь игра делает попытки с каждым выстрелом уменьшить количество патронов, но ArtMoney постоянно присваивает переменной заданное значение. В Crimsonland боеприпасы бесконечные, но вот долгая перезарядка всегда делала игрока уязвимым перед тварями. Теперь же количество патронов не меняется, перезаряжать оружие не требуется:
Здесь жизнь задана в виде круглой полоски-индикатора вокруг персонажа, а не конкретного числа. Когда количество жизни уменьшается, мы можем искать не точное, а приблизительное значение внутри границ диапазона. Иногда такой поиск не приносит результата, но в этом случае можно попробовать обратиться к гуглу. В тех же готовых таблицах для игры Crimsonland обнаружилось, что 100% жизни в этой игре принимает значение 17 096.
Прикинуть, как изменился диапазон, было сложновато. Благо у ArtMoney есть опция поиска неизвестного значения. При отсеивании указывается, что значение изменилось в меньшую или большую сторону, без конкретики. Даём монстрам себя несколько раз укусить, каждый раз ставя игру на паузу и отсеивая значения. В итоге искомый адрес был найден. Заморозив его, получаем бессмертие.
Не только игры
Забавно, но ArtMoney — это не только про игры. Это ещё и про отладку почти любых приложений под Windows. Раньше это приложение частенько использовали в паре с дополнительными утилитами, такими как дизассемблер IDA Pro и отладчик SoftICE.
Но теперь в этом нет необходимости. PRO-версия имеет встроенный отладчик и дизассемблер, что позволяет влезть в память и на низком уровне увидеть, что делает то или иное приложение. Изначально эта возможность была предусмотрена для некоторых игр, которые иным способом не дают изменять показатели.
С тем, чтобы поменять одно или несколько значений, проблем быть не должно, но увы, этот процесс работает только вручную. Автоматизировать его пока возможности нет. Зато есть построение карты процесса во внутреннем редакторе. Кроме того, есть функция экспорта карты для анализа в Excel. Встав на любой адрес, есть возможность вызвать шестнадцатеричный редактор и изменить значения прямо в памяти:
Таким образом, можно изучать не только любые игры, но и готовые читерские приложения (трейнеры) для них. Это не только отличная практика, но и возможность создать на их основе собственные варианты изменения параметров.
Заключение
Кажется, что в таком читерстве нет ничего полезного, но предлагаем взглянуть на это под другим углом. Игровой метод обучения — один из наиболее эффективных. Там нет принуждения или скуки, наоборот, всё строится на том, чтобы пользователь получал знания и эмоциональный опыт в процессе развлечения. Возраст при этом не имеет значения. Так, если ваш ребёнок любит играть в компьютерные игры, можно показать ему, как работает ArtMoney.
Она наглядно покажет, что игра — такая же программа, как и весь прочий софт. Возможно, это поможет сместить для ребёнка акцент с игрового процесса на исследовательский. В поисках способа получить нечестное преимущество юный геймер начнёт искать закономерности в работе приложения. А это полностью соответствует изначальной хакерской идеологии — глубокому пониманию того, как работают программируемые системы.
Кстати, про обучение детей IT, в частности программированию, мы готовим подробную статью, так что подписывайтесь на наш блог, чтобы не пропустить самое интересное. И конечно, делитесь кейсами использования ArtMoney в комментариях.
Комментарии (120)
13werwolf13
07.06.2023 12:01+6ух ностальгией пахнуло. даже вспомнил первую игру благодаря которой познакомился с артманией.
а с года полтора назад уже вспомнил артманию, дочери в симсе денех не хватало, правда на дворе уже не прошлый век поэтому
sudo scanmem
Paranoich
07.06.2023 12:01+3Было такое. Помню. 7.18 имеется.
Пользовался. Старые KKND и Age of empires оно помогало, да. Хотелось пройти заново, а сначала уже лениво было. Хорошая программа. Была.
Не понял что нового в ней появилось.И замораживание и поиск был ещё тогда.
Еще более замораживание?
Спасибо, что напомнили. И, насколько я помню, была версия «pro». Не бесплатная.
Зачем она была нужна — загадка.
KvanTTT
07.06.2023 12:01+1Я правильно понимаю, что программа не будет нормально работать с программами и играми на виртуальных машинах со сборщиком мусора (Java, .NET)?
redf1sh
07.06.2023 12:01+1Terraria на .net и я делал себе бесконечные платиновые монеты. Так что не всё так однозначно
Readme
07.06.2023 12:01+6Чиселка с деньгами — это чаще всего всё равно будет какой-нибудь
uint64_t
, хоть он внутриInteger
внутриObject
, хоть он внутриstruct Wallet
внутриstruct MyCharacter
. А значит, этот кусок памяти можно отыскать. Кроме того, состояние типа "money" обычно какое-то глобальное или по крайней мере не пересоздающееся постоянно, значит, сборщиком оно не разрушится (например, ссылка на "money" опосредованно должна быть у рендерера или у планировщика, пинающего рендерер).KvanTTT
07.06.2023 12:01+2Ну отыскать то, понятно дело, можно. Но вот отследить изменение - уже сложней, т.к. сборщик мусора может передвинуть объект со всеми его свойствами в результате уплотнения кучи. Хотя если объект в последнем поколении, то вряд ли будет меняться, да.
Diverclaim
07.06.2023 12:01+1Объекты в игровых движках пересоздаются только так - при перезагрузке, персонаж умер, при загрузке нового уровня и т.д. даже на платформах без сборщика мусора. Чтобы какая-то запись в таблице жила - нужно искать цепочку указателей (в Cheat Engine есть, в ArtMoney не знаю)
mapron
07.06.2023 12:01Проверил на игре Hollow Knight (написанной на C#) - гео спокойно ищется и редактируется. (смысла ноль т.к есть дебаг мод под него который делает то же но удобнее). Так что покрайней мере в ряде кейсов должно работать.
ShadowTheAge
07.06.2023 12:01Hollow knight хоть и написана на c# но в качестве фреймворка там юнити (mono или il2cpp), у них garbage collector не перемещает объекты, а в обычном .net более продвинутый который может перемещать.
mapron
07.06.2023 12:01Прошу прощения, да, не продумал что именно рантайм влияет, а не язык как таковой (хотя очевидно же). Спасибо что поправили. Сам не шарпист)
askharitonov
07.06.2023 12:01+3В одной игре (ну ладно, речь не про Java и .NET, а про древнего Микрошу) я видел такой способ сохранения количества жизней: строчка из значков, обозначающих человечка, и при потере жизни стирался очередной человечек (код заменялся, ну, допустим, на код пробела), пока они не кончались. Эта строчка находилась в области памяти, отображаемой на экране (там графики не было, только алфавитно-цифровой режим). То есть, одним действием менялось и количество жизней, и их отображение на экране.
Demonter
07.06.2023 12:01+2Поймал флешбек от этих человечков - в Supaplex был файл сохранения, со строкой символов, которые в нортоновском редакторе отображались как смайлики. Один вид смайлика обозначал открытый уровень, а инвертированный - еще не открытый. Первая моя "взломанная" игра.
Hidden text
jpegqs
07.06.2023 12:01+1Да, и для меня это тоже была первая "взломанная" игра. Тоже из Нортона.
Первый смайл 0x01, второй 0x02. Только по моей памяти непройденные уровни были 0x00, что отображалось как пустой символ, как пробел.
Там было три состояния: непройденный, пройденный, пропущенный (можно было пропустить ограниченное количество уровней, если не можешь пройти).
webhamster
07.06.2023 12:01Привет, а ты не помнишь, какое сочетание клавиш было на Микроше, которое позволяло остановить любую игру, чтобы начал работать курсор? Его можно было на экране переместить куда угодно и нарисовать любые символы. А потом то ли той же комбинацией, то ли другой можно было выйти из этого режима и продолжить играть.
Работало во всех играх, кроме особозащищенных типа Game Intergrator.
DrGluck07
07.06.2023 12:01Я добавлял патронов в СХ1, запущенный в эмуляторе. Так что в каких-то случаях это будет работать.
KvanTTT
07.06.2023 12:01Я еще вспомнил, что в играх популярны пулы объектов, т.е. вместо создания новых переиспользуются существующие для повышения производительности. Благодаря этому интересуемые адреса могут оставаться постоянными и отслеживаемыми.
FoxCanFly
07.06.2023 12:01Но пул все равно выдляет свои страницы в куче. Как вообще обеспечивается переносимость таблиц между запусками (и тем более между системами)? Это же должно работать только если игра вообще не использует динамическую память (только тогда все смещения будут фиксированными)
KvanTTT
07.06.2023 12:01А, ну я говорил про поиск изменяющегося значения в текущем запуске. Про переносимость речи не идет - там же даже для статических языков используется динамическое распределение адресов (но это решаемо и описано в статье), не говоря уже о виртуальных машинах.
Хотя в теории если игра однопоточная, версия рантайма и операционно одинаковая и используется пул объектов, то можно попробовать положиться на какие-то таблицы, да и то не факт (сам сборщик может быть многопоточным и изменять положение объектов в куче во время работы). Но все равно слишком много "если".
kmosolov
07.06.2023 12:01В начале года спокойно "читереил" с помощью ArtMoney в java игре запущенной внутри эмулятора bluestacks, а вот буквально вчера "читереил" в Zelda запущенной в эмуляторе yuzu, так что для ArtMoney кажется что нет ничего невозможного :)
remzalp
07.06.2023 12:01Ключевая проблема кучи достаточно современных (1995+ года) игр в динамическом управлении памятью, так что переменная, найденная при первом запуске, при следующем запуске будет уже совсем в новой области памяти.
Это лечится или поиском цепочки указателей, которая сохраняется между перезапусками или вмешательством в код процесса, чтобы вместо кода "вычесть использованный патрон" стало "сделать 100 патронов в обойме".Ну или просто докинуть себе денег так, чтобы до конца игры больше ни в чем себе не отказывать, тут уже одноразовое вмешательство нужно.
udmiark
07.06.2023 12:01Зависит от того что подразумевается под "нормально работать". Не знаю как сейчас с ArtMoney (но скорее всего так же), но у CheatEngine с поиском просто адреса со значением и замены значения в Java проблем особых нет (если искомое значение не хранится в постоянно пере создаваемой структуре). Проблемы (не особо решаемые) начинаются если хочется сохранить адрес для последующих запусков программы, либо же пытаться дисассемблить код (писать под него какие-то скрипты, разбирать структуры и т.п.). Но это проблемы скорее с использованием виртуальной машины чем с конкретно со сборщиком мусора.
AndreyAlin
07.06.2023 12:01+1Помню так демо-версию одной игры взломал. Демо-версия по сути была полноценной версией, но с ограниченным количеством запусков. Довольно быстро получилось найти счеткик и поставить значение на кучу девяток.
Destructive
07.06.2023 12:01+4Была аналогичная ситуация с "демо-версией" Mount&Blade, когда по достижении ГГ определённого уровня, игра завершалась со словами благодарности за проявленный интерес к проекту.
Я тогда заморозил опыт героя, и самостоятельно со временем добавлял очки прокачки, имитируя LVL UP'ы. Эх, было время...
marcbook
07.06.2023 12:01+9Помню, у нас в универе этой программой студенты взламывали электронные допуски-тесты к лабораторным работам)
Преподавателю, который их писал, даже потом пришлось пилить защиту от взлома - проверку на выполнение в данный момент программы ArtMoney в памяти)
Это были 2006-2007гг.sswwssww
07.06.2023 12:01+16Такая себе защита)
marcbook
07.06.2023 12:01+8Против студентов работала) Помню удивленные глаза однокурсников и их растерянное мычание, когда преподаватель спрашивал - почему во время запуска теста работала АртМани))
Спалившемуся на читерстве студенту предлагалось пройти допуск на компьютере в лаборатории) Под присмотром, так сказать)
Melonom
07.06.2023 12:01+1Универ, 2006 год, кто то поставил эту штуку на платежный терминал. Пихал десять рублей на экране появлялось 100. Терминал успел простоять часа два.
scsfl
07.06.2023 12:01+2Тоже был опыт с артмани. Читерил себе голду в д2 и пытался получить уники в gamble. Знания матчасти у меня тогда особо не было, и я, будучи школьником, удивлялся почему не читерят также в онлайн играх. Интернета у меня тогда не было чтоб проверить.
Хорошее время было)
Alexey2005
07.06.2023 12:01В онлайн-играх ещё как читерят. Даже сложно вспомнить онлайновую игру, для которой не было бы стандартного набора из радара, волл-хака и спид-хака.
Поэтому к большинству таких игр прикручивается некий античит, устанавливающий в систему собственный драйвер (и в качестве неприятного побочного эффекта полностью исключающий возможность запуска игры на Linux под wine/proton).
А дальше начинается война читеров с авторами античита. Идеально, если читерам удаётся распотрошить протокол обмена с сервером — тогда клиент можно вообще не трогать, просто подняв прокси, который будет подменять пакеты.vaslobas
07.06.2023 12:01На "проксю" тоже есть свои методы борьбы. Всё начинают просчитывать на сервере и не доверять клиентским данным или доверяют, но если есть расхождения, то потом бан прилетает.
perfect_genius
07.06.2023 12:01В онлайн-играх ещё как читерят.
С помощью данной программы-то?
Popadanec
07.06.2023 12:01Конкретных примеров я не знаю, но как по вашему работают читы? Ленивые или неграмотные разработчики оставляют важную часть функционала в клиенте, а не завязывают всё на сервер. Особо упоротые даже хранят данные(деньги/шмотки/слиллы и т.д.) по персонажу в клиенте.
И дальше вопрос только в том, насколько всё зашифровано и какая есть защита.
nidalee
07.06.2023 12:01Даже сложно вспомнить онлайновую игру, для которой не было бы стандартного набора из радара, волл-хака и спид-хака.
EVE Online. Не припомню для нее вообще никаких читов. Максимум боты.Alexey2005
07.06.2023 12:01Я за ней уже давно не слежу, поскольку она окончательно превратилась в донатную помойку, однако когда следил — для неё существовали как минимум следующие читы:
- Мультитрейн — возможность сделать так, чтобы на одном аккаунте одновременно учились скиллы сразу нескольких персонажей
- Варп-патч автопилота, чтобы он всегда вываливался на 0 км
- Хак на дронов, чтобы применять к ним бонус с Гилы, даже когда они запускаются с другого корабля.
Подозреваю, что было и больше, но вообще там особо не смысла читерить — боты решают. Особенно боты на копку в червоточинах и торговые боты.
denis-19
07.06.2023 12:01+1Как то мучался с ArtMoney и "Космическими ренджерами". В итоге нашёл способ, что нужно сесть в тюрьму в текстовый квест в игре и тогда артмани работает — можно только там денег себе поднять и выйти из тюрьмы богатым. С псевдографическим Adom артмани тоже плохо работал — но там можно было плодить вещи вроде и продавать, но сейвы потом коруптились.
А сейчас другие времена...scanmem и Linux :)
Skigh
07.06.2023 12:01+5Прога хорошая, но в современных условиях, в подавляющем большинстве случаев, в игре либо нет смысла читерить, либо нет смысла в неё играть.
selivanov_pavel
07.06.2023 12:01-1Не соглашусь. Например, прекрасный Ведьмак 3 без ArtMoney превращается в симулятор бомжа. Убей оборотня за цену пол-кило яблок. В Stalker тоже ИМХО приятнее бегать, выполняя задания, а не бегая туда-сюда с полным рюкзаком трофейного оружия.
Aldrog
07.06.2023 12:01+5Забавно, для меня как раз одним из существенных минусов Ведьмака было то, что денег дают много, а тратить их до перехода в DLC не на что. Вместо ведьмака, с трудом перебивающегося на жизнь и обновление снаряжения, получается какой-то вельможа, ищущий, во что бы деньги вложить с хоть какой-то пользой.
selivanov_pavel
07.06.2023 12:01Возможно, я просто не дотерпел доиграть без ArtMoney до того места, где бомж превращается в вельможу )
lorc
07.06.2023 12:01+3Ну в книгах Геральт не то чтобы прямо бомжевал, но часто сидел на мели. Так что все по канону.
selivanov_pavel
07.06.2023 12:01+14В книгах у него абьюзивные отношения с любимой женщиной, тяжёлая работа, и вечно не хватает денег. Я не хочу играть с такой степенью реализма )
delvin-fil
07.06.2023 12:01Ну в ЗП достаточно увеличить рюкзак и мощность "винтаря"(без модов она единственная и брать ее можно в начале игры на крыше дома между точкой спауна и Скадовском) - все, можно играть
LeshaRB
07.06.2023 12:01-4Я в игры играю мало
В 90 , начало 2000 пользовалсяПотом там сменились права, и стала про
Да и честно не вижу смысла от нее ужеНу играю я в старую cod 2,или medal of honor... там суть пройти сценарий, да и читы, пароли есть
В более современных, я играл cs1. 6 сейчас развитие есть
Так там не бостами играют, а сетевые
Не скажешь ведь, положите минуточку, я сча фриз жизней сделаюНо для своего времени программа была супер, но к сожалению сейчас не актуально...
Все выше мои мысли прост...
AngelNet
07.06.2023 12:01+9Артём! Прекрати выпрашивать деньги у детей! © /обращение к автору этого "поделия" на одном известном форуме.
Как только я открыл для себя бесплатный божественный Cheat Engine - артмоней прекратил для меня свое существование.
p.s. таблицы всегда беру там: https://fearlessrevolution.com
sergeyZ
07.06.2023 12:01+2А еще в 1993 была такая ISA-карточка - "Datel Pro Action Replay for DOS", например с её помощью можно было менять значения в памяти, делать slow motion. На неё есть отличный обзор у LGR - https://www.youtube.com/watch?v=usaioMbE8EQ
40kTons
07.06.2023 12:01+3Кто-нибудь может объяснить как же всё такие работают ArtMoney и CheatEngine? Точнее даже, благодаря чему их работа является возможной.
Если я правильно помню, одна из функций операционной системы заключается в том, что бы выделять ресурсы процессам и следить что бы они друг другу не мешали - т.е. что бы один процесс не попытался воспользоваться ресурсами другого, влезть в его адресное пространство. А тут программа берёт и лезет в адресное пространство другого процесса. Я не понимаю почему это работает
MikalaiR
07.06.2023 12:01+2Например, загружается кастомный "драйвер", который из ядра уже может делать практически что угодно с любым процессом.
dartraiden
07.06.2023 12:01+6Я не понимаю почему это работает
Потому что, если вы не хотите, чтобы память вашего процесса читали, нужно специально об этом позаботиться.
Без этого один процесс может читать и изменять память другого процесса, если они запущены от одного пользователя, либо если читающий/пишущий процесс запущен с правами администратора.
Если от этого отказаться, то лесом пойдет, например, любая попытка отладки приложений (удачи вам в разработке ПО без отладчика).
wiygn
07.06.2023 12:01+3printf debugging админских прав не требует, разработка подавляющего большинства софта в мире вне опасности
Hint
07.06.2023 12:01+11Очень легко. Буквально несколько строк кода, никаких драйверов. ReadProcessMemory, WriteProcessMemory.
https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-writeprocessmemory
RadeG
07.06.2023 12:01+9Я благодарен Artmoney потому что тулза лично у меня напрочь отбила охоту читерить. Лет в 16 я залочил золото в HoMM3, после чего в итоге пропал стимул играть дальше. Урок был выучен, больше о том чтобы читернуть в очередной игре мыслей ни разу не возникло.
jpegqs
07.06.2023 12:01+4Игра должна приносить удовольствие, я прибегаю к читерству только когда оказывается что по другому я просто не смогу пройти далее, или игра превращается в скучный гринд.
GDragon
07.06.2023 12:01+2Или когда игра уже поднадоела и можно напоследок развлечься.
(Например в режиме бога с бесконечными патронами.)
Hint
07.06.2023 12:01+1А мы с друзьями в школьные годы (2000-е) пользовались Magic Trainer Creator и GameWiz32. В первой можно было генерировать собственные exe для конкретной игры. Посмотрел на интерфейс - ностальгия.
Lordbander
07.06.2023 12:01+5с 1997 у меня сохранен и отлично работает до сих пор - Cheat o'matic by Nick Shaftner
jpegqs
07.06.2023 12:01Тоже Cheat 'O Matic пользовался под Windows, и всё остальное прошло стороной. А сейчас у меня установлен Linux и играю редко, под Linux есть утилита scanmem и графическая оболочка для scanmem под названием Game Conqueror.
Но иногда мне требуется совсем другой вид читов - замедление времени. Что своими силами делал через перехват функций запрашивающих время.
Gudd-Head
07.06.2023 12:01Тоже юзал Cheat o'matic.
Помню огромные глаза своего друга, когда я ему показал свой нашпигованный дворец в Sims ????
Mike_666
07.06.2023 12:01Но если отображаемые пользователю величины хоть чуть-чуть шифровать, хоть XOR с константой при чтении/записи то поиск адреса становится немного интереснее.
KvanTTT
07.06.2023 12:01Выглядит слишком сложно для кодовой базы, может повлиять на производительность. Актуально разве что для каких-то секретных данных.
jpegqs
07.06.2023 12:01+2Первая часть Космических Рейнджеров так и делала. Причём это шифрование было так часто, что тормозило игру. Я его отключил и смог игру облегчить, и работать стала заметно быстрее (в те времена было актуально).
DrGluck07
07.06.2023 12:01+1Тогда в дело вступает x64dbg
perfect_genius
07.06.2023 12:01А в нём уже починили плагин такого же поиска по памяти?
DrGluck07
07.06.2023 12:01А что там с ним не так? Я эту штуку последний раз использовал для поиска ошибки в одном из плагинов для X-Plane, но не помню чтоб встречал какие-то ошибки при поиске в памяти.
perfect_genius
07.06.2023 12:01В каком-то обновлении его сломали, он искал вечно. В итоге пришлось искать нужные адреса в Cheat Engine.
DrGluck07
07.06.2023 12:01Видимо я это обновление пропустил. Надеюсь, что такое быстро починили. Утилита очень полезная в некоторых ситуациях.
Didimus
07.06.2023 12:01Сперва был Game Wizard под DOS, в нём ещё BOSSKEY был, чтобы на экран вывести IDE в виде картинки, если пришёл начальник.
Потом был Cheat-o-Matic, он уже под виндовс работал, но, недавно запускал его, почему-то перестал. Видимо, только в 32-бита мог.
jpegqs
07.06.2023 12:01Не слышал о Game Wizard, я помню Player's Tools под DOS, по сути делает всё то же самое (тоже умеет сохранять/загружать игру в любом месте).
ogost
07.06.2023 12:01+10Помню, на просторах интернета была статья о том как взломать артмони с помощью артмони и получить про версию.
rosin-haze
07.06.2023 12:01странно что ни кто ещё не вспомнил этот случай https://www.playground.ru/misc/news/hitrye_prodavtsy_pochti_god_obvorovyvali_sobstvennyj_magazin_pri_pomoschi_artmoney-440339
zavbaz
07.06.2023 12:01+1Ха. Напишу коротко Cheat O'matik. на 64 битной винде уже неактуально. Функционала минимум но чтобы найти и поменять одно число не хуже армани был (за исключением "трудновзламываемых" игр). Можно было запустить несколько экземпляров и взломать несколько переменных.
Насчет армани мертв - не согласен - если нет готовых таблиц то имхо армани удобнее чит-энжина и проще в освоении. И игры запущенные в эмуляторах игровых консолей им взламывать проще (и сам поиск быстрее в этом случае).
DrGluck07
07.06.2023 12:01Не знаю изменилось ли в Артмани что-то сейчас, но лет 5 назад он тормозил и падал на большом количестве найденных значений. При этом Читэнжин прекрасно работал на той же выборке.
zavbaz
07.06.2023 12:01у меня оба норм всегда работали но мб просто из-за того что все эти годы у меня с лихвой было оперативки - тормоза и падения в нем я наблюдал "в гостях" на "слабеньких" компах где все свопилось и поэтому в современных играх искалось все очень медленно.
А чтобы в артмани (да и в читэнжине) не было слишком много найденных значений можно включить соображалку и ограничить количество типов среди которых искать - весьма помогает и ускоряет поиск (если только не ищешь неизвестное число), впрочим вы это и так понимаете раз написали про выборку. И в артмани легче подхватываются переменные если их положение сместилось (в читэнжине тоже это работает но чуть кривее).
Aqarus
07.06.2023 12:01Хуже артмани он был, и хуже ощутимо, просто хотя бы из-за своего дизайна, где ты только одно значение можешь менять, а не сразу несколько. Отсюда и все его проблемы и трудности использования.
Когда я познакомился с артмани, то про чит-о-матик забыл, как про страшный сон. Как и любой другой человек, собственно.
zavbaz
07.06.2023 12:01По такой логики cheat engine НАМНОГО лучше artmoney так как там свистоперделок больше (и отсюда тоже есть некоторые траблы и трудности использования) :) Но на самом деле дело в привычке и удобстве для конкретного человека. Оматиком можно было научить пользоваться даже кошку :) (девушка без каких-либо знаний о компа практически). И я уже написал - найти и заморозить несколько значений оматиком труда не составляло тк можно было хоть 20 экземпляров оматика запустить и все искалось и работало. Но согласен он морально устарел давным-давно.
В cheat engine есть фишка которой мне очень в artmoney не хватает - регулировка скорости приложения это зверская штука которая порой срабатывает даже на онлайн играх (простеньких всяких стратегиях-кликерах и о ужас даже в мультиплеерных не только браузерных но и стимовских - эпиковских и тд).
AlexTheCleaner
07.06.2023 12:01+1Вспомнил массу прекрасного сделанного этой программой, того что ранее делал руками в сейвах. Оплатил авторам программы эмоции более чем двадцатилетней давности. )))
DadeMurphyZC
07.06.2023 12:01Когда-то тоже читерил еще в DOS играх. Копался с помощью утилиты GameTools (вроде 1994 года утилита). Помню "заморозил" изменения в ячейках памяти в игре "Commander keen". Вообще читерство убило во мне геймера, но породила айтишника. :)
DrMefistO
07.06.2023 12:01+3Никаких преимуществ по сравнению с CheatEngine нет:
Трейнеры не сделать
Скриптинга нет
Поддержки сообществом практически уже нет
Платная
.net и другой managed не поддерживается
Сильно ограниченнее в функционале по сравнению с CE
forthuse
07.06.2023 12:01Интересно, что CheatEngine нормально установился и запустился и под Wine 6.02 (Linux 32, Puppy LiveCD c загрузкой через Grub с USB-SSD)
Взятый из последнего сообщения с ru-board.com топика по немуP.S. На Хабр, упоминание CheatEngine можно встретить в разных статьях, но отдельного цикла статей по этому инструментарию, вроде, нет.
DrMefistO
07.06.2023 12:01+1А и незачем. У них при первом запуске есть возможность запустить замечательный тутор с пошаговыми инструкциями как искать значения и что делать в разных сложных случаях. Один раз потренировавшись, CE дальше становится как родной.
V1tol
07.06.2023 12:01+1Более того, у CheatEngine есть ceserver нативный под линукс, что позволяет им ломать любой процесс, а не только запущенный под Wine. Правда GUI нативного нет (если бы был, то и сервер не нужен был бы), приходится запускать сам CE под WINE и подключаться к запущенному серверу.
jetexe
07.06.2023 12:01Если не изменяет память, у CE была ещё возможность менять скорость игры (было очень актуально, когда решил погонять в Saints Row 2, а она решила играть в полтора раза быстрее)
Mishazoid
07.06.2023 12:01-1ArtMoney умеет делать автозамену кода. Скрипт просто не нужен. Вместо скрипта на 3 страницы, надо у адреса в таблице поставить галочку замену и написать код, на который заменить. Смотрите таблицу для Europa Universalis 4 или Atomic Heart. А вместо скрипта по кодированию, есть маски, смотрите таблицу для Heroes 6. Что за сообщество такое? Если про fearlessrevolution.com? То это сайт автора Cheat Engine, все посты и темы про ArtMoney там просто удаляют как и на cheatengine.org.
DrMefistO
07.06.2023 12:01"Удивительно", почему удаляют:)
Всё описанное вами невозможно использовать в связке с какой-то логикой, соответственно, нет возможности патчить в зависимости от какого-то условия.
Mishazoid
07.06.2023 12:01Любую переменную из кода ассемблера можно вывести в таблицу и редактировать. В той же Heroes 6 есть переменная _GodMode dd 0, она редактируется в таблице, если установить 1, то активируется бессмертие. Просто посмотрите таблицу, это пример идёт в комплекте с программой ArtMoney. Потом в коде замены будет место cmp dword ptr [_GodMode],0 и далее патч если не нуль.
DrMefistO
07.06.2023 12:01И где здесь ветвление со стороны ArtMoney?
Mishazoid
07.06.2023 12:01Что именно надо и зачем? Пример есть?
DrMefistO
07.06.2023 12:01Мне - не надо. Скрипты в CE видели? Я видел как умеет CE, и вижу, что AM так не умеет точно.
Mishazoid
07.06.2023 12:01Скрипты в CE видел, пробовал для игры делать в CE и в АМ. Гораздо проще в АМ. Вы видели таблицы с автоизменением адресов и сигнатурами?
DrMefistO
07.06.2023 12:01И какие это такие скрипты есть в АМ?
Mishazoid
07.06.2023 12:01Не нужны там скрипты. Просто тыкаете галочку Замена кода и пишите код, там же объявляете переменные. Все переменные пользователь может редактировать. Просто попробуйте.
Mishazoid
07.06.2023 12:01Тогда что мы обсуждаем, если человек даже не пробовал автозамену с сигнатурами и масками в ArtMoney. Как он может говорить, что лучше CE, если в ArtMoney даже не пробовал?
DrMefistO
07.06.2023 12:01Я же сказал, что сидел на AM и знаю его плюсы-минусы, они перечислены в начале ветки.
Un_ka
07.06.2023 12:01Для тех кто помоложе, как я, подобная программа для "накрутки" внутриигровых ресурсов есть на Андроид и называется "game killer", принцип работы тот же самый, но ввиду того, что в отличие от Windows, на Андроид пользователю не даются права администратора, ему требуется получение root-прав, тоесть запуск от пользователя root и работа с утилитой su/sudo.
DimVision
07.06.2023 12:01Ох я помню, как впервые проходил с диабло 2 на некре. Когда уперся в босса, который волной сносил всех скелетов сразу, вкачал себе 9999 силы и остальных аттрибутов и пошел валить его с каким-то двуручным дрыном. дурак был, получается.
perfect_genius
07.06.2023 12:01Очень странная статья. Так и не рассказано как он работает, отчего приходится узнавать из комментариев. А упоминания Cheat Engine автор боится как огня.
"Выбери процесс" и "Для начала выберите" — интерфейс так и не определился как обращаться к юзеру:
Скрытый текст
Mnemone
07.06.2023 12:01Помню в первом Far Cry использовал артмани для бесконечных патронов. Там в одном из раундов выкидывают тебя с автоматом и тремя патронами против каких то горилл у которых ничем не разживешся само собой. Отыскать нужную переменную за одну - две итерации было интересней чем пройти раунд.
40kTons
07.06.2023 12:01Unreal Tournament 2004. Там был своеобразный BGF - спаситель или как-то так назывался. Миниядерная ракета, которой можно управлять. Её получение было крайне затруднительно и в обойме у неё одна ракета. Задача была - сделать 9999 ракет в обойме, что бы стрелять ими как из автомата. Вам приходилось искать из значений 1 и 0. Понятно, что это выдавало очень много коллизий с булевыми переменными. Можно было потратить целый час на то, что бы отсеять ненужные
khameleonium
07.06.2023 12:01даааа.... помню, юзал нещадно. Это было время, когда интерес к играм был чисто исследовательский (а что если? а что дальше?).
GDragon
К сожалению ArtMoney давным давно мертва.
Я её даже когда то покупал, но так и не использовал - а покупать обновления ради пары рюшечек нет вообще никакого смысла.
CheatEngine и мощнее и функциональнее и имеет огромное сообщество публикующее трейнеры\таблицы для него.
pda0
Э... "Я покупал, но не использовал" - значит мертва.
Классика...
GDragon
Я купил ArtMoney но пользовался бесплатным CheatEngine т.к. таблицы под артмани не найти, под читэнжин на каждом углу.
Так доступнее?
Mishazoid
Ну это же как повезёт. Atomic Heart версия 1.5 только для ArtMoney есть. Проверено работает на последней стим версии.
NemoVors
в жизни ни разу не использовал таблицы в артмани. С помощью поиска отсеивания (освоенного еще в game wizard, который часто вис на этом этапе) ломал все, что хотел. Самым сложным на моей памяти было сломать Vampyr - там игра как-то хитро высчитывала не только оставшиеся очки навыков, но и уже потраченные. Но и оно сломалось с помощью некоторых расчетов в голове. Не покупал программу - пользуюсь бесплатной версией еще 7-й чтоли...
ap0stol
Ну, в CheatEngine скрипты, ASM и прочее разительно отличают функционал от ArtMoney