Античит для игры
| |
BIOMSoft | Дата: Среда, 08 Февраля 2012, 18:10 | Сообщение # 21 |
участник
Сейчас нет на сайте
| Если знаешь - можно все самому сделать
Перевод UDK - Завершено 30% Перевод UDK документации - Завершено 2%
|
|
| |
alex_proger | Дата: Среда, 08 Февраля 2012, 18:45 | Сообщение # 22 |
участник
Сейчас нет на сайте
| А можно ли как нибудь проверять в C++ что в программу вмешивается какой нибудь процесс (тренер, он же тот самый процесс) и в случае вмешательства запускать определённую функцию? если можно то как?
|
|
| |
yarickyarick | Дата: Среда, 08 Февраля 2012, 19:03 | Сообщение # 23 |
Маленький лицемер
Сейчас нет на сайте
| alex_proger, по сути да, если знать код того тренера=)
|
|
| |
matrixpro99 | Дата: Среда, 08 Февраля 2012, 19:23 | Сообщение # 24 |
частый гость
Сейчас нет на сайте
| Quote (Andrey_M) А зачем человек делал читы, если потом делает античит? Тогда читы не нужны! читы в офлайн играх можно использовать. в онлайн нет!
|
|
| |
TimKruz | Дата: Среда, 08 Февраля 2012, 19:52 | Сообщение # 25 |
старожил
Сейчас нет на сайте
| Quote (matrixpro99) читы в офлайн играх можно использовать. в онлайн нет! В онлайн тоже можно, и очень просто. Вообще "чит-код" (обманный код) изначально предназначен для упрощения тестирования игры, и создаётся разработчиком. Хакерские трюки, типа замены кода в файлах или налету проще всего отследить по ходу игры, как уже выше было сказано, проверяя изменения параметров. Однако любую защиту можно сломать. Даже "античит, являющийся частью игры и сканирующий диск" - забить его код оператором NOP и все дела. Либо сделать мгновенный переход из начала этого кода в его конец. Всё просто, главное обнаружить этот код. Сканирование диска на, как вы выражаетесь, "читы" неудобно игроку (загружает диск, процессор, память, может распознать нормальные программы как нежелательные), да и вообще бессмысленно. Представьте такую ситуацию: в игре нужно неоднократно делать какие-то действия, которые что-то дают. Игрок пишет "бота" на, скажем, AutoIt или Basic. Его программы в вашей "базе" (которую, кстати, нужно с собой таскать - лишний вес) нет. Можно, например, запретить все программы на AutoIt, Basic и других языках, но это вообще тупость, потому что ваша игра ни у кого не запустится. А бот позволит игроку пить чай и наблюдать, как игра "сама играется", пополняя его баланс (опыта, денег, и т.п.). Quote (alex_proger) А можно ли как нибудь проверять в C++ что в программу вмешивается какой нибудь процесс (тренер, он же тот самый процесс) и в случае вмешательства запускать определённую функцию? Никак. Если, конечно, это не какое-то высокоуровневое вмешательство, типа сообщение от Windows. А если код твоей программы изменяется напрямую в оперативной памяти, то твоя программа "не догадается", что в её код вмешивались, и продолжит спокойно выполняться.
Вообще. Дам отличный совет. Как сделать так, чтобы игроки не "читерили" (не обманывали игру)? Ответ прост. Если игра не скучная, честная, захватывает, постоянно удивляет чем-то новым, в неё легко и весело играть, в ней множество необязательных возможностей - ни кто "читерить" не будет. Точнее, количество обманщиков будет значительно меньше, а число игроков - больше. А тем, кто пытается как-то "читерить" - просто надоели стандартные возможности игры, они хотят чего-то большего. Либо им обидно, что кто-то имеет лучшую статистику, просто потому, что играет 16 часов в сутки без перерыва каждый день. Подумай над этим и сделай хорошую игру; и не надо придумывать какие-то там "античиты".
|
|
| |
zodiak | Дата: Четверг, 09 Февраля 2012, 11:59 | Сообщение # 26 |
постоянный участник
Сейчас нет на сайте
| Quote (alex_proger) А можно ли как нибудь проверять в C++ что в программу вмешивается какой нибудь процесс (тренер, он же тот самый процесс) и в случае вмешательства запускать определённую функцию? если можно то как? Можно. С помощью перехвата вызовов функций OpenProcess, ReadProcessMemory. Но такую программу-перехватчик сразу запинает антивирус. И если на своем компе его еще можно выдресировать, чтоб не трогал, то на компе читера врядли. Разве что успеть запинать антивирус первым)
Точка зору окремо взятого індивіда завжди суб'єктивна!
Взломщик Battle City.Net
|
|
| |
Riketta | Дата: Четверг, 09 Февраля 2012, 12:52 | Сообщение # 27 |
Strategist
Сейчас нет на сайте
| Сделать так, что-бы игра без античита не работала. А там уж как Читер/Игрок пожелает: Антивирус вырубать, или тупо не играть.
Fougerite - Rust Server OpenSource API TerraDev - Terraria OpenSource Hack
|
|
| |
BIOMSoft | Дата: Четверг, 09 Февраля 2012, 13:45 | Сообщение # 28 |
участник
Сейчас нет на сайте
| Ну и вырубит он антивирус и поиграет себе с читом =\
Нужно делать тогда что бы, когда вырубал антивирус, выдавало сообщение "ЕСЛИ ТЫ СЕЙЧАС НЕ ВКЛЮЧИШЬ АНТИВИРУС ТВОЙ КОМП ВЫБРОСИТСЯ ЧЕРЕЗ ОКНО!!!" =)...
Перевод UDK - Завершено 30% Перевод UDK документации - Завершено 2%
|
|
| |
Riketta | Дата: Четверг, 09 Февраля 2012, 14:09 | Сообщение # 29 |
Strategist
Сейчас нет на сайте
| BIOMSoft, ты видимо не понял, антивирус блочит античит. А игра не будет работать без античита. И причем тут вообще антивирус?
Fougerite - Rust Server OpenSource API TerraDev - Terraria OpenSource Hack
|
|
| |
BIOMSoft | Дата: Четверг, 09 Февраля 2012, 14:18 | Сообщение # 30 |
участник
Сейчас нет на сайте
| Сор) Не так понял)
Всеравно это провал =\ Можно сделать и обман - антивируса нет, но игре будет говорит что есть
Перевод UDK - Завершено 30% Перевод UDK документации - Завершено 2%
|
|
| |
goldsphere | Дата: Четверг, 29 Марта 2012, 14:30 | Сообщение # 31 |
заслуженный участник
Сейчас нет на сайте
| Ну всем ясно, что вырубание антивируса - это не выход!А в каком жанре игра(это я спрашиваю, чтобы определить какие примерно читы могут использоваться) Ну а по изменению переменной я могу сказать вот что: Отследить, чтобы она не изменялась резко на много, хотя опять же зависит от игры...
FinderX - Android Аркада
|
|
| |
noname | Дата: Четверг, 05 Апреля 2012, 02:44 | Сообщение # 32 |
заслуженный участник
Сейчас нет на сайте
| Quote (TimKruz) Как сделать так, чтобы игроки не "читерили" (не обманывали игру)? вообще, если игрок захотел обмануть игру- это уже классно. ведь не бросил же, а стал читерить))Добавлено (05.04.2012, 02:44) --------------------------------------------- --
античит от артмани:
сделать контрольную сумму для всех важных числовых значений И пары обманных переменных.
допустим, в игре есть кол-во жизней Lives и кол-во денег Money. добавим обманную переменную R и контрольную сумму S.
ПОСЛЕ каждой модификации Lives или Money присваиваем переменной R случайное значение, а переменной S- сумму(а лучше- XOR) этих трёх переменных.
ПЕРЕД каждой модификацией Lives или Money проверяем, действительно ли S равна тому, чему должна быть равна. если нет- завершаем игру с ошибкой "непредвиденная ошибка данных".
ну и, естественно, начальное значение S должно соответствовать.
все правила форумной игры Дуэль Программистов
|
|
| |
Тритон | Дата: Вторник, 17 Апреля 2012, 11:32 | Сообщение # 33 |
постоянный участник
Сейчас нет на сайте
| Quote (matrixpro99) банить, это жестоко Жестоко ограничиваться киком.
Добавлено (17.04.2012, 11:11) --------------------------------------------- Quote (apoptom) А в нашем случае информация никуда не отправляется. То есть поработал он на компе игрока и всё, ни какого сигнала на сервер и никаких последствий чита. Кстати, сами не санкционированные действия на чужом компе - уже вирусная активность и отправка результатов - только различие вирус/троян. Отправка же инфы - обязательная операция браузера/мейлера/клиента и сама по себе легальна, вопрос только в её источнике и содержании.
Добавлено (17.04.2012, 11:14) --------------------------------------------- Quote (Matou) А как игрок его обнаружит и удалит если он является частью игрового приложения? И что? С чего ты взял, что не возможно изменить программу и выкинуть из неё нафиг какой нибудь кусок?
Добавлено (17.04.2012, 11:16) --------------------------------------------- Quote (Andrey_M) А зачем человек делал читы, если потом делает античит? Тогда читы не нужны! Античиты не игроки делают.
Добавлено (17.04.2012, 11:28) --------------------------------------------- Quote (TimKruz) Вообще. Дам отличный совет. Как сделать так, чтобы игроки не "читерили" (не обманывали игру)? Ответ прост. Если игра не скучная, честная, захватывает, постоянно удивляет чем-то новым, в неё легко и весело играть, в ней множество необязательных возможностей - ни кто "читерить" не будет. Точнее, количество обманщиков будет значительно меньше, а число игроков - больше. А тем, кто пытается как-то "читерить" - просто надоели стандартные возможности игры, они хотят чего-то большего. Либо им обидно, что кто-то имеет лучшую статистику, просто потому, что играет 16 часов в сутки без перерыва каждый день. Подумай над этим и сделай хорошую игру; и не надо придумывать какие-то там "античиты". Бред. Всегда найдутся те, кто захочет куппить 150 элитных стволов сразу, чтоб не тонуть при встрече с фулом, или купить бота, который будет вместо них топить корабли противника, хотябы в том время, когда сами не в игре, так как не отвлекаться от неё вообще не возможно. Рейтинг есть? Значит найдётся те, кто будет набивать его ботами. Игровая валюта есть? Значит найдутся желающие получить её не честно. В любой ММО находятся даже те, кто захочет официально купить свою лень у организаторов. Причём, если даже можно было бы их исключить, то придётся или вводить абонентскую плату, или закрываться. Думаешь МО чем то отличается? МО даже в худшем полоэжении, так как там и сервак доступен.Добавлено (17.04.2012, 11:30) ---------------------------------------------
Нет слова ртмани.Добавлено (17.04.2012, 11:32) ---------------------------------------------
Quote (zodiak) Можно. С помощью перехвата вызовов функций OpenProcess, ReadProcessMemory. Но такую программу-перехватчик сразу запинает антивирус. И если на своем компе его еще можно выдресировать, чтоб не трогал, то на компе читера врядли. Разве что успеть запинать антивирус первым) Он бы запинал трейнера.
Не всё так плохо, как оно есть на самом деле.
Сообщение отредактировал Тритон - Вторник, 17 Апреля 2012, 11:29 |
|
| |
Gavolot | Дата: Вторник, 17 Апреля 2012, 11:44 | Сообщение # 34 |
Последователь Тени
Сейчас нет на сайте
| Тритон, В этом и прикол ММО, они играют чтобы быть перед другими лучшими и кто-то хочет достать рейтинг читами, ботами, чтобы "унизить" или "опустить" того, кто сидит 16 часов в день, и не может догнать того, кто сидит на много меньше. А те игры где рекорды, там все еще проще, он сделает себе читом 99999999999999 и будет сидеть довольный, хвастаться перед другими. Такие человеки всегда существовали в любых онлайн и оффлайн играх. А хакеры пишут эти читы в основном просто ради опыта и чтобы посмеяться с задротов.
Поэтому я думаю, что сидеть над универсальной защитой нет смысла. Сделай защиту от простых артмани и не больших вмешательств, чтобы очень ленивые и боязливые пользователи не смогли читирить, а таких много, ну а совсем задротов ты уже в любом случае не остановишь.Добавлено (17.04.2012, 11:44) --------------------------------------------- А в шахматы вообще играют при помощи компа))) Смотрят как он ходит и как обезьянки делают такой же ход) Поэтому чтобы поиграть с людьми моего уровня, играю только со знакомыми, а развлекаюсь в играх без рейтинга. А так у меня есть выход, либо пойду поизучаю с книгой или пойду в шахматный клуб))
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
|
|
| |
Тритон | Дата: Вторник, 17 Апреля 2012, 11:50 | Сообщение # 35 |
постоянный участник
Сейчас нет на сайте
| нет слова "ртмани". Добавлено (17.04.2012, 11:50) ---------------------------------------------
Quote (Gavolot) Тритон, В этом и прикол ММО, они играют чтобы быть перед другими лучшими и кто-то хочет достать рейтинг читами, ботами, чтобы "унизить" или "опустить" того, кто сидит 16 часов в день, и не может догнать того, кто сидит на много меньше. А те игры где рекорды, там все еще проще, он сделает себе читом 99999999999999 и будет сидеть довольный, хвастаться перед другими. Такие человеки всегда существовали в любых онлайн и оффлайн играх. А хакеры пишут эти читы в основном просто ради опыта и чтобы посмеяться с задротов. Так они точно также будут опускать и 2-х-3-х друзей в МО и даже ломать сингл, просто чтоб потом показать рейтинг. Кстати, не спорь с читером, я этот народ по себе знаю: сам ломал Elite ещё на спектруме.
Не всё так плохо, как оно есть на самом деле.
|
|
| |
Gavolot | Дата: Вторник, 17 Апреля 2012, 11:55 | Сообщение # 36 |
Последователь Тени
Сейчас нет на сайте
| Что-то я не вижу "ртмани", у меня изначально стоит "артмани".. Добавлено (17.04.2012, 11:52) --------------------------------------------- Тритон, Это ты не спорь с читером 21 века) Я делал себе программу, чтобы разрешить читы в supreme comander =)) Она просто когда я нажимаю старт, нажимала влажек "читы: выкл" на вкл))) Все на много проще, но зато было прикольно, условие конечно было в том, что сервак я) Добавлено (17.04.2012, 11:55) --------------------------------------------- Потом сидел развлекался, появлял себе лишних юнитов или ресурсы, потом правда один помешаный глянул повтор, а я там читернул) Появил себе 3 мега-бота =) Тогда они подумали, что я просто поставил вкладку читы на вкл, а они каким-то образом не заметили и стали мне не разрешать создавать. Самое не приятное это когда ловят)
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
|
|
| |
Тритон | Дата: Вторник, 17 Апреля 2012, 11:56 | Сообщение # 37 |
постоянный участник
Сейчас нет на сайте
| Причём, ни какого опыта этим не получал, так как в саму прогу не лез вообще, а просто измерил размер файла, куда игра сохраняет, чего налетал и генерил бредофайлы точно такого размера (102 байта), а потом грузил их в игру и смотрел. В результате у меня были лазеры: "майор в резерве", "посадочный компьютер", "драгоценные камни" и "жратва" и странный груз "рабы рабов", топлива (в баке на 7 световых лет ровно) на 25,5 световых лет, сотни ракет и не опознанное количество дополнительных силовых гереаторов, позволяющее таранить орбитальные станции. Ну и кредов не помню сколько.
Не всё так плохо, как оно есть на самом деле.
Сообщение отредактировал Тритон - Вторник, 17 Апреля 2012, 12:00 |
|
| |
Gavolot | Дата: Вторник, 17 Апреля 2012, 11:56 | Сообщение # 38 |
Последователь Тени
Сейчас нет на сайте
| Делал я на основе чужого чита, на всякий случай, с нуля не писал, так-что заслуги не мои по сути.
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
|
|
| |
Тритон | Дата: Вторник, 17 Апреля 2012, 11:59 | Сообщение # 39 |
постоянный участник
Сейчас нет на сайте
| Quote (Gavolot) Тритон, Это ты не спорь с читером 21 века) Я делал себе программу, чтобы разрешить читы в supreme comander =)) Она просто когда я нажимаю старт, нажимала влажек "читы: выкл" на вкл))) Все на много проще, но зато было прикольно, условие конечно было в том, что сервак я) Опять таки сервак, тое сть онлайн. А меня не останавливал даже сингл. Мне интересно было именно показать всю эту фигную другим игрокам.
Не всё так плохо, как оно есть на самом деле.
|
|
| |
Gavolot | Дата: Вторник, 17 Апреля 2012, 12:00 | Сообщение # 40 |
Последователь Тени
Сейчас нет на сайте
| Та я чаще всего их и без читов выигрывал, 90% игр если быть точным) Просто они стали объединяться и тут я решил сделать себе примитивный чит))) Добавлено (17.04.2012, 12:00) --------------------------------------------- Не там не онлайн, а самая обычная сеть через хамачь. Добавлено (17.04.2012, 12:00) --------------------------------------------- Но да, у меня интереса показать другим на что я способен в сингле особо не было.
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
|
|
| |
|