Pull to refresh
13
0
Send message

Проклятые Земли. Изменяем движок игры! Подробности + ПРИМЕР реверсинга движка

Reading time21 min
Views16K

Статья о том, как реверс-инжиниринг и разбор форматов могут не только расширить старую любимую игрушку, но и сделать из неё абсолютный шедевр, который будет смотреться уже в новом свете. Обзор уникальных фишек игры Проклятые Земли, исправление её лёгких недостатков и разбор форматов.

Наверняка многие играли в Проклятые Земли и аддоны к ним лет 15, а то и все 23 года назад. При всех достоинствах этой игры, её графика считается устаревшей, а некоторые моменты уж очень спорно реализованы. Я покажу на своём примере как можно сделать любимую игру лучше.

Читать далее

Делаем радиолампы дома

Level of difficultyEasy
Reading time15 min
Views35K

Добрый день. Меня зовут Михаил, я хочу поделиться с уважаемым сообществом результатами одного из своих хобби, а именно созданием электровакуумных приборов. Помните тот совет хозяйке на заметку, про то, что не стоит выбрасывать перегоревшую лампочку накаливания? Вот примерно действия из этого совета я и пытаюсь провернуть.

Читать далее

Я люблю питон, и вот почему он меня бесит

Level of difficultyEasy
Reading time18 min
Views60K

Вас приветствует ваш зануда!

Если вы следите за моей ленивой активностью, то заметили бы, что у меня много от чего пригорает. Вот, например:
- У меня пригорает от низкосортных статей на потоке: Питон против Безумного Макса, или как я посты на Хабре замораживал
- У меня пригорает от Django: Окей, Джанго, у меня к тебе несколько вопросов
- И от Яндекса тоже: Собеседование в Яндекс: театр абсурда :/
- И от рекрутеров: Я единственный из 1400, или самый крутой рекрутинг, что я проходил

Посмотришь так - я уже давно должен был сгореть. Но я, аки феникс, возрождаюсь, и сегодня у меня горит от, внезапно, Питона, на котором я пишу больше десяти лет. Если вам интересно, что же, по моему мнению, с ним не так - то прошу под кат.

Это что же получается, kesn опять открыл postman и сломал вёрстку на сайте? Поразительно, никогда такого не было, и вот опять! В принципе, тут можно писать текст любой длины (похоже, у них на бэкенде не Char(255), а Text). Они проверяют длину только на фронтенде, а бэкенд принимает строку любой длины. И это, блин, забавно) Вообще мой девиз - 'кто ищет, тот всегда найдёт', поэтому я ищу постоянно. Кстати, на Хабре скоро выйдет статья про программирование глазами Погромиста, там в том числе про уязвимости на сайтах будет - поэтому если не хотите пропустить, то подписывайтесь на меня в телеге: @blog_pogromista

Почему твой бекап недостаточно быстр?

Reading time9 min
Views10K

Как и у каждой уважающей себя техподдержки, у инженеров Veeam есть свой список самых популярных поводов позвонить им в любое время дня и ночи. Это и вечно молодое “У вас неправильно работает ретенш”, и никогда не стареющее “У меня место на дисках кончилось, что делать?”, и прорва других. 

Однако среди них есть простой, казалось бы, вопрос. Он объясняется за 5 минут, но вот парадокс: его объяснение вылетает из головы в течение следующих тридцати секунд. Звучит этот чудо-вопрос примерно так: “После бекапа Veeam нарисовал мне непонятный график и написал, что у меня загрузка сорса 63%, прокси 48%, сети 99%, а таргета 0! А потом ещё и обозвал этот сорс ботлнеком, а у меня там ого-го какая железяка! И что вообще означают эти проценты?”

Сегодня объясню в текстовом виде, чтобы было куда возвращаться и перечитывать на досуге.

