Гость химик Опубликовано 26 Февраля, 2016 в 09:02 Жалоба Поделиться Опубликовано 26 Февраля, 2016 в 09:02 (изменено) Добрый день. Уже долгое время играю в одну Online MMORPG игру. Для облегчения игры сделал себе игровой бот на основе USB HID клавиатуры на ATmega8. Пару месяцев назад возникла проблема, начала срабатывать система защиты игры. Я считал, что вычислили по тому как клавиатура работала циклично с одинаковым таймингом между нажатиями. Переделал код устройства, добавил несколько режимов работы. Но меня начали снова вычислять. Дело оказалось в том, что система защиты видит нажатие клавиш - но не может определить что за устройство это сделало. Это идентификатор моего устройства: Кроме VID & PID что еще нужно сменить, чтобы устройство определялось как заводская клавиатура? Например такая Вот исходник - HIDKeys.2013-06-04.rar В файле usbconfig.h подправил VID и PID #define USB_CFG_VENDOR_ID 0x4F, 0x1C #define USB_CFG_DEVICE_ID 0x26, 0x00 Но устройство в диспетчере так и отображается со старыми идентификаторами. Пересмотрел все файлы, так и не нашел где еще записан старый идентификатор. Исходник найден был в сети интернет, я лишь изменил условия нажатий клавиш со статического на динамическое так как мне нужно. Изменено 26 Февраля, 2016 в 10:36 пользователем химик Ссылка на комментарий Поделиться на другие сайты Поделиться
Lexter Опубликовано 26 Февраля, 2016 в 12:24 Жалоба Поделиться Опубликовано 26 Февраля, 2016 в 12:24 Сергей, если под "отображается со старыми идентификаторами" вы имели в виду, что VID и PID не изменились, то это значит, что изменение констант в usbconfig.h не приводит к изменению VID и PID в дескрипторах. Смотрите исходник, как формируются дескрипторы. Если вы про название клавиатуры (модель и т.п.), то это передаётся в строковых дескрипторах. В вашей прошивке это может быть вообще не реализовано. Про дескрипторы смотрите на usb.org, hid-устройства. Может, найдёте, где в вашей прошивке изменить/добавить. Насчёт "система защиты ... не может определить что за устройство это сделало" - так в Windows-системе штатно допускается несколько клавиатур, и работают они через общий стек. Я не знаю, как программа может определить, от какого устройства пришёл код клавиши. А вот определить, сколько в системе клавиатур - легко. Может на это защита и реагирует? Отключить штатную и оставить только свою на ATmega8 не пробовали? Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость химик Опубликовано 26 Февраля, 2016 в 12:41 Жалоба Поделиться Опубликовано 26 Февраля, 2016 в 12:41 (изменено) Николай, наверное я неправильно понял проблему. Вот записи в логе, после которых происходит закрытие клиента. 2016-02-25 22:46:17.544 [Main host thread] DEBUG Qt - srcGameExecutorExecutorExecutableFileClient.cpp 265 GGS::GameExecutor::Executor::ExecutableFileClient::handleActivated with exit code 3765269347 real result 1 2016-02-25 22:46:17.549 [Main host thread] ERROR Qt - srcGameExecutorExecutorExecutableFile_p.cpp 258 GGS::GameExecutor::Executor::ExecutableFilePrivate::launcherFinished with error code 1 2016-02-25 22:46:23.451 [Main host thread] DEBUG Qt - srcLibtorrentWrapperAlertHandlersTrackerNotificationHandler.cpp 19 GGS::Libtorrent::AlertHandlers::TrackerNotificationHandler::operator () TrackerNotificationHandler tracker_announce_alert: live (udp://bt.gamenet.ru:6969/?userId=400023000043033300&hash=0b4ced0cd81cc4b580a11fe74fd16392a17117f2) sending announce (started) 2016-02-25 22:46:23.451 [Main host thread] DEBUG Qt - srcLibtorrentWrapperAlertHandlersTrackerNotificationHandler.cpp 19 GGS::Libtorrent::AlertHandlers::TrackerNotificationHandler::operator () TrackerNotificationHandler tracker_announce_alert: live (https://retracker.local/announce) sending announce (started) 2016-02-25 22:46:23.452 [Main host thread] ERROR Qt - srcLibtorrentWrapperAlertHandlersErrorNotificationHandler.cpp 24 GGS::Libtorrent::AlertHandlers::ErrorNotificationHandler::operator () listen_failed_alert: status -1 times in a row 4 message live (udp://bt.gamenet.ru:6969/?userId=400023000043033300&hash=0b4ced0cd81cc4b580a11fe74fd16392a17117f2) (-1) ???? ???? ?????????? "" (4) 2016-02-25 22:46:23.463 [Main host thread] ERROR Qt - unhandled_alert category: 17 struct libtorrent::tracker_error_alert msg: "live (udp://bt.gamenet.ru:6969/?userId=400023000043033300&hash=0b4ced0cd81cc4b580a11fe74fd16392a17117f2) (-1) Этот хост неизвестен "" (4)" 2016-02-25 22:46:24.325 [Main host thread] DEBUG Qt - srcMarketingMarketingTarget.cpp 244 GGS::Marketing::MarketingTarget::sendRequest Marketing 2660 2016-02-25 22:46:25.747 [Main host thread] ERROR Qt - srcLibtorrentWrapperAlertHandlersErrorNotificationHandler.cpp 24 GGS::Libtorrent::AlertHandlers::ErrorNotificationHandler::operator () listen_failed_alert: status -1 times in a row 4 message live (https://retracker.local/announce) (-1) ???? ???? ?????????? "" (4) 2016-02-25 22:46:25.749 [Main host thread] ERROR Qt - unhandled_alert category: 17 struct libtorrent::tracker_error_alert msg: "live (https://retracker.local/announce) (-1) Этот хост неизвестен "" (4)" 2016-02-25 22:46:36.616 [Main host thread] DEBUG Qt - srcGameDownloaderGameDownloadService.cpp 82 GGS::GameDownloader::GameDownloadService::start "300003010000000000" 2016-02-25 22:46:36.616 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 68 GGS::GameDownloader::StateMachine::start Start "300003010000000000" GGS::GameDownloader::Behavior::PreHookBehavior 2016-02-25 22:46:36.777 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 147 GGS::GameDownloader::StateMachine::internalNext Call "300003010000000000" GGS::GameDownloader::Behavior::UninstallBehavior 2016-02-25 22:46:36.777 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 147 GGS::GameDownloader::StateMachine::internalNext Call "300003010000000000" GGS::GameDownloader::Behavior::BindiffBehavior 2016-02-25 22:46:36.778 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 147 GGS::GameDownloader::StateMachine::internalNext Call "300003010000000000" GGS::GameDownloader::Behavior::CompressorBehavior 2016-02-25 22:46:36.926 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 147 GGS::GameDownloader::StateMachine::internalNext Call "300003010000000000" GGS::GameDownloader::Behavior::CreateFastResumeBehavior 2016-02-25 22:46:36.927 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 147 GGS::GameDownloader::StateMachine::internalNext Call "300003010000000000" GGS::GameDownloader::Behavior::OnlyCheckUpdateBehavior 2016-02-25 22:46:37.138 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 147 GGS::GameDownloader::StateMachine::internalNext Call "300003010000000000" GGS::GameDownloader::Behavior::TorrentDownloadBehavior 2016-02-25 22:46:37.141 [Thread (pooled)] DEBUG Qt - srcLibtorrentWrapperWrapperInternal.cpp 134 GGS::Libtorrent::WrapperInternal::start start "300003010000000000" background false reload require false 2016-02-25 22:46:37.144 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 147 GGS::GameDownloader::StateMachine::internalNext Call "300003010000000000" GGS::GameDownloader::Behavior::ExtractorBehavior 2016-02-25 22:46:37.146 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 147 GGS::GameDownloader::StateMachine::internalNext Call "300003010000000000" GGS::GameDownloader::Behavior::PostHookBehavior 2016-02-25 22:46:37.150 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 147 GGS::GameDownloader::StateMachine::internalNext Call "300003010000000000" GGS::GameDownloader::Behavior::FinishBehavior 2016-02-25 22:46:37.152 [Main host thread] DEBUG Qt - srcGameDownloaderStateMachine.cpp 106 GGS::GameDownloader::StateMachine::internalFinished Finished "300003010000000000" GGS::GameDownloader::Behavior::FinishBehavior 2016-02-25 22:46:37.745 [Main host thread] DEBUG Qt - srcMarketingMarketingTarget.cpp 244 GGS::Marketing::MarketingTarget::sendRequest Marketing 37 2016-02-25 22:46:47.221 [Main host thread] DEBUG Qt - srcGameExecutorExecutorExecutableFileClient.cpp 85 GGS::GameExecutor::Executor::ExecutableFileClient::startProcess Start "E:/BS/live/client/client.exe" "E:/BS/live/" 2016-02-25 22:46:55.392 [Main host thread] DEBUG Qt - srcLibtorrentWrapperAlertHandlersTrackerNotificationHandler.cpp 19 GGS::Libtorrent::AlertHandlers::TrackerNotificationHandler::operator () TrackerNotificationHandler tracker_announce_alert: live (udp://bt.gamenet.ru:6969/?userId=400023000043033300&hash=0b4ced0cd81cc4b580a11fe74fd16392a17117f2) sending announce (stopped) 2016-02-25 22:46:55.392 [Main host thread] DEBUG Qt - srcLibtorrentWrapperAlertHandlersTrackerNotificationHandler.cpp 19 GGS::Libtorrent::AlertHandlers::TrackerNotificationHandler::operator () TrackerNotificationHandler tracker_announce_alert: live (https://retracker.local/announce) sending announce (stopped) 2016-02-25 22:46:55.392 [Main host thread] DEBUG Qt - srcLibtorrentWrapperWrapperInternal.cpp 621 GGS::Libtorrent::WrapperInternal::torrentPausedAlert torrentPausedAlert "300003010000000000" false 2016-02-25 22:46:55.398 [Main host thread] ERROR Qt - srcLibtorrentWrapperAlertHandlersErrorNotificationHandler.cpp 24 GGS::Libtorrent::AlertHandlers::ErrorNotificationHandler::operator () listen_failed_alert: status -1 times in a row 5 message live (udp://bt.gamenet.ru:6969/?userId=400023000043033300&hash=0b4ced0cd81cc4b580a11fe74fd16392a17117f2) (-1) ???? ???? ?????????? "" (5) 2016-02-25 22:46:55.399 [Main host thread] ERROR Qt - unhandled_alert category: 17 struct libtorrent::tracker_error_alert msg: "live (udp://bt.gamenet.ru:6969/?userId=400023000043033300&hash=0b4ced0cd81cc4b580a11fe74fd16392a17117f2) (-1) Этот хост неизвестен "" (5)" 2016-02-25 22:46:55.399 [Main host thread] DEBUG Qt - srcLibtorrentWrapperAlertHandlersStorageNotificationHandler.cpp 23 GGS::Libtorrent::AlertHandlers::StorageNotificationHandler::operator () StorageNotificationHandler: live resume data generated 2016-02-25 22:46:56.332 [Main host thread] DEBUG Qt - srcMarketingMarketingTarget.cpp 244 GGS::Marketing::MarketingTarget::sendRequest Marketing 2662 2016-02-25 22:46:57.708 [Main host thread] ERROR Qt - srcLibtorrentWrapperAlertHandlersErrorNotificationHandler.cpp 24 GGS::Libtorrent::AlertHandlers::ErrorNotificationHandler::operator () listen_failed_alert: status -1 times in a row 5 message live (https://retracker.local/announce) (-1) ???? ???? ?????????? "" (5) 2016-02-25 22:46:57.737 [Main host thread] ERROR Qt - unhandled_alert category: 17 struct libtorrent::tracker_error_alert msg: "live (https://retracker.local/announce) (-1) Этот хост неизвестен "" (5)" 2016-02-26 00:46:47.254 [Main host thread] DEBUG Qt - srcGameExecutorExecutorExecutableFileClient.cpp 265 GGS::GameExecutor::Executor::ExecutableFileClient::handleActivated with exit code 0 real result 0 2016-02-26 00:46:47.459 [Main host thread] DEBUG Qt - srcGameExecutorExecutorExecutableFileClient.cpp 265 GGS::GameExecutor::Executor::ExecutableFileClient::handleActivated with exit code 0 real result 0 Надпись - этот хост неизвестен. Я посчитал что лаунчер пытался определить клавиатуру но не смог. ЗЫ: Счас вгляделся в текст (хоть я там ничего и не понял :smile: ) но похоже что дело не в клавиатуре, я хост с hid перепутал... И возможно проблема не в моей клавиатуре. Пока что повоюю с сапортом. Изменено 26 Февраля, 2016 в 12:59 пользователем химик Ссылка на комментарий Поделиться на другие сайты Поделиться
Datagor Опубликовано 26 Февраля, 2016 в 16:21 Жалоба Поделиться Опубликовано 26 Февраля, 2016 в 16:21 ... сделал себе игровой бот на основе USB HID клавиатуры на ATmega8 ... Сергей, просвети, а что это такое и для чего служит, что оно облегчает? Может мне тоже нужно, а я не знаю :smile: Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость химик Опубликовано 26 Февраля, 2016 в 16:54 Жалоба Поделиться Опубликовано 26 Февраля, 2016 в 16:54 :smile: Игорь, игра в стиле фентази. Во время боя и при прохождении подземелий, чтобы миллион раз не клацать по клавишам со скилами, за меня это делает этот эмулятор клавиатуры. Клавиши 1,2,3,4 нажимаються циклично раз в секунду; раз в 10 сек нажимаеться клавиша 8; клавиша 9 раз в 30 сек; клавиша 0 раз в 90 сек. Второй режим клавиша 1 раз в секунду нажимаеться постоянно и клавиши 8,9,0 как и в предидущем режиме. И третий режим - кнопка 5 раз в 32 минуты (ставлю на ночь руду копать, доп зароботок). Я вот немного вник в текст хост файла, и есть подозрения, что защита игры срабатывает не от моего бота. Скорей всего пакеты с данными проходят через чей то левый сервер. Это и вызывает подозрения у защиты. Я не параноик но кроме СБУ это больше ни кому не надо. Так как провайдер украинский. Ссылка на комментарий Поделиться на другие сайты Поделиться
Allroy Опубликовано 26 Февраля, 2016 в 17:18 Жалоба Поделиться Опубликовано 26 Февраля, 2016 в 17:18 Хм, я в свое время тоже играл, но до такого не доходил :smile: Я использовал программные средства, типа автокликеров для клавиатуры. Можно было записывать макросы клавиш и вешать на горячии клавиши. Я вот то о чем, не проще будет использовать программную реализацию бота? Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость химик Опубликовано 26 Февраля, 2016 в 17:45 Жалоба Поделиться Опубликовано 26 Февраля, 2016 в 17:45 Хм, я в свое время тоже играл, но до такого не доходил :idea: Я использовал программные средства, типа автокликеров для клавиатуры. Можно было записывать макросы клавиш и вешать на горячии клавиши. Я вот то о чем, не проще будет использовать программную реализацию бота? За програмную реализацию можно и акаунта лишиться :smile: . При запуске подобного ПО игра зарываеться и бан автоматом на 7 дней. Второй раз на месяц Ссылка на комментарий Поделиться на другие сайты Поделиться
Allroy Опубликовано 26 Февраля, 2016 в 19:11 Жалоба Поделиться Опубликовано 26 Февраля, 2016 в 19:11 (изменено) За програмную реализацию можно и акаунта лишиться :idea: . Ну наверно да, тогда не стоит мучатся. Раньше за такое бан не давали, но раньше и трава была зеленее) Зато дадут приз за хитроумное приспособление. Как в фильме: Билет № 9, прием. - Что-что вы сказали? - Что? - Какой прием? - Я сказал не прием, а при нем. Билет № 9, а при нем задача. :smile: Изменено 26 Февраля, 2016 в 19:12 пользователем Allroy Ссылка на комментарий Поделиться на другие сайты Поделиться
Yamazaki Опубликовано 26 Февраля, 2016 в 21:53 Жалоба Поделиться Опубликовано 26 Февраля, 2016 в 21:53 Оффтоп: Сергей, разве игра не должна быть интересной, чтобы в неё хотелось самому поиграть? А то когда за вас бот играет, в чем смысл? Есть игры с сюжетом, с интересными персонажами, с красивой музыкой, с захватывающими перестрелками и т.д. А ходить и бить (да ещё это бот делает) одних и тех же мобов день за днем, неделя за неделей, месяц за месяцем, год за годом... не маразм? Если что, никого не хочу обидеть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Allroy Опубликовано 27 Февраля, 2016 в 09:14 Жалоба Поделиться Опубликовано 27 Февраля, 2016 в 09:14 Это как наркотик, зависимость в прямом плане. По сути смысл: "п***ми мерется, у кого больше". Я на этой гадости года полтора сидел, в итоге пустая трата времени и денег.... Никого не хотел обидеть это мое ИМХО. Хотя я компьютерные игры очень люблю, играю регулярно, но в игры не ОНЛАЙН! Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость xenobios Опубликовано 30 Июня, 2016 в 18:48 Жалоба Поделиться Опубликовано 30 Июня, 2016 в 18:48 Очень неплохо данное решение реализовано в продукте usb2kbd на основе микроконтроллера Atmel AT MEGA8. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти