Перейти к содержанию

Ищу наставника


Рекомендуемые сообщения

Нужна помощь, во взломе одной игры, запуск которой осуществляется под эмулятором андроид девайса.

У игры имеется античит.

Просьба скорее всего звучит дико, но я ищу человека, который научит разбираться в таких делах, посредством общения в дискорде. Так как я новорег, сразу залететь в дискорд канал ко всем и там оставить свой запрос у меня не вышло, по этому что бы не создавать подобную тему в неправильных разделах форума, решил создать ее здесь.

Уже пытался искать значения и указатели в игре, но вышло у меня так скажем - плохо.

С программированием у меня откровенно говоря - никак, но стараюсь быстро учится, поглощаю всю возможную информацию с форума, и из видео участников форума, но к нужным мне ответам я так и не приполз.

Повторюсь, что хоть моя просьба и дикая, но мне очень нужен наставник. Буду признателен почти за любую помощь. Буду очень рад, если кто нибудь в свободное время сможет уделить мне внимание.

Изменено пользователем TheShaDowS
  • Понравилось 2
Ссылка на комментарий
Поделиться на другие сайты

Запрос прямо душу греет. К сожалению, я вряд ли смогу чем-то помочь, в силу своей загруженности работой. Но, надеюсь, среди наших участников найдется кто-то, кто сможет давать консультации в реальном времени. Пока же рекомендую описать максимально подробно, что за игра, ее логику, какой эмулятор используется, как пытался искать значения, как игра на это реагировала. В общем, предоставить максимум информации, исходя из которой мы постараемся помочь. 

 

ЗЫ. В дискорд чате на общем канале мы не обсуждаем взлом (только в личке). Чат просто для общения. Так решено по следующим причинам:

1. Форум станет не нужен.

2. Если несколько человек одновременно начнут обсуждать взлом, станет очень легко запутаться в том, кто кому отвечал. 

3. В чате история не хранится, следовательно, после обсуждения сведения (возможно, ценные) будут утеряны.

 

Ссылка на комментарий
Поделиться на другие сайты

Игра FPS, точнее говоря - Pubg mobile. Насмотрелся видеороликов от уважаемого камрада Кенга, про написание ESP хака, на примере КС, и решил запилить свой, с измерением расстояния до врагов, показанием здоровья, и возможно с прорисовкой скелета персонажа.

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

Искал значения HP моего персонажа(float, неизвестное, прыгал с дома в игре что бы отнимать здоровье, а потом лечился, и соответственно выставлял в в какую сторону изменилось значение,что бы потом через массивы расковырять) ну и в общем нашел, но вот дальше - указатели, совсем куда то не туда мне указывают и массивы со значениями позиций игроков я так и не смог найти. Я так полагаю что это из за того, что я мучаюсь с поиском значений в эмуляторе.

Поиск значений - CE, через неподписанный драйвер.

Эмулятор - официальный от разработчиков игры - Tencent Gaming Buddy.

Вроде ничего еще толком не сделал, а уже застрял. Как то на русском языке не нашел информации для написания хака под эмуляторы андроид.

К слову говоря - как лучше всего внедрять хак, я так и не придумал, в силу того что D3D hook для меня пока что сложно, а у поверхоконного, куча подводных камней.

Изменено пользователем TheShaDowS
  • Понравилось 2
Ссылка на комментарий
Поделиться на другие сайты

Вот, как надо предоставлять информацию! Спасибо ) Даже лайк поставил ) 

 

 

8 минут назад, TheShaDowS сказал:

Поиск значений - CE, через неподписанный драйвер.

Хм. Немного не понял, зачем неподписанный драйвер. По идее, он пригождается, когда делаешь поиск в физической памяти, а не в памяти выбранного процесса. Ну да ладно.

 

9 минут назад, TheShaDowS сказал:

ну и в общем нашел

То есть, здоровье замораживается, и герой становится бессмертным? Если да, то можно попробовать поискать инструкции, работающие с этим адресом. Как-то же оно транслируется из кода эмулятора в код платформы. Возможно, получится заменить именно в эмуляторе код. Да, это привяжет чит к эмулятору, но пока других вариантов не вижу, это надо игру смотреть. К сожалению, в PUBG я не играю, тем более, в мобильную версию. Надеюсь, у нас на форуме найдутся ребята, которые в нее играют. Я же могу помочь только общими советами...

Ссылка на комментарий
Поделиться на другие сайты

47 минут назад, Xipho сказал:

То есть, здоровье замораживается, и герой становится бессмертным? Если да, то можно попробовать поискать инструкции, работающие с этим адресом.

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

46 минут назад, Xipho сказал:

Да, это привяжет чит к эмулятору

Именно это мне и нужно.

49 минут назад, Xipho сказал:

Немного не понял, зачем неподписанный драйвер.

Где то прочитал, что для эмуляторов на андроид это нужно. Ну ищет и хорошо.

 

52 минуты назад, Xipho сказал:

Надеюсь, у нас на форуме найдутся ребята, которые в нее играют.

Ладно, буду ждать того единственного.

 

Ссылка на комментарий
Поделиться на другие сайты

Как я понял - ARM, это все что мне известно. На моем нексусе 5, с архитектурой armv7 пашет.

Цитата

Андроид 4.3+, 2 ГБ ОЗУ, OpenGL 3.0. Официальная поддержка intel отсутствует. Конкретной зависимости от модели процессора нет. На некоторых прошивках игра стартует, но пойдёт ли у вас выяснейте эмпирическим путём.

 

Ссылка на комментарий
Поделиться на другие сайты

34 минуты назад, TheShaDowS сказал:

Как я понял - ARM

 

Для начала тебе надо собрать всю возможную информацию об игре, использует ли она виртуальные таблицы или нет, если да это на много облегчит поиск структуры игрока, так же посмотреть интересные строки что-то типа типа vecPos ,Position, ndvec3, Origin. И здоровье не самое лучше значение для поиска в играх где есть онлайн, иногда оно не стабильно и само себя перезаписывает с погрешностью +- 0,001. Так же стоит обратить внимание на отладочный строки. О, и еще на ошибки типа "игрок %s отключен " или типа того

Ссылка на комментарий
Поделиться на другие сайты

Я знаю о ней такие вещи:

Она на движке Unreal Engine 4

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

На телефоне она реализована под OpenGL.

С виртуальными таблицами я пока что не разобрался, многовато информации за последние сутки, буду разбираться. 

Изменено пользователем TheShaDowS
Ссылка на комментарий
Поделиться на другие сайты

11 минут назад, TheShaDowS сказал:

Она на движке Unreal Engine 4

 

11 минут назад, TheShaDowS сказал:

У меня есть сдк

 

Это замечательно, ты можешь по sdk восстановить смещения до структуры игрока от статического адреса мира. (UWorld)
http://api.unrealengine.com/INT/API/Runtime/Engine/Engine/UWorld/index.html

 

Ссылка на комментарий
Поделиться на другие сайты

Короче, я тут лазил по забугорным форумам, и нашел одного камрада, который понимает в мобильном UE4.

Я выяснил что в мобильном движке имеются такие понятия как Gworld, Fname, Gname. Это мало что мне дало, но собственно по этому я и здесь. 

Немного потолковав с ним, он мне выдал вот это:

Цитата

 

Fname это легкая строковая система UE4. UE4 не использует std :: string они имеют две строковые системы - FName & FString. При создании игры UE4, если код игры содержит строку FName он действительно не сохраняет строку непосредственно в сборке сгенерированной, вместо этого они заменяют строку идентификатором и необходимо сопоставить идентификатор с реальной строкой в карте GNames, поэтому GNames в основном сохраняет все важные строки, которые вам понадобятся. .Например, вы хотите отфильтровать только модели игрока обычно вам нужно будет фильтровать модели по их именам, как в PUBG Mobile. Имя модели игрока - BP_PlayerPawn_C но вы не получите эту строку непосредственно в классе модели игрока вы получите только идентификатор FName, как я сказал ранее, поэтому вам нужно сравнить этот идентификатор с реальной строкой в GNames поэтому вам нужны GNames.

Прошу кого нибудь, мне это немного разжевать.

Ссылка на комментарий
Поделиться на другие сайты

Давай попробую. Объяснение абстрактное:

Есть некий класс/структура GNames, в которой лежат все строки.

Есть класс игрока, который содержит имя его модели.

Но в этом классе прописана не сама строка модели, а ссылка на эту строку в классе GNames.

И вот FName в классе игрока и есть эта самая ссылка на строку в классе GNames.

Ссылка на комментарий
Поделиться на другие сайты

15 минут назад, Xipho сказал:

Давай попробую. Объяснение абстрактное:

Есть некий класс/структура GNames, в которой лежат все строки.

Есть класс игрока, который содержит имя его модели.

Но в этом классе прописана не сама строка модели, а ссылка на эту строку в классе GNames.

И вот FName в классе игрока и есть эта самая ссылка на строку в классе GNames.

Окей, хорошо, а как это искать все? Открывать CE, просматривать память и поиском по тексту разбирать?

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, TheShaDowS сказал:

а как это искать все? Открывать CE, просматривать память и поиском по тексту разбирать?

Как вариант. Найдя имя, ты выйдешь на экземпляр класса GNames, и потом обратной трассировкой, или поиском адреса строки можно будет найти, что ссылается на нее, и таким образом выйти на экземпляр класса игрока.

Ссылка на комментарий
Поделиться на другие сайты

Я попробовал разобраться сам, но видимо в связи с моим малым уровнем осведомленности - не вышло.

2 часа назад, Xipho сказал:

Найдя имя

BP_PlayerPawn_C? Это имя? Я нашел сначала одно, а после входа в матч - три, но что делать дальше, я не понял.

 

2 часа назад, Xipho сказал:

потом обратной трассировкой, или поиском адреса строки

Туториал бы какой-нибудь, а то я как то не въехал совсем, куда нажимать, что бы было круто.

 

Ссылка на комментарий
Поделиться на другие сайты

34 минуты назад, TheShaDowS сказал:

Туториал бы какой-нибудь, а то я как то не въехал совсем, куда нажимать, что бы было круто.

Тяжело быть первооткрывателем, в инете есть инфа по всему что тебе нужно, но надо её найти и собрать в единое целое чтобы понять как это устроено, вот для этого я и предложил тебе искать всю информацию по игре и движку в целом. На данном этапе тебе надо понять устройство движка, ты ведь говорил, что у тебя есть sdk, вот и ищи в нем все что связано с классом игрока, где класс инициализируется, какие строки/ошибки/логи содержат функции этого класса и любые мелочи которые позволят тебе выйти на нужный класс. так же советую почитать разные блоги и статьи на тему виртуальных таблиц, виртуальных функций и их устройство на более низком уровне, у меня в блоге была ссылка на статью.

Ссылка на комментарий
Поделиться на другие сайты

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

Так как я не программист, я гляжу в этот СДК, как баран на новые ворота, и мало что в нем понимаю. О таких вещах, как классы в играх, я вообще узнал позавчера, вот я и спрашиваю всякую чушь.

В общем пойду немного угомоню свой пыл, и потихоньку начну копать глубже.

виртуальных функций и их устройство на более низком уровне, у меня в блоге была ссылка на статью.

Скинь ссылку, если не сложно, 

Изменено пользователем TheShaDowS
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.