Bottleneck (бутылочное горлышко, если переводить в лоб) - самая медленная часть вашей бекапной инфраструктуры. Узкое место или слабое звено, если хотите. Тот самый нехороший человек, которого семеро ждать не должны, но получается, что ждут. Если переключиться на более технический язык, то эта та часть инфраструктуры, в которой данные в среднем проводят больше всего времени. То есть обрабатываются дольше всего. Получается, что это чистой воды вопрос производительности (перфоманса, как принято говорить). И знание ответа на этот вопрос позволит нам понять, какую часть в цепочке обработки данных надо ускорить, дабы повысить общую скорость процесса.

И тут откровение номер раз: чтобы говорить о перфомансе на серьёзных щщах, надо напрямую измерять интересующие нас метрики и проводить их аналитику. Это статистика загруженности дисков, процессоров, памяти и так далее. Словом, построить внутри одного продукта ещё один продукт, только мониторинговый. Поэтому Veeam ничего напрямую не измеряет, однако в логах можно найти шесть метрик, сделанных путём опосредованных измерений. 

Во время старта джобы в интерфейсе Veeam начинает рисоваться график и появляются некие цифры производительности. А если после создания бекапа проанализировать эти цифры, то можно будет сделать довольно точный вывод об узких местах.

Читать далее

Угроза DoS — обсуждаем уязвимости протокола ICMP

Reading time3 min
Views5.6K

Так, одно из слабых его мест — механизм перенаправления. С его помощью злоумышленники могут управлять маршрутизацией трафика. Разберём, в чем тут дело и как этому можно противодействовать.

Читать далее

Реверс-инжиниринг популярного античита BattlEye

Reading time24 min
Views45K

BattlEye — это преимущетвенно немецкий сторонний античит, в основном разрабатываемый 32-летним Бастианом Хейко Сутером. Он предоставляет (или пытается предоставить) издателям игр простую в применении систему античита, использующую механизмы общей защиты, а также обнаружение читов для конкретных игр для оптимизации безопасности. Как сказано на веб-сайте продукта, он всегда остаётся на вершине современных технологий и использует инновационные методики защиты и обнаружения; очевидно, это следствие национальности разработчика: QUALITY MADE IN GERMANY. BattlEye состоит из множества элементов, совместно работающих над поиском читеров в играх, оплативших использование продукта. Четырьмя основными элементами являются:

  • BEService
    • Системная служба Windows, обменивающаяся данными с сервером BattlEye BEServer, который обеспечивает возможности клиент-серверной связи с BEDaisy и BEClient.
  • BEDaisy
    • Драйвер ядра Windows, регистрирующий превентивные механизмы обработки событий и мини-фильтры, чтобы препятствовать читерам в незаконном изменении игры
  • BEClient
    • Динамически подключаемая библиотека Windows, отвечающая за большинство векторов обнаружения, в том числе за описанные в данной статье. После инициализации она привязывается к процессу игры.
  • BEServer
    • Проприетарный бэкенд-сервер, отвечающий за сбор информации и принятие конкретных мер против читеров.

Шелл-код


Недавно в Интернете всплыл дамп шелл-кода BattlEye, и мы решили написать о том, что же конкретно ищет текущая версия BattlEye. Мы не анализировали BattlEye целых шесть месяцев, поэтому наш последний дамп шелл-кода скорее всего уже устарел. Различные части кода восстанавливали только по памяти из этого последнего дампа, предположив, что в BattlEye дополняется только шелл-код и не удаляются предыдущие процедуры обнаружения.
Читать дальше →

Флешка Rubber Ducky стала ещё опаснее

Reading time4 min
Views52K


Rubber Ducky — известное хакерское устройство, давно знакомое специалистам по информационной безопасности (и любителям сериала Mr. Robot). Первая версия вышла более десяти лет назад. С виду обычная флешка при подключении выдаёт себя за USB-клавиатуру и запускает произвольный скрипт. Это позволяет проводить необычные атаки, которые сложно обнаружить с помощью антивируса.

Атака Rubber Ducky — просто последовательность нажатий клавиш (чтобы открыть консоль и ввести в ней некоторые команды).
Читать дальше →

Как позвонить всем вокруг

Reading time11 min
Views65K

