Jump to content

NB79

Товарищи [прем.]
  • Content Count

    606
  • Joined

  • Last visited

Everything posted by NB79

  1. Я так понимаю, что ты подобное не писал, теоретик. По этому - откланиваюсь и желаю тебе удачи в изучении теории! Ну и потом - удачных практических реализаций твоих фантазий (в хорошем смысле этого слова).
  2. Дружище, прочитай внимательно то, как работают эти механизмы. Там всё довольно прозрачно и понятно расписано. Я могу тебе сэкономить время и объяснить финальную часть алгоритма, то, о чём мы здесь говорим. Всё предельно просто. Мы, в нашем выделенном массиве, последовательно читаем по одному значению из блока, замеряя при этом время доступа к этой ячейке. Используем для этого rdtsc, которая возвращает нам кол-во тактов прошедших с момента сброса проца, читаем перед чтением значения и после, определяем разницу. Полученную разницу запоминаем. Так мы просматриваем все 256 блоков и тот, для которого время доступа будет минимальным, и будет искомый блок. Его номер будет значением, которое находилось по адресу который нас интересует. Специально подчеркну, это финальная часть алгоритма, то место, где мы и находим уже запрошенное ранее значение. У тебя, дружище, всё с ног на голову переставлено, ты сильно спешишь и по этому не понял каким образом это всё реализуется. Почему мы используем блоки в массиве и почему нам достаточно обращаться только к одной (произвольной внутри блока, попрошу заметить! ) ячейке внутри массива предлагаю тебе разобраться самостоятельно. Это несколько расширит твой кругозор. Удачи!
  3. Опять ошибка. И там, и там детект основан на времени доступа. Просто в Meltdown всё сильно упрощается по сравнению с другими способами. Чисто технически гораздо проще написать надёжно работающий код.
  4. Ну и как в нём этот доступ осуществляется? Сформулирую вопрос более точно и конкретно: Каким образом мы определяем значение хранящееся в интересующей нас ячейке памяти недоступной нам на текущем уровне привилегий?
  5. Meltdown & Spectre. В обоих случаях производится измерение времени доступа, т.е., косвенно определяется значение находящееся по интересующему нас адресу. Я понимаю, что хочется зацепится, но надо читать что отвечают. Во всех представленных работах используются косвенные методы оценки основанные на разнице во времени доступа к данным ещё не попавшим в кэш и тем, к которым уже был доступ.
  6. А нынешние атаки, они как производятся, не по косвенным признакам?
  7. Пф... В 2013-ом одна дама из универа в Аделаиде (ЕМНИП) опубликовала работу в которой по похожей технологии получали приватный ключ для RSA (опять же, ЕМНИП). Работа выполнялась по запросу австралийских военных группой из этого универа под руководством этой дамы. Результат: получали более чем 98% бит ключа. Так-что, об этой проблеме все, кому надо, знали гораздо раньше. Ну, я так думаю.
  8. Потери значительны там, где много и часто ходят в ядро. Если брать юзеровский софт, то это сеть и дисковые операции, это наиболее чувствительно для этой проблемы в большинстве случаев. Соответственно, игрушки страдают не сильно и по массе уже имеющихся тестов чаще всего вообще падения производительности не видно, либо оно в пределах пары процентов.
  9. А давайте посмотрим, что на эту тему говорит старик Даль: http://dic.academic.ru/dic.nsf/enc2p/205198/%D0%91%D0%90%D0%9A%D0%9B%D0%90%D0%9D Так-что, криминальные дела, это то, что сильно позже стало с этим словом ассоциироваться. В корпусе русского языка негативный оттенок за словом закреплён, как одно из значений, жаргонное, но не криминальное. Придумавший этот позывной, мягко говоря, не высокого мнения о своих клиентах.
  10. Ну, проблема то, никуда не делась. Серваки то, виснут. Причём могут зависнуть и пракитчески сразу после старта. КМК, это проблема с синхронизацией потоков. Обычно это происходит при высокой интенсивности событй на малой площади и при наличии в этот момент игроков с плохой связью. Ошибки все, так либо иначе, связанны с неверными индексами, либо с обращением к объекту который у нас в этот момент = null. А это, как раз, обычно и происходит из-за проблем с синхронизацией потоков. Это, безусловно, только мои предположения. Ну и ошибка обычно начинает репродуцироваться, забивая лог мегабайтами однотипных сообщений с раскруткой стека в месте падения, аккурат до исчерпания стека.
  11. У меня в командере сторожевая собака сидит, если подвисли, то автоматом перезапускает сервер. После перехода два раза висли с переполнением стека. Но это ни о чём не говорит, предыдущие версии вели себя так-же, это старая проблема. Из-за этого, собственно, WD и прикручивал к командеру.
  12. Вижу, что продолжение дискуссии бесполезно. По этому, продолжать не буду. По защитам, как уже говорил, это часть моей специальности. Я вполне профессионально владею этим вопросом. Утверждаю, что в нашем случае без административных решений, серьёзных и однозначных, читаки будут себя чувствовать в игре вольготно. И кол-во их будет постоянно расти. PS: Сейчас в игровой индустрии появляются системы защиты нового поколения. Используются механизмы генерации фрагментов кода на стороне сервера, уникальных для каждого игрока и каждой сессии. Также, частичное исполнение кода на стороне сервера. Они достаточно надёжны, но крайне сложные в реализации. Кроме того, эти системы довольно чувствительны к задержкам в каналах связи и по этому, увы, в нашем случае применение подобных механизмов пока не возможно. Если вы подумаете минут пять, то поймёте причину увеличения надёжности таких систем. А также то, почему авиа симулятору они пока не очень подходят. На этом - закругляюсь.
  13. Вероятность того, что обезьяна с печатной машинкой напечатает "Войну и Мир" чуть более, чем ноль. Примерно так-же и с софтом. Повредить софт таким образом, чтоб "повреждёнными" оказались исключительно важные для игры параметры? Да-да-да, я безусловно в это верю! Технически если, нормальная защита включает в себя самоконтроль и контроль важных данных. Это объединяется в один комплекс, многоуровневый, с различными ухищрениями. Случайно повредить так, чтоб только в одном месте сигнал прошел - практически нереально. И, по этому, вопрос о "случайности" подобного можно смело ставить в конец очереди. Мне, если честно, не очень понятно стремление некоторых побороться "за справедливость", именно в кавычках, в вопросе бана читака. Просто не понятны мотивы. Читаки создают на серверах атмосферу паранойи, всеобщей подозрительности, склоки, скандалы и т.п., что далеко от получения удовольствия от игры. Хотите иметь возможность читить в оффлайне, но боитесь, что вас за это забанят? Так и скажите. Мне другого в голову не приходит. Ибо в онлайн читер должен убиваться быстро и навсегда, в этом я убеждён абсолютно. PS: У меня на компе, по работе, масса очень специфичного софта. Мне даже антивирусник приходится вырубать, чтоб он не портил мне рабочую среду в некоторых случаях. Однако, это не мешает мне поигрывать в сетевые игры и ни разу меня не банили, ибо читами я не пользовался, не пользуюсь и пользоваться не собираюсь. Совесть, она либо есть, либо её нет.
  14. Многопользовательский режим есть? Есть. Этот режим нуждается в защите? Да. Всё остальное - слова. Причём тут Старичок? И его, кстати, уломали таки, абсолютно. Реальные, не кажущиеся, читаки в нём ныне норма. Со всеми атрибутами, вплоть до расстрела наземки по всей карте без взлёта и самолётов, в прямом смысле, перхающих во круг столба. И всё это "богатство" на серверах с ЧРТ2. Я слежу за тех. стороной Алекса, написанное мной выше реальность, из практики. Спасает Старичка то, что в него уже практически не играют, остались одни фанаты. Но даже в этой ситуации в игру периодически лезут читаки. Пойманные банятся без разговоров и размазывания соплей, сразу и навсегда. "Хотелось посмотреть", "просто проверить", "бла-бла-бла" - всё в сад. И никаких двух недель для перврго раза, сразу в топку. Это откуда вдруг взялось "мы знаем", личный опыт атак есть? И что вообще подразумевается под "атаковать"? Разговор у нас идёт о программе, которая запускается пользователем на своём компьютере. Не имеет значения ОС, под которой это дело происходит. И открытость/закрытость кода - тоже. Ничего не мешает ему, кроме наличия совести, делать со своим софтом что угодно. Естественно, требуется и наличие мозгов и некоторых специфичных знаний. Например, обход подсчёта КС - навскидку мог бы пару-тройку простых решений для обхода предложить. Но не буду, по понятным причинам. Могу только ещё раз повторить: защита кода - крайне сложное дело, не думайте, что до вас ни кто на эту тему голову не ломал. Предложенное вами ломается за время от 15 мин. до пары-тройки часов максимум, в зависимости от реализации. Крайне редко хитрые защитные алгоритмы требуют до недели-двух, это именно исключения из правил и больше на искусство похоже, чем на защиту, ручная работа и большие трудозатраты на реализацию. 0-days сайты - вот ваши пруфы. Если вы понимаете, о чём речь.
  15. Ирония напрасна. "Куда и как" именно и определяет во многом исход боя. Я бы сказал, что это решающее в бою. Под этим понимается не направление, а серия манёвров, с учётом наиболее вероятных действий противника. И это - именно опыт. Давленный Помидор абсолютно прав.
  16. Читак должен насаживаться на кол, в любой сетевой игре, не только в Иле. И каждый обязательно должен знать, что за использование читов его ждёт бан. И система с предупреждением в виде краткосрочного (пара недель) и перманентного (при повторном использовании читов) бана - лучшее решение из возможного. Разговоры о "контрольных суммах" и прочая ерунда сразу выдают в написавшем это не специалиста в соответствующем вопросе. Ещё и пруфы требуют. Пруфы - умение пользоваться соответствующим инструментом, которого хватает, и наличие толики мозгов для понимания того, как при полном доступе к процессу (а у нас именно этот случай) такие вопросы решаются. В смысле, бесполезность надежд, что это надёжное решение. Надёжен только комплекс мер, включающий систему аппаратных и административных решений. И по другому в ближайшей обозримой перспективе не будет. Результат работы комплекса мер уже просматривается в этой ветке. Само её существование этому подтверждение.
  17. Против очевидных вещей я и не выступал, вообще-то. Токма против своих форматов, шифрований и адовых нагрузок. Понятно, что война не равная. Но пренебрегать в ней защитой нельзя. И любую возможность осложнить жизнь взломщику надо обязательно использовать, учитывая трудозатраты на реализацию и потери от взлома, естественно. А про влияние административного фактора уже как то писал - также, обязательно должен быть. Пользователь должен знать, что будучи пойман понесёт вполне конкретное наказание. Это отличный тормоз для большинства потенциальных нарушителей. Это тоже никаких возражений не вызывает.
  18. Не надо своих форматов и сложных шифрований. Простой xor со случайным значением. Храним в памяти два значения, случайное и результат "исключающего или" нашей переменной с ним. Когда требуется значение - просто делаем xor этих двух величин. И ничего адски по производительности бить не будет (если всё правильно встроить). А можно и дальше пойти, хранить и не преобразованное значение переменной, но исключительно для контроля. Именно его и будут находить разнообразные "артмани". И при его изменении можно этот факт задетектить. С неявной реакцией на изменение, не ругаясь сразу и не обламывая процесс. Например, можно именно в этот момент получить список процессов и отослать на сервер. Или ещё как-то это дело залогировать, типа - документальное подтверждение. В общем, тут не шифрование надо, а скорее хитрость. Неявная реакция на действия злоумышленника, с задержкой. Это добавит геморроя ломающему, факт. Другое дело, что встраивать эти механизмы лучше на начальном этапе, в живой проект подобное внедрять геморно. Нужно аккуратно увязать все места использования контролируемых значений, а это не обязательно будет легко просто в силу сложности алгоритмов эти значения использующих. Ломать подобное можно только правя код. А это уже - прямое нарушение лицензионного соглашения (я, правда, лицензию на БзС и не помню уже, но скорее всего там оговорен запрет на подобное).
  19. Самое страшное в другом. Кетчуп в это же время второй рукой на втором компе всех в Дум нагибает. Сам видел!11адинадин
  20. О, майн готт! Лёнька, всё упираеццо в чистоплотность пользователя. А эту штуку ты не алгоритмизируешь. "Инструмент позволяет", а дальше - см. выше. Кому-то это вообще не надо, а кто-то возжелает, например, свою исключительность продемонстрировать (вспомни якутского дурочка-овощевода в Старичке). Так-что, разбираться тут особо не с чем, тут совсем с другим проблема, с естественными техническими проблемами детекта факта использования таких инструментов с целью получить преимущество. Как доктар тибе гаварю!
  21. В инете полно мест где можно получить знания по этим вопросам. Но изучать придётся очень многое.
  22. Это не так, изменение параметров видеокарты, это другое. Шейдеры же саму картинку и рисуют, и подменив их своими я получаю возможность нарисовать её так, как захочу (в определённых пределах, естественно). Шейдеры, это именно неотъемлемая часть игры. Вся работа с геометрией, светом, цветом, всё, что на экране появляется - это именно они. Без них современные игры бессмысленны, ведь весь вывод тока через них (ну почти). Например, можно сделать стену прозрачной, или вообще убрать. Это будет чит, или нет? Самый что ни на есть. Всё только твоими знаниями ограничено, ну почти. Так-что, подмена оригинальных собственными, это именно что модификация игры.
  23. ЕМНИП, это не так, оно подменяет шейдеры игры на свои. Т.е., фактически модифицирует код (шейдер - спец. микропрограмма для видяхи).
×
×
  • Create New...