я не понимаю в этом ничего, но интересно, что конкретно там в памяти редактируется? и главное зачем? я как не сведущий представляю себе это так: сторонняя прога тихонько забирается в память игры, копирует оттуда память, выносит её и уже у себя там с ней делает все что можно, чтобы добыть информацию и оформить её в удобоваримом виде для игрока. прошу объяснить на пальцах если это возможно
Ты не поверишь, но тот же абуз заточек происходил вообще только через внутриигровую механику, вообще без незаконного вмешательства через правку памяти/MitM с пакетами.
память не выносится никуда, внтуренняя память прочесса это большая куча бессмыленных цифр, разобраться в которых может только процесс-хозяин. Вне его ценность этой информации нулевая. Хакеры разбираются с внутренним с устройством процесса(программы), находят ответ на вопрос - в какой ячейке той самой памяти программа хранит HP игрока. Ответ выглядит примерно так получить этот ответ - есть самая хитрая и сложная часть. Дальше дело техники - опрашивать эту ячейку по таймеру, когда значение стало маленькое - послать в процесс сообщение что на клаве нажата Esc (появится менюшка), затем так же "как бы" кликнуть на логаут. Получился автологаут.
Тем не менее, создать уязвимость, при которой для дюпа и прочих махинаций со шмотом нужно лезть в мемори клиента - возможно разве что специально. Ну например, у тебя есть 5000 нр и ты хочешь чтобы на 50% нр срабатывал автологаут. Скрипт лезет в мемори, находит ячейки в которых хранится твое текущее и максимальное нр персонажа, выносит в переменные оба значения (и обновляет эти переменные в реальном времени), получает соотношение, если нр меньше 50%, то изменяет в клиенте значение "в игре" на значение "в меню". Аналогично с автофласками и прочим (разве что пьет он фласки нажатием клавиш на клаве, остальное так же). Конкретно в пое самая большая проблема не найти ячейку, а собрать для нее цепочку оффсетов, так как положение ячеек постоянно изменяется даже в пределах одной локации. Если интересно подробнее, гугли, например "cheat engine как ломать игры". У самого cheat engine даже есть встроенное обучение. Только учти, что редактировать большинство значений в сервер сайд играх бесполезно.
да хоть 3 фпс, в чем проблема? Когда мышкой рулит скрипт (человек не должен прикасаться к мышке в это время, вместе у них чего хорошего не выйдет) , когда рулит скрипт, пофиг сколько там фпс. Когда рулит человек, тогда скрипт должен помалкивать. Верю что ты пробовал и что не получилось, но по-моему причину приводишь не ту. Какое действие ты автоматизировал? PS с 30 фпс в своё время играли в квейк и вполне получали удовольствие )
Автопоты и автологаут. Проверка по цвету пикселей на нр/мана баре. Проблема в том что если проверять цвет пикселя хотя бы 5 раз в секунду, это дает минус 10-20 как минимум, если реже то это бессмысленно. Плюс ко всему сам логаут часто фейлится, приходится добавлять дополнительные проверки, это еще -фпс.
5 раз в сек это sleep(200) - большая такая пауза. как можно затормозить CPU такими редкими набегами на него ? Даже полный скриншот 24" экрана у меня занимает 30мс (с++), в этой же задаче надо всего несколько пикселей считать.. на ahk - PixelSearch, Px, Py, x1, y1,x2,y2, color, 2, Fast Можно даже считывание уровня хп сделать - Делаешь регион прямоугольный шириной один пиксел, высотой равной красному кругу с ХП, проходящий через центр этого круга. За один вызов PixelSearch ищешь точку серогокрасного цвета внутри этого региона. Как высоко она нашлась - столько хп осталось. - правда сам я это не проверял. Но все это должно летать, я почему-то свято верю в это. логаут фейлится? в ahk вроде было блокирование средств пользовательского ввода - ну да BlockInput, после этого фейлиться там нечему по-моему
Можно, но бессмысленно. Проще скопировать цвет одной точки (на лоу нр) в переменную, и цвет этой точки с переменной сравнивать. Если отклонение - логаут. Только на практике это нихрена не простой и стабильный способ, скрипт через мемори намного лучше, в него можно добавлять что угодно и он будет так же стабильно работать и совсем не нагружать систему. Не помогает. Точнее помогает, но через раз.
спасибо, кэп, это как бы очевидно. В контексте разговора об огромном проседании fps на простой задаче определения лоулайфа, я привёл пример даже более сложный случай: не качественная, а количественная оценка хп делается за _один_ нетормозящий вызов ahk. Но все равно спасибо, теперь знаю как автологаут делать, тем более что на 2 сообщения выше сначала я об этом один раз уже писал камраду Meamir-у, а затем и ты =)