Автор Тема: В каких играх вам помогает Clickermann?  (Прочитано 307 раз)

0 Пользователей и 1 Гость просматривают эту тему.

James

  • Освоившийся
  • **
  • Сообщений: 45
    • Просмотр профиля
В каких играх вам помогает Clickermann?
« : Январь 14, 2019, 08:11:13 pm »
Всем привет! Призадумался я, что хочется во что - то поиграть, но, так скажем, "по нашему", т.е по максимуму автоматизировать процесс игры. Но поскольку хочется, чтобы сама игра вызывала интерес, а не просто любую взял на угад и сделал, я решил создать тему на форуме, вдруг кто - нибудь решит поделиться и будет из чего выбрать :)
Естественно без конкретики, никаких ников, названий серверов и прочего, ваша анонимность и безопасность не должна быть забанена =)
Как говорится, хочешь что - то узнать - начни с себя ;)
На данный момент я лишь в поисках, что - бы такого автоматизировать, но из прошлых лет, скажем так, я пользовался:

Lineage 2: Первая игра, в которой я написал первый скрипт на Clickermann'e, в то время на руофф не было средств автоматизации как таковых, а те, что были, могли организовать тебе бан за пару часов. Скрипт был относительно простой, но длинный, с кучей повторов и лишнего кода, в силу умений новичка. Скрипт был написан днем, а на ночь оставили с другом персонажей на прокачку. Утром увидели очень хороший буст! Было приятное чувство, с тех пор Clickermann на постоянной основе остался на компе, а спустя пару лет сподвиг меня изучать и другой язык программирования.
Так же, с поднятием "умений" был написан скрипт на заточку, на голосование за персонажей на MMOTOP и еще парочку мелочей, которые смутно помню :)

Shop Heroes: Игра, которая завязана на крафте оружия и доспехов, доступна в стим и функционирует на данный момент. Написал скрипт, который на аукционе мгновенно выкупал предмет выставленный либо по ошибке, либо в спешке, либо просто по очень низкой цене. Позволяло при удачном выкупе заработать дневной заработок профессионального игрока, знающего игру досконально, даже не находясь у компа =) Потом как - то надоело и я забил.

Clicker игры: Не спроста же Clickermann! В их числе и Clicker Heroes, собирал алмазы, как только они появлялись на экране в рандомное время, давало очень и очень хороший буст

Какая - то игра про дрэг гонки в ВК: Скрипт мониторил обороты двигателя и автоматически проезжал трассу, переключая передачи, получилось у меня из рук вон плохо, в последствии было забито :)


Это навскидку, наверняка я делал что - то еще, но уже не помню. Из того, что на слуху, люди делают еще скрипты на

Dark Orbit: Собирают какие - то коробки или что - то такое

World of Warcraft: В основном видел о рыбалке

Clash of Clans: Там вообще вплоть до полной автоматизации

Различные "Три в ряд": Тут без комментариев, понятно зачем :)

Counter - Strike: Делают выстрел по цвету пикселя "головы", но это уже из разряда читов  :-\

А в чем он помогает вам? Всем спасибо  :)

ya12

  • Освоившийся
  • **
  • Сообщений: 85
    • Просмотр профиля
Re: В каких играх вам помогает Clickermann?
« Ответ #1 : Январь 15, 2019, 10:08:25 pm »
Leneage 2 - бот с навигацией(зону охоты и путь сам рисуешь) и автовыбором целей в пределах радиуса видимости клиента с учетом не простреливаемых зон.

James

  • Освоившийся
  • **
  • Сообщений: 45
    • Просмотр профиля
Re: В каких играх вам помогает Clickermann?
« Ответ #2 : Январь 15, 2019, 11:00:49 pm »
Leneage 2 - бот с навигацией(зону охоты и путь сам рисуешь) и автовыбором целей в пределах радиуса видимости клиента с учетом не простреливаемых зон.

Ого, это было сделано на чем то кроме кликермана? Жму руку однозначно) А если на нем, то жму руку дважды, мне такое точно не подвластно)
Не расскажешь в двух словах как это организовал? Всегда интересовало такое направление