Мы в Postuf большие поклонники франшизы Watch Dogs - приключенческой видеоигры, в которой главный герой в лице Эйдена Пирса, имея доступ к вымышленной системе ctOS, способен проворачивать со своего смартфона разные хакерские трюки. Однажды нам стало интересно, возможно ли в реальной жизни повторить трюк звонка на телефоны находящихся рядом людей.

Оказалось, возможно

Культовая драм-машина 80-х — с ней можно познакомиться прямо в браузере

Reading time2 min
Views7.4K

Мы уже рассказывали о необычном проекте, который позволяет превратить шуршание пачки чипсов и стук керамической посуды в полноценный трек. Сегодня расскажем о другом ресурсе, где можно познакомиться с драм-машиной Roland TR-808 и с её помощью записать музыку для личного приложения или игры.

Читать далее

Linux выживальщика

Reading time9 min
Views77K

В сегодняшней реальности практически не бывает IT без интернета. Всё, чем мы пользуемся, ставится и обновляется из интернета, заливается обратно в интернет. А если доступа к интернету вдруг не станет?

Если вдруг вас позовут в срочную миссию на Марс. Или в длительную IT-робинзонаду на таинственный остров, куда каждому участнику можно взять на флешке только что-то одно из софта. Или вообще никуда не позовут, а просто заботливо и скрепно-надзорно будут пытаться обрубить все неуставные каналы связи с внешним миром.

Читать далее

Супертоксин своими руками. Диоксин и хлорбифенил из конденсатора старой лампы дневного света

Reading time17 min
Views35K
Началась вся эта история с того, что я учредил химическую антипремию (ХИМ/ДИЧЬ-2022 с призом в 1 млн. IRR и репродукцией Хайко Мюллера в виде бонуса). В качестве условного соискателя привел пример мужика, который свой гараж отапливал солярой, смешанной с жидким диэлектриком «совтол», слитым из трансформатора. Это вызвало шквал эмоций у читателей, поток фотографий пусковых конденсаторов от циркулярных пил в ЛС и массу сопутствующих вопросов («а этот точно не ядовит?!»). Под катом ответы на самые часто задаваемые вопросы, связанные с «конденсаторно-трансформаторным делом», инструкция для охотника за «паразитами» Ленинакана. Fun-а мало, матчасти много.


Читать дальше →

Питон против Безумного Макса, или как я посты на Хабре замораживал

Reading time8 min
Views37K

Я помню тот старый Хабр. Логотип был похож на комок шерсти после отрыжки кота, я писал какие-то наивные статьи и мне казалось, что я очень крут (нет), а народ пилил годные технические полотна текста, и чтобы узнать инфу про чёрные точки на лице, нужно было посещать другие сайты. Это было прикольно.

Потом что-то пошло не так, начали появляться какие-то полутехнические статьи, и (далее моя интерпретация событий) чтобы сохранить Хабр, всех нетехнических писателей заманили в один корабль и отправили куда подальше на гиктаймс - подобно тому, как врач ампутирует руку пациенту, чтобы спасти жизнь. В данном случае, правда, врач подержал эту руку, посмотрел на неё, а потом пришил обратно. Что из этого вышло?

Что из этого вышло

У Unity всё плохо

Reading time9 min
Views105K

На просторах интернета, и в частности хабра, очень трудно встретить статьи с критикой игрового движка Unity. Я решил это исправить, и приготовил вам текст о переходе на DOTS, насилию над C#, знаменитых UI пакетах, MonoBehaviour, универсальности и о многом другом.

Статья не требует от вас знаний о создании игр на Unity, я ее писал с учетом того, что ее будет читать обычный программист, который сравнивает плюсы и минусы разных движков, чтоб выбрать подходящий для своего проекта. В конце концов, может вам будет просто интересно узнать, что же это за движок такой, для которого курсы рекламируются на каждом шагу.

Читать далее

Мониторим сессию удаленного админа при помощи screen

Reading time2 min
Views11K
imageНедавно мне пришлось, что называется, перебороть себя. Дать доступ на свой любимый сервер некоему чужаку. Он натоптал своими грязными ботинками в моей уютной домашней директории, мацал косматыи лапами мои опрятные скрипты инициализации, рылся в логах, натащил в /opt какого-то барахла непонятно откуда. В общем, вел себя, как у себя дома.

