обход ArtMoney

Тема в разделе "CHEATS", создана пользователем VaVa, 25 фев 2020.

  1. VaVa

    VaVa Member

    Публикаций:
    0
    Регистрация:
    21 авг 2018
    Сообщения:
    34
    1) А почему у вас нет ветки посвящённой хотростями защиты от отладки/реверсирования?

    2) Можно просто обмануть ArtMoney - например от защищаемого числа отнять произвольное и хранить разницу и произвольное. А не подскажите что-нибудь более красивое? Может менее заметное под отладчиком?

    3) А какие еще хитрости (помимо архитектурных особенностей и хитрых API) можно использовать против реверсирования:
    -динамически изменять код из рабочего в нерабочий во время выполнения
    -подставлять в код константы вычисленные заранее (неудобно для многопотока)
    - ... может ещё что-то подскажите?

    меня как-то больше интересуют методы как замаскировать независимо от платформ...
    заранее спасибо!
     
  2. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    2. Недавно такое в точности то ли в варкрафте, то ли в цивилизации какой-то старой видел.
     
  3. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    самый коварный приём пролегает в ложно-успешных проходах. То бишь прога позволяет читу успешно сработать на паре-другой попыток, а потом устраивает жёсткий облом в самый неподходящий момент.. приём, кстати, применяется ещё с лохматых времён для развода лохов в картишки :)
     
    VaVa нравится это.
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Я бы несанкц. попытку доступа к памяти обнаруживал, а затем спустя некоторое время изменял логику работы. Это на win очень просто сделать, создаются области-ловушки и периодически проверяются на наличие их в рабочем наборе https://docs.microsoft.com/en-us/windows/win32/memory/working-set

    Я так в крэкми делал, палит любую попытку доступа к памяти из ядра тоже, так как что бы произвести выборку из памяти её нужно добавить в набор.
    --- Сообщение объединено, 25 фев 2020 ---
    Вот пример:

    Scan.png
     

    Вложения:

    • Scan.7z
      Размер файла:
      873 байт
      Просмотров:
      292
    Aiks и hiddy нравится это.
  5. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    Indy_, обычно читер имеет полный доступ к своей локальной системе, тч организация стелс чтения памяти всегда возможна. реально эффективно на локальной машине античит может лишь попытку отладки детектить. а вот мало-мальски успех в детекте чтения озу на локалке (акь это ни странно) можно проводить чрез сервачную часть античита. :)
     
    VaVa нравится это.
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    UbIvItS,

    У вас всегда отрешённые рассуждения. А тут походу реальный софт и реальный детект попытки чтения. А таких областей может быть сколько угодно и в произвольной последовательности. Обсуждение не имеет смысла, это как всегда бесконечно детект-обход война и мир.

    > тч организация стелс чтения памяти всегда возможна.

    Вот с этим не согласен. Для такой реализации необходимо использовать ядерный андок, механизмы страничных ловушек. Это область ядерных руткитов, а нуби и всякие читеры такое врядле смогут реализовать.
     
  7. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    самый лёгкий способ идёт чрез виртуалки == чит в хосте, гамис под виртой. акь это ни смешно, но дравер от вирты (к примеру, https://www.virtualbox.org/wiki/Windows build instructions) тоже можно переделать на нужды чита + гамис можно запускать под 7кой, что позволит избежать доп трабл с пачгвардом бесятки. также нужно отметить, что если клиент гамиса может и под линем запускаться, то тамо чит совсем в ядро оси можно впихнуть. короче, с локалкой действительно..
    Хотя отдельная песня тут всё же есть == прога/гамис могут поставляться акь программно-аппаратный комплекс, жестянка в итоге идёт и в плане акселератора, и акь слой защиты. Короче, могу повториться == наиболее эффективные схемы античитов и сравнительно дешёвые используют развитую серверную часть. а локальный чит в идеале == нейронная сеть + стелс чтение озу. впрочем, вторая часть мб исключена совсем, но она может сильно облегчать нейронку. Ну а в итоге мы имеем ситуацию идеальный чит (нейронка) против идеального античита == побеждает античит и при том победа получается за пару копеек, если сравнивать с затратами на чит. античиту всего-то навсего нужно сверить статистику игры против эталонов (обычно статистику эталонов легко собрать по соревнованиям самых сильных ОФИЦИАЛЬНЫХ игроков + ОФИЦИАЛЬНЫХ ботов). :)
     
  8. VaVa

    VaVa Member

    Публикаций:
    0
    Регистрация:
    21 авг 2018
    Сообщения:
    34
    как-то неудачно назвал тему...
    меня больше интересуют платформ-независимые приёмы (API можно перехватить и некоторые функции CPU неработают на ARM скажем)
    вобщем-то хотелось не зависеть от буржуйских технологий
    как-то ArtMoney зря упомянул...
     
  9. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    UbIvItS,

    > чит в идеале == нейронная сеть

    У аверов с их огромными базами сигнатур не получилось. А ведь датасет же годный!?

    VaVa,

    > как-то ArtMoney зря упомянул...

    У этого инструмента задача искать изменения в памяти. Значение можно разложить на сколь угодно компонент, абстрактно если говорить то значение может быть любой размерности и не линейным в памяти(те в разных местах находится).

    Ну а защита от реверса - лучший способ это виртуализация. Если просто морф, то это чистится/сворачивается автоматикой. Но если новая архитектура(интерпретация или вирт), то придётся реверсить саму вирт машину.

    Антидебаг это вообще детская затея. Может мешать замеры по таймингу, но это всё очень быстро и просто обнаруживается и обходится.
     
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    а при чём тут аверы??? у них задача не столько решать задачу, сколько делать вид её решения :laugh1::laugh1::laugh3:
    если антидебаг просто обнаруживает сам факт отладки и тихо записывает его в локальный файлик (иль ещё лучше стучит на сервач), а потом обрушивает прогу в самый неподходящий момент == хммм.. такую п@длянку не так уж и просто обойти :grin:
     
    Последнее редактирование: 27 фев 2020
  11. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    UbIvItS,

    Прямо причём, база их это огромный датасет. Вот только учитывая что ии это лишь полином и механизм поиска подобий он не применим для логических задач. Ответь это тут.. была рядом тема, но видимо уже нет.)
     
  12. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    если быть точней, это унылая мусорка и аверы уЖО не могут пользовать толком всё это ХЪ@внище, пч ОНО просаживает далеко не самые слабые компы + абсолютно бесполезно супротив зеродеев. теперь в основном пользуют поведенческий анализ.
     
  13. VaVa

    VaVa Member

    Публикаций:
    0
    Регистрация:
    21 авг 2018
    Сообщения:
    34
    а можно поподробнее???

    изучить новый набор инструкций по программе интерпретатора не так уж и сложно (может даже угробив пару дней и инструменты на каленке под них напишут)
     
  14. VaVa

    VaVa Member

    Публикаций:
    0
    Регистрация:
    21 авг 2018
    Сообщения:
    34
    неужели никто хитрых приёмов не подскажет...
    кстати ещё один прикол - запихивать в стек код(или в кусок из кучи) и пыгнуть туда (для многопотока хорошо если константы вставлять...)
     
  15. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    VaVa,

    Кто же даст выполнить код на стеке, может в линях такое и сработает.. ;)
     
  16. VaVa

    VaVa Member

    Публикаций:
    0
    Регистрация:
    21 авг 2018
    Сообщения:
    34
    нет либо в параметрах линковки либо какой-то аналог VirtualProtect ... возможно и на Android можно что-то пофиксить