Написал бота, который читает память игры, через 4-5 дней аптайма заметил это, я вообще долбоеб? На чем сказывается столь огромной количество "ручек"?
Это из-за того, что я открываю "ручку" внутри функции? И каждый раз, когда я ее вызываю, открывается новая? C#
>>893464>На чем сказывается столь огромной количество "ручек"?На том что ты судя по >>893464 их не закрываешь.
Это у нас такие программисты теперь в /pr/, найс.
>>893473Ну я же учусь, правильно?
Вот так нормально? И вопрос остается открытым, во что может вылиться огромное кол-во не закрытых ручек?
>>893474Начинай лучше с основ, судя по всему ты спотыкнулся именно о них, сейчас тебе помогают, ты исправишь ошибку и больше не будешь делать именно эту ошибку, но ты не поймешь сути, у тебя в голове нету восприятия, как именно это все работает, ты просто написал текст, который что-то делает там если нажать на кнопочку "выполнить".
>>893476>Вот так нормально?Проверь, запусти.
>>893477Я изучаю основы, но рабочий бот мне нужен сейчас, вот и стараюсь сделать хоть как-то.
>>893476> во что может вылиться огромное кол-во не закрытых ручек?Под них скорее всего выделяется память в ядре и она может закончиться, в итоге ни одна программа не сможет создавать новые "ручки". Я помню, во времена первых винд там было даже приложение, показывавшее число использованных и оставшихся ресурсов в библиотеках вроде GDI.В твоем случае достаточно создать один хендл и использовать его, зачем каждый раз делать новый? Что у тебя в голове?
>>893496>зачем каждый раз делать новыйДля чего же гигагерцы и гигабайты нужны ещё? Зачем думать? Думать некогда, нужен бот здесь и сейчас.
>>893518Нужен здесь и сейчас, я зарабатываю на этом, раньше пользовался платным, решил написать своего.>>893496Я сперва подумал о том же, что можно открыть 1 и пользоваться им, но так как это бот, тут нужно еще подумать о том, чтобы он не детектился, а есть мнение, что в игре, в которой я этого бота использую, открытый хендл поможет разработчикам взять меня за жопу. Не знаю, насколько это правда, но мало ли.
>>893496А когда я ручку закрываю, разве ресурсы не освобождаются?
>>893522Что за игра?>открытый хендл поможет разработчикам взять меня за жопуКаким образом? Игра пытается противостоять этому?>разве ресурсы не освобождаютсяОсвобождаются, но ты же не закрываешь.
>>893527Теперь закрываю >>893476Одна mmorpg, я понятия не имею, что и как они сканируют, но они пытаются выявить, используешь ли ты какие-то сторонние приложения, которые лезут в память к игре
>>893529>Теперь закрываюПроблема ушла? Количество открытых хенделов не увеличивается?>Одна mmorpgНазвание мне давай, потом пойду пожалуюсь, что их ботоводят. А иначе не напишу, как они пытаются определить это.
>>893533Ну вроде ушла, не открываются каждую секунду. Открывается 1 хендл, когда я подрубаю бота к игре, на этом все. Бот для wow, они последнее время вообще ебанулись с банвейвами, поэтому перестал пользоваться платным еба-ботом с кучей ненужных мне функций.
>>893537А все адреса памяти известны? Или они распределяются случайным образом? Тогда как ищешь?
>>893539Для всех адресов есть указатель – базовый адрес процесса + оффсеты, оффсеты меняются каждый апдейт игры (раз в неделю-две), с помощью CheatEngine нахожу их и обновляю в боте
>>893540>с помощью CheatEngine нахожу их и обновляю в ботеВот блин. Сам даже и не додумался, что так можно. Сижу тут с дизассемблером и дебаггером.А игра ничем не защищена? Протектор или еще что-то?
>>893543Нет, но как я говорил, они периодически делают сканы, пытаясь найти тех, кто использует сторонний софт с игрой, и в какой-то день устраивают банвейв, баня всех, кого задетектили. Последнее время у них это хорошо получается. Вот в том платном боте, например, есть режим, когда ты полностью управляешь передвижением персонажа, а бот за тебя только кнопки в бою прожимает, забанили даже тех, кто в этом режими бегал, ни разу в бой не в вступив, то есть, бот был подключен, но не делал ничего.
>>893550>они периодически делают сканыКаким образом? Они требуют (или в тихую) установки специального ПО? Как информация передаётся на сервер?
>>893551https://ru.wikipedia.org/wiki/Blizzard_Entertainment#Warden_Client
>>893553Но само собой, тут не описан принципе работы на 100% точно, кроме того, раньше баны были не так часто, они явно доработали свой сканер
>>893553Ох щи, и здесь Blizzard. Сейчас реверсю другую их MMO. И безуспешно. Навыка реверса защищённых программ не хватает.Судя по вики, там очень топорно всё.>Однако, многие игроки World of Warcraft отмечают, что сравниваются только строкиДостаточно поменять их и проблема уйдёт.Но не известно, что ещё они проверяют. Есть (не)документированные функции типа NtQuerySystemInformation и подобные ей. Шпион может с помощью неё получить все хенделы и искать процессы, которые ссылаются на нужный процесс. Не знаю, можно ли так определять, кто вызвал OpenProcess. Сам определял, кто к моему самодельному прокси присоединяется.
ОП, а какие конкретно функции нужны от бота в этой мморпг? Сколько копий бота должно быть запущено на одной машине?
>>894070Само собой, читать память, писать в память (чтобы двигаться, там есть функция ClickToMove, достаточно только в нужные адреса писать координаты), отправлять нажатия клавиш. У меня 8 запущено, а так, чем больше, тем лучше.
>>893560Библиотеки присоединяются к куче процессов.Пили библиотеку, переименуй ее как у популярного антивирусника, которого у тебя нет, и ноль вопросов.Вряд-ли кто-то будет сверять контрольные суммы.Если списки не парсят руками, есть еще одна тактика - регулярно менять имя.Скорее всего сканер ищет только те процессы, которые каждый сеанс подключены к игре. Иначе выгружалось бы много мусора.
Проиграл с РУЧЕК.
>>894235А что не так-то? Обычный дословный перевод, так половина терминологии на русском звучит.
>>894124>писать в памятьКстати, один из возможных способов детектирования. Достаточно запомнить значение переменной, а перед присваиванием сверять его с контрольным значением. Если не сходится - где-нибудь установить флаг. А потом можно более пристальное внимание уделить таким "странным" клиентам.
>>894254Проблема с защитами в том, что никто не делает нормально. Все экономят на защите.