Шучу, конечно. Удаленно зашел техник, установил специализированый софт своей фирмы, и удалился восвояси. Но, как говорится, в каждой шутке есть доля правды. Я довольно долго настаивал, чтобы фирма выслала свой софт и инструкции по установке. После того, как стало ясно, что этот номер не пройдет, стал обдумывать, как проконтролировать удаленного работника.

Собственно, решение основано на программе screen. Это консольных оконный менеджер, про который на хабре уже писали.
Читать дальше →

Какой игровой движок выбрать?

Reading time6 min
Views34K

Всём привет! Меня зовут Дядиченко Григорий, и я CTO Foxsys. В разработке я порядка 8 лет, а занимаюсь игровой или AR/VR разработкой последние лет 6. Сразу скажу, что в данной статье нет простого ответа “этот игровой движок лучше”, и она не претендует на объективность. Я лишь расскажу мнение с точки зрения технического директора и человека за плечами которого порядка 40 коммерческих проектов. Если вам интересно — добро пожаловать под кат.

Читать далее

Памятка/шпаргалка по SQL

Reading time29 min
Views1.2M

Доброго времени суток, друзья!


Изучение настоящей шпаргалки не сделает вас мастером SQL, но позволит получить общее представление об этом языке программирования и возможностях, которые он предоставляет. Рассматриваемые в шпаргалке возможности являются общими для всех или большинства диалектов SQL.

Читать дальше →

Nginx. О чем не пишут в книгах

Reading time9 min
Views48K

Эта статья родилась случайно. Слоняясь по книжному фестивалю и наблюдая, как дочка пытает консультантов, заставляя их искать Иэна Стюарта, мой глаз зацепился за знакомые буквы на обложке: "Nginx".

Надо же, на полках нашлось целых три книги - не полистать их было бы преступлением. Первая, вторая, третья... Ощущение, будто что-то не так. Ну вроде страниц много, текст связный, но каково содержание? Установка nginx, список переменных и модулей, а дальше docker, ansible. Открываем вторую: wget, лимиты запросов и памяти, балансировка, kubernetes, AWS. Третья: GeoIP, авторизация, потоковое вещание, puppet, Azure. Ребята, а где про то, как вообще работает nginx? На кого рассчитаны ваши книги? На состоявшегося админа, который и так знает архитектуру этого веб-сервера? Да он вроде с базовыми настройками и сам справится. На новичка, который не знает как пользоваться wget? Вы уверены, что ему знание о существовании ngx_http_degradation_module и тем паче "облака" важнее порядка прохождения запроса?

Итак. О чем не пишут в книгах.
(здесь и дальше мы говорим только о NGX_HTTP_)

Фазы обработки запроса

22 полезных примера кода на Python

Reading time5 min
Views788K

Python — один из самых популярных языков программирования, чрезвычайно полезный и в решении повседневных задач. В этой статье я вкратце расскажу о 22 полезных примерах кода, позволяющих воспользоваться мощью Python.

Некоторые из примеров вы могли уже видеть ранее, а другие будут новыми и интересными для вас. Все эти примеры легко запоминаются.
Читать дальше →

Правило резервного копирования «3-2-1». Часть 1

Reading time4 min
Views129K
Считается, что бэкап-правило «3-2-1» впервые описал Peter Krogh в своей книге «Управление цифровыми активами для фотографов». И это, наверное, неудивительно, так как потеря личного архива означает для профессионального фотографа полную катастрофу, и он просто обязан придерживаться такой стратегии резервного копирования, которая гарантировано защитит его от потери данных.



Итак, правило «3-2-1» гласит, что для обеспечения надежного хранения данных, необходимо иметь как минимум:
  1. ТРИ резервные копии,
  2. которые должны быть сохранены в ДВУХ различных физических форматах хранения,
  3. причем ОДНА из копий, должна быть передана на внеофисное хранение

Все три составляющих правила базируются на принципе обеспечения отказоустойчивости через избыточность хранения данных.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity