Сохранен 32
https://2ch.hk/pr/res/893463.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Написал бота, который читает память игры, через

 Аноним 13/12/16 Втр 08:43:59 #1 №893463 
14816078395940.png
14816078395941.png
Написал бота, который читает память игры, через 4-5 дней аптайма заметил это, я вообще долбоеб? На чем сказывается столь огромной количество "ручек"?
Аноним OP 13/12/16 Втр 08:46:48 #2 №893464 
14816080085210.png
Это из-за того, что я открываю "ручку" внутри функции? И каждый раз, когда я ее вызываю, открывается новая? C#
Аноним 13/12/16 Втр 09:13:01 #3 №893471 
>>893464
>На чем сказывается столь огромной количество "ручек"?
На том что ты судя по >>893464 их не закрываешь.
Аноним 13/12/16 Втр 09:19:56 #4 №893473 
Это у нас такие программисты теперь в /pr/, найс.
Аноним 13/12/16 Втр 09:20:55 #5 №893474 
>>893473
Ну я же учусь, правильно?
Аноним OP 13/12/16 Втр 09:30:40 #6 №893476 
14816106407090.png
14816106407091.png
Вот так нормально? И вопрос остается открытым, во что может вылиться огромное кол-во не закрытых ручек?
Аноним 13/12/16 Втр 09:30:45 #7 №893477 
>>893474
Начинай лучше с основ, судя по всему ты спотыкнулся именно о них, сейчас тебе помогают, ты исправишь ошибку и больше не будешь делать именно эту ошибку, но ты не поймешь сути, у тебя в голове нету восприятия, как именно это все работает, ты просто написал текст, который что-то делает там если нажать на кнопочку "выполнить".
Аноним 13/12/16 Втр 09:32:13 #8 №893479 
>>893476
>Вот так нормально?
Проверь, запусти.
Аноним 13/12/16 Втр 09:35:14 #9 №893480 
>>893477
Я изучаю основы, но рабочий бот мне нужен сейчас, вот и стараюсь сделать хоть как-то.
Аноним 13/12/16 Втр 10:28:32 #10 №893496 
>>893476

> во что может вылиться огромное кол-во не закрытых ручек?
Под них скорее всего выделяется память в ядре и она может закончиться, в итоге ни одна программа не сможет создавать новые "ручки". Я помню, во времена первых винд там было даже приложение, показывавшее число использованных и оставшихся ресурсов в библиотеках вроде GDI.

В твоем случае достаточно создать один хендл и использовать его, зачем каждый раз делать новый? Что у тебя в голове?
sageАноним 13/12/16 Втр 11:00:00 #11 №893518 
>>893496
>зачем каждый раз делать новый
Для чего же гигагерцы и гигабайты нужны ещё? Зачем думать? Думать некогда, нужен бот здесь и сейчас.
Аноним OP 13/12/16 Втр 11:18:48 #12 №893522 
>>893518
Нужен здесь и сейчас, я зарабатываю на этом, раньше пользовался платным, решил написать своего.

