Сегодня господин новорег 0x00 NULL предложил решение проблемы выбрасывания из игры в GeForce Now спустя 15 минут простоя. Однако, ни предоставлять исходники, ни объяснять принцип работы своего творения, он по какой-то натянутой причине не захотел, предлагая поверить в безопасность его программы на слово, подавая это как нечто эксклюзивное и прорывное. И это при не очень хорошей репутации у антивирусов и сомнительном поведении программы.
Более того, активное пропихивание его группы ВК как в посте, так и в самой программе (принудительный редирект при каждом запуске) окончательно отбивает всякое желание пользоваться его продуктом интеллектуального труда.
Всё это сподвигло меня предложить вам более прозрачный способ решения данной проблемы.
Внимание особо впечатлительным, возможно присутствие быдлокода!
Благодаря наводке от Vladimir Holmston, выяснилось, что всё что делает программа от 0x00 NULL при взаимодействии с GFN, это отсылает в окно лаунчера клавиши F13 и, возможно, IME, которые не существуют в физическом виде в подавляющем большинстве клавиатур.
Это объясняет всю "магию" того, почему программа не мешает игровому процессу - на эти клавиши никто не назначает никаких действий.
Проверка кейлоггером это подтвердила, а также показала, что ПО тупо спамит F13 каждую секунду - ровно 10 нажатий за 10 секунд, а также не проверяет отсутствие активности пользователя - кнопки нажимаются всегда, даже во время игрового процесса.
Но ЗОЧЕМ так часто, если GFN требует проявлять активность лишь раз в 15 минут?
Также это дало основания полагать, что у GFN нет никаких умных проверок на активность - ни на движение мыши, ни на одинаковые промежутки между нажатиями клавиш и т.п, что упрощает задачу.
Исходя из этого, наиболее близкое, но прозрачное решение можно получить таким образом:
1. Ставим AutoHotKey (для тех кто в танке: статья на Вики, исходники на Гите)
2. Копируем в блокнот:
3. Сохраняем в формате .ahk
4. Запускаем получившийся файл. По желанию добавляем в автозагрузку
Результат
Интерфейс максимально простой - его нет. Он нам на*уй не нужон, интерфейс ваш. Вам не нужно выбирать процесс игры запущенной в GFN - всё определяется автоматически. Просто либо добавляете программу в автозагрузку, либо запускаете ее вручную.
При отсутствии вашей активности за ПК в течение 5 минут, если не трогаете клаву и мышь (спасибо Elendiar за подсказку), а также при наличии активного окна GeForce NOW, скрипт будет раз в 1 минуту нажимать клавишу F13 и на всякий случай одну из IME.
Когда вы играете, используете ПК, или если окно GeForce NOW неактивно, то никакие клавиши нажиматься не будут.
Частоту нажатия фейковых клавиш, а также таймер отсутствия активности вы можете регулировать по желанию в значениях Sleep и A_TimeIdle (см. комментарии в коде). Но я не заметил никаких проблем и при текущих значениях. По моим замерам, по умолчанию из игры выбрасывает через 15 минут бездействия. С активным скриптом игра продержалась 30 минут, дальше тестировать не стал.
Итого мы имеем 6 строчек кода, все команды ясны и прозрачны - обычный кликер, и не надо изобретать велосипед.
А что там у нашего товарища?
UI класс со всеми функциями занимает ~200 строк кода. Код библиотеки занимает ~40 строк кода. Додумайтесь как реализовать подобное и выкладывайте пожалуйста в открытый доступ свои сурсы.
Я придумал способ которым могу обходить кик за афк, зачем мне делать этот способ общедоступным ?
Не совсем обычный кликер, данный способ эмулирования активности пользователя никак не влияет на комфортную игру
Правильно воспользоваться API так чтобы GFN подумал, что ты реальный человек - это нечто другое, чем просто тупое использование какой-то функции. Там нужна логика и прочее.
Если данный вариант пофиксят, тупо запретив использование несуществующих клавиш, или добавят каких-то дополнительных проверок, то есть запасное, менее изящное, но как мне кажется, более надежное решение - его вряд-ли можно как-то запретить:
Также как и в первом варианте, скрипт будет ожидать отсутствии вашей активности за ПК в течение 5 минут, и наличие активного окна GeForce NOW, с той лишь разницей, что по истечении этого времени, вместо F13 он будет рандомно каждые 1-2 минуты нажимать клавиши W, S с рандомной продолжительностью и двигать мышкой на рандомное расстояние и с рандомной скоростью, что в теории должно казаться более человечным поведением для GFN. В этом случае вы будете видеть как ваш персонаж "дергается" при неактивности.
Не ну это конец. Судя по тому, что говорил автор оригинального фикса, сейчас произойдут 2 вещи (еще до того, как я допишу свой коммент).
Во-первых, ГФН сразу выкатит фикс.
Во-вторых, у тебя украдут код. Он явно пойдет в основу новой операционной системы. Убийцы виндоус. Ну или вроде того.
Посмотрел ту тему. Это пиздец. Какой-то школьник открыл для себя C#, и аж для целой программы в 100 КБ создал группу в ВК.
Причём преподносит какой-то элементарный кликер как прорыв в разработке, исходный код открывать нельзя, иначе корпорации и школьники украдут код и наводнят рынок платными версиями софта, а GFN уже отослала к нему пять крепких японцев, пачку судебных исков и в поте лица кодит заплатку, дабы заделать такую дыру, найденную автором. Смех, да и только.
Многолетний будильник
200 строк для описания графического интерфейса и логики обработки нажатий кнопок это чисто копейки, тут нечему удивляться
Дык тут суть поста именно в том, что утром тут какой-то очень мутный чел выложил свою прогу с аналогичным функционалом, но при этом наотрез отказался рассказывать, как она работает, и выкладывать исходники, придумывая для это оправдания одно удивительнее другого.
А это не то, это вот это, это уже нормально сделано.
Кстати, сейчас тут применил свои дико ограниченные знания гидры, и путём декомпиляции DLL выяснил, что прохрамма того маминого программиста делает даже меньше, чем эта, лол.
Но это не считая потенциальных вредоносных действий. Но их обнаружить мне (лично мне, я реверс-ынжыниренге вообще не разбираюсь) пока что не удалось, кто-то другой, наверное, будет более успешен в этом плане.
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Посмотрите bahavior exe файла (он на .Net кажется, я с телефона).
https://www.virustotal.com/gui/file/a87bf9bbf18f2021a166fbfa460ae772e36c08ab22ca475228db65cb605447f7/behavior
Вопросы заданы:
У меня, вроде, с WMP он никак не взаимодействовал. Может, просто повезло.
Зато выяснилось, что оно за каким-то половым органом лезет в настройки интернета и в кэш и настройки IE.
Обнаружил прикол сейчас, оффтоп:
Решил прослушать статью, но говорилка зачитывала не совсем то, что написано, а будто чуть более раннюю версию текста. Интересно.
если это тот самый 0х00 - то это один из разрабов пикабу, в целом лет 5 назад делал довольно годные штуки (есть посты на пикабу)
Нет ничего связанного с играми, чего бы я не сделал в AHK, топ программа.
Комментарий удален
Комментарий удален
Комментарий удален
У Razer на клавиатурах есть функция, что при нажатии будет детектиться несколько нажатий в секунду, от одного до 20. Проверял в играх с оружием, что стреляет по нажатию, не зажимное. Стреляло, будто нажимаю, хотя просто зажал. Если у кого клава от Razer или тех, у кого в софте такое предусмотрено - можно и карандаш
Я сразу написал, что там по-любому sendkey обычный. LOL n00b
Не совсем в тему, но я только что узнал про F13. Не используя кода, я как-то могу её нажать? Хочу навешать её на G-клавишу клавиатуры (Cougar 500K), но не знаю, как её запихнуть в макрос кугаровской программы.
активным это значит прям открытым? или оно может быть за окном хрома например?
(ну а вдруг...)
Что такое гфн, во что там играют, за что там кикают и зачем нужно оставатся в онлайне?