ya12

  • Освоившийся
  • **
  • Сообщений: 85
    • Просмотр профиля
Re: В каких играх вам помогает Clickermann?
« Ответ #3 : Январь 15, 2019, 11:54:28 pm »
БА и смещения нашел в Cheat Engine .Структуру динамической таблицы объектов нашел визуально в ReClass.
Программирование Кликерман со вставками DLL на Дельфи. Алгоритм расчета угла поворота нашел в сети. С некоторыми расчетами помог Dramster.
Из-за того что CALL возвращает данные в одну глобальную переменную, данные перехватываются не теми потоками. Почти весь поток автовыбора целей переписываю в DLL на Дельфи, а из остальных потоков наоборот в Кликерман.

зы AutoIT - поиск адреса загруженной в память игры DLL. Яндекс диск - удаленное вкл/выкл скриптов.
RamDisk - ускоренное чтение файлов.

зы2 Слона надо есть кусочками.
« Последнее редактирование: Январь 16, 2019, 09:27:41 am от ya12 »

James

  • Освоившийся
  • **
  • Сообщений: 45
    • Просмотр профиля
Re: В каких играх вам помогает Clickermann?
« Ответ #4 : Январь 16, 2019, 01:34:37 pm »
БА и смещения нашел в Cheat Engine .Структуру динамической таблицы объектов нашел визуально в ReClass.
Программирование Кликерман со вставками DLL на Дельфи. Алгоритм расчета угла поворота нашел в сети. С некоторыми расчетами помог Dramster.
Из-за того что CALL возвращает данные в одну глобальную переменную, данные перехватываются не теми потоками. Почти весь поток автовыбора целей переписываю в DLL на Дельфи, а из остальных потоков наоборот в Кликерман.

зы AutoIT - поиск адреса загруженной в память игры DLL. Яндекс диск - удаленное вкл/выкл скриптов.
RamDisk - ускоренное чтение файлов.

зы2 Слона надо есть кусочками.
Очень круто, спасибо большое за описание)

James

  • Освоившийся
  • **
  • Сообщений: 45
    • Просмотр профиля
Re: В каких играх вам помогает Clickermann?
« Ответ #5 : Январь 23, 2019, 06:58:23 pm »
БА и смещения нашел в Cheat Engine .Структуру динамической таблицы объектов нашел визуально в ReClass.
Программирование Кликерман со вставками DLL на Дельфи. Алгоритм расчета угла поворота нашел в сети. С некоторыми расчетами помог Dramster.
Из-за того что CALL возвращает данные в одну глобальную переменную, данные перехватываются не теми потоками. Почти весь поток автовыбора целей переписываю в DLL на Дельфи, а из остальных потоков наоборот в Кликерман.

зы AutoIT - поиск адреса загруженной в память игры DLL. Яндекс диск - удаленное вкл/выкл скриптов.
RamDisk - ускоренное чтение файлов.

зы2 Слона надо есть кусочками.

Тоже сейчас копаю по поводу поиска структур. Не подскажешь правильный алгоритм действий, чтобы найти структуру игрока например?
Я делаю вот так(по видео с YouTube):
1.Нахожу адрес значения, например, HP, или атаки, или чего - нибудь связанного с игроком
2.Смотрю, что обращается по этому адресу, там вижу смещение. По видео в ютубе было сказано, что это якобы смещение до структуры
3.Вычитаю из найденного адреса HP найденное смещение, получаю некий адрес. В теории это должен быть адрес структуры же, да?
4.Захожу в ReClass, выбираю процесс, нажимаю новый класс, там в самом начале вставляю адрес который получил в п.3
И в итоге ничего не получаю, голову сломал. Подскажи, пожалуйста, как правильно и где мои ошибки, был бы очень признателен, спасибо!

ya12

  • Освоившийся
  • **
  • Сообщений: 85
    • Просмотр профиля