>>893496
Я сперва подумал о том же, что можно открыть 1 и пользоваться им, но так как это бот, тут нужно еще подумать о том, чтобы он не детектился, а есть мнение, что в игре, в которой я этого бота использую, открытый хендл поможет разработчикам взять меня за жопу. Не знаю, насколько это правда, но мало ли.
Аноним 13/12/16 Втр 11:20:44 #13 №893524 
>>893496
А когда я ручку закрываю, разве ресурсы не освобождаются?
Аноним 13/12/16 Втр 11:29:30 #14 №893527 
>>893522
Что за игра?
>открытый хендл поможет разработчикам взять меня за жопу
Каким образом? Игра пытается противостоять этому?
>разве ресурсы не освобождаются
Освобождаются, но ты же не закрываешь.
Аноним OP 13/12/16 Втр 11:34:43 #15 №893529 
>>893527
Теперь закрываю >>893476
Одна mmorpg, я понятия не имею, что и как они сканируют, но они пытаются выявить, используешь ли ты какие-то сторонние приложения, которые лезут в память к игре
Аноним 13/12/16 Втр 11:38:55 #16 №893533 
>>893529
>Теперь закрываю
Проблема ушла? Количество открытых хенделов не увеличивается?
>Одна mmorpg
Название мне давай, потом пойду пожалуюсь, что их ботоводят. А иначе не напишу, как они пытаются определить это.
Аноним 13/12/16 Втр 11:43:02 #17 №893537 
>>893533
Ну вроде ушла, не открываются каждую секунду. Открывается 1 хендл, когда я подрубаю бота к игре, на этом все. Бот для wow, они последнее время вообще ебанулись с банвейвами, поэтому перестал пользоваться платным еба-ботом с кучей ненужных мне функций.
Аноним 13/12/16 Втр 11:46:17 #18 №893539 
>>893537
А все адреса памяти известны? Или они распределяются случайным образом? Тогда как ищешь?
Аноним 13/12/16 Втр 11:50:43 #19 №893540 
>>893539
Для всех адресов есть указатель – базовый адрес процесса + оффсеты, оффсеты меняются каждый апдейт игры (раз в неделю-две), с помощью CheatEngine нахожу их и обновляю в боте
Аноним 13/12/16 Втр 11:59:46 #20 №893543 
>>893540
>с помощью CheatEngine нахожу их и обновляю в боте
Вот блин. Сам даже и не додумался, что так можно. Сижу тут с дизассемблером и дебаггером.
А игра ничем не защищена? Протектор или еще что-то?
Аноним 13/12/16 Втр 12:07:43 #21 №893550 
>>893543
Нет, но как я говорил, они периодически делают сканы, пытаясь найти тех, кто использует сторонний софт с игрой, и в какой-то день устраивают банвейв, баня всех, кого задетектили. Последнее время у них это хорошо получается. Вот в том платном боте, например, есть режим, когда ты полностью управляешь передвижением персонажа, а бот за тебя только кнопки в бою прожимает, забанили даже тех, кто в этом режими бегал, ни разу в бой не в вступив, то есть, бот был подключен, но не делал ничего.
Аноним 13/12/16 Втр 12:14:11 #22 №893551 
>>893550
>они периодически делают сканы
Каким образом? Они требуют (или в тихую) установки специального ПО? Как информация передаётся на сервер?
Аноним 13/12/16 Втр 12:16:03 #23 №893553 
>>893551
https://ru.wikipedia.org/wiki/Blizzard_Entertainment#Warden_Client
Аноним 13/12/16 Втр 12:17:58 #24 №893554 
>>893553
Но само собой, тут не описан принципе работы на 100% точно, кроме того, раньше баны были не так часто, они явно доработали свой сканер
Аноним 13/12/16 Втр 12:30:38 #25 №893560 
>>893553
Ох щи, и здесь Blizzard. Сейчас реверсю другую их MMO. И безуспешно. Навыка реверса защищённых программ не хватает.
Судя по вики, там очень топорно всё.
>Однако, многие игроки World of Warcraft отмечают, что сравниваются только строки
Достаточно поменять их и проблема уйдёт.
Но не известно, что ещё они проверяют. Есть (не)документированные функции типа NtQuerySystemInformation и подобные ей. Шпион может с помощью неё получить все хенделы и искать процессы, которые ссылаются на нужный процесс. Не знаю, можно ли так определять, кто вызвал OpenProcess. Сам определял, кто к моему самодельному прокси присоединяется.
Аноним 14/12/16 Срд 11:02:34 #26 №894070 
ОП, а какие конкретно функции нужны от бота в этой мморпг? Сколько копий бота должно быть запущено на одной машине?
Аноним OP 14/12/16 Срд 12:24:20 #27 №894124 
>>894070
Само собой, читать память, писать в память (чтобы двигаться, там есть функция ClickToMove, достаточно только в нужные адреса писать координаты), отправлять нажатия клавиш. У меня 8 запущено, а так, чем больше, тем лучше.
Аноним 14/12/16 Срд 15:03:57 #28 №894191 
>>893560
Библиотеки присоединяются к куче процессов.
Пили библиотеку, переименуй ее как у популярного антивирусника, которого у тебя нет, и ноль вопросов.
Вряд-ли кто-то будет сверять контрольные суммы.

Если списки не парсят руками, есть еще одна тактика - регулярно менять имя.
Скорее всего сканер ищет только те процессы, которые каждый сеанс подключены к игре. Иначе выгружалось бы много мусора.
Аноним 14/12/16 Срд 16:36:31 #29 №894235 
Проиграл с РУЧЕК.
Аноним 14/12/16 Срд 16:54:03 #30 №894248 
>>894235
А что не так-то? Обычный дословный перевод, так половина терминологии на русском звучит.
Аноним 14/12/16 Срд 17:01:07 #31 №894254 
>>894124
>писать в память
Кстати, один из возможных способов детектирования. Достаточно запомнить значение переменной, а перед присваиванием сверять его с контрольным значением. Если не сходится - где-нибудь установить флаг. А потом можно более пристальное внимание уделить таким "странным" клиентам.
Аноним 14/12/16 Срд 20:03:17 #32 №894366 
>>894254
Проблема с защитами в том, что никто не делает нормально. Все экономят на защите.
comments powered by Disqus

Отзывы и предложения