Re: В каких играх вам помогает Clickermann?
« Ответ #6 : Январь 23, 2019, 10:43:43 pm »
Структуры бывают разные. Для линейки это:
Указатель на начало таблицы объектов(ТО) +4 байта счетчик объектов в приделах видимости клиентом(СЧ) <- для нахождения в тихом месте ищешь неизвестное значение, загружаешь второго перса - СЧ увеличился, отсеиваешь и тд.
Когда нашел адрес СЧ, в CE переходишь к поиску указателя на адрес (их будет много). После перезагрузки клиента ищешь адрес снова, потом в поиске указателя загружаешь предыдущие результаты и отсеиваешь новый адрес. И так несколько раз. В итоге останутся только устойчивые цепочки БА+смещения ведущие к СЧ.

В Reclass начинаешь заполнение структуры от БА+первое смещение (обычно считают от engine.dll, кое что удобней искать от NWindow.dll). На указатель на начало ТО ставишь pointer. Переходишь туда. А там сразу видно что записи повторяются с шагом в 3 строчки по 4 байта каждая.
1 неизвестно
2 ID объекта
3 указатель на начало структуры объекта.
Индексация объектов идет от 0 до СЧ-1(здесь указатель на структуру перса). Если количество объектов уменьшилось все записи после удаленного объекта сдвигаются на -1 индекс, а в конце таблицы остается мусор в виде повторов последней записи. По умолчанию в начало ТО пишутся объекты надетые на перса.

В ТО объекты разнотипные и струкура у них разная. Вещи перса и дроп не разбирал. Перс, игроки, мобы, npc - одинаковая структура, но полная инфа заполняется только по персу(его и опишу), кое что заполняется по таргету.
Первый переход - непонятно что, но есть какие то указатели. Ставим pointer везде где похоже на указатель, смотрим куда ведет.

Первый же указатель идет в структуру USER(тип, ID, Имя, HP, MP, CP, указатель на AActor)
В структуре AActor указателя обратно в USER нет, есть ID, XYZ координаты камеры от 3-го лица, текущие координаты в клиенте, координаты где стоит или куда бежит (мышкой ткнул) - передаются с сервера, указатель на структуру AActor серверный.
В нем записываются координаты пришедшие с сервера(локальных нет) и если выбрана цель указатель на AActor цели. Выбрал себя свой AActor, выбрал моба - AActor моба из ТО.

Это путь от общего к частному.
Ты ищешь от частного к общему. Он нужен что бы знать в какую область адресов в Reclass визуально искать указатель или цепочку указателей.

А еще в CE формулы смещений можно вытащить из дизассемблера и данных регистров. Но цепочка смещений может уйти в динамический массив. Поэтому нужен Reclass.

В видео разбирается самый простой случай. Без динамических массивов и от БА не больше 5 смещений. При 6 смещениях автоматический поиск может занять пол часа (результат миллионы комбинаций). При полностью ручном устанешь искать концы к БА.
На ручнике удобно отсеять последнее смещение (получить начало структуры+смещение=HP). И на автомате искать не HP, а начало структуры.

James

  • Освоившийся
  • **
  • Сообщений: 45
    • Просмотр профиля
Re: В каких играх вам помогает Clickermann?
« Ответ #7 : Январь 23, 2019, 11:35:19 pm »
Структуры бывают разные. Для линейки это:
Указатель на начало таблицы объектов(ТО) +4 байта счетчик объектов в приделах видимости клиентом(СЧ) <- для нахождения в тихом месте ищешь неизвестное значение, загружаешь второго перса - СЧ увеличился, отсеиваешь и тд.
Когда нашел адрес СЧ, в CE переходишь к поиску указателя на адрес (их будет много). После перезагрузки клиента ищешь адрес снова, потом в поиске указателя загружаешь предыдущие результаты и отсеиваешь новый адрес. И так несколько раз. В итоге останутся только устойчивые цепочки БА+смещения ведущие к СЧ.

В Reclass начинаешь заполнение структуры от БА+первое смещение (обычно считают от engine.dll, кое что удобней искать от NWindow.dll). На указатель на начало ТО ставишь pointer. Переходишь туда. А там сразу видно что записи повторяются с шагом в 3 строчки по 4 байта каждая.
1 неизвестно
2 ID объекта
3 указатель на начало структуры объекта.
Индексация объектов идет от 0 до СЧ-1(здесь указатель на структуру перса). Если количество объектов уменьшилось все записи после удаленного объекта сдвигаются на -1 индекс, а в конце таблицы остается мусор в виде повторов последней записи. По умолчанию в начало ТО пишутся объекты надетые на перса.

В ТО объекты разнотипные и струкура у них разная. Вещи перса и дроп не разбирал. Перс, игроки, мобы, npc - одинаковая структура, но полная инфа заполняется только по персу(его и опишу), кое что заполняется по таргету.
Первый переход - непонятно что, но есть какие то указатели. Ставим pointer везде где похоже на указатель, смотрим куда ведет.

Первый же указатель идет в структуру USER(тип, ID, Имя, HP, MP, CP, указатель на AActor)
В структуре AActor указателя обратно в USER нет, есть ID, XYZ координаты камеры от 3-го лица, текущие координаты в клиенте, координаты где стоит или куда бежит (мышкой ткнул) - передаются с сервера, указатель на структуру AActor серверный.
В нем записываются координаты пришедшие с сервера(локальных нет) и если выбрана цель указатель на AActor цели. Выбрал себя свой AActor, выбрал моба - AActor моба из ТО.

Это путь от общего к частному.
Ты ищешь от частного к общему. Он нужен что бы знать в какую область адресов в Reclass визуально искать указатель или цепочку указателей.

А еще в CE формулы смещений можно вытащить из дизассемблера и данных регистров. Но цепочка смещений может уйти в динамический массив. Поэтому нужен Reclass.

В видео разбирается самый простой случай. Без динамических массивов и от БА не больше 5 смещений. При 6 смещениях автоматический поиск может занять пол часа (результат миллионы комбинаций). При полностью ручном устанешь искать концы к БА.
На ручнике удобно отсеять последнее смещение (получить начало структуры+смещение=HP). И на автомате искать не HP, а начало структуры.

Ох, вот это мощный ответ!  :) Спасибо большое, за столь подробное описание, очень круто, завтра буду вчитываться и пытаться разобраться, а то сегодня первый день как более - менее серьезно за СЕ сел :)
Не знаешь, можно ли как то отдавать в клиент команды через память, например? К примеру, мы видим моба, хотим взять его в таргет, отправляем что - нибудь куда - то вместо нажатия кнопки и таргет выбирается, или например прожатие атаки в свернутое окно или скилла :)
Или это все пакетный уровень? Там тоже уже вроде другая степь, плюс разносортные защиты, которые еще и расшифровать надо  :(
Еще раз спасибо, ответом очень доволен!

ya12

  • Освоившийся
  • **
  • Сообщений: 85
    • Просмотр профиля
Re: В каких играх вам помогает Clickermann?
« Ответ #8 : Январь 24, 2019, 09:43:15 am »
Если механизм таргетирования прописан в клиенте и ждет подтверждения от сервера - можно.
Если все на сервере - пакетник.

Защита не даст API выполнить команду. Нужен взлом защиты или отправлять команды минуя АРI. Драйвер я точно не напишу. Теоретически можно в памяти проги найти адрес приемника кодов клавиатуры/мыши и писать туда. Но как отловить быстро изменяющиеся данные в памяти я не придумал.

James

  • Освоившийся
  • **
  • Сообщений: 45
    • Просмотр профиля
Re: В каких играх вам помогает Clickermann?
« Ответ #9 : Январь 24, 2019, 06:49:09 pm »
Если механизм таргетирования прописан в клиенте и ждет подтверждения от сервера - можно.
Если все на сервере - пакетник.

Защита не даст API выполнить команду. Нужен взлом защиты или отправлять команды минуя АРI. Драйвер я точно не напишу. Теоретически можно в памяти проги найти адрес приемника кодов клавиатуры/мыши и писать туда. Но как отловить быстро изменяющиеся данные в памяти я не придумал.
Сложновата однако система, спасибо  :D