Search
Write a publication
Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Оптимизируя sequences — или как мой код попал в kotlin

Level of difficultyHard
Reading time12 min
Views7.2K

Рассказ о том, как я оптимизировал несколько функций kotlin sequences и как мои оптимизации попали в релиз kotlin 2.0

Читать далее

У нас в Excel поселился замечательный Python

Level of difficultyMedium
Reading time5 min
Views45K

На Хабре уже была новость об этом знаменательном событии. Правда, она похожа на пересказ официального пресс-релиза Microsoft, но такой и должна быть "новость".

Читать далее

Рынок данных в даркнете: как купить чужие данные и не потерять свои

Reading time23 min
Views34K

Уже 3 года подряд компания Privacy Affairs публикует на своем сайте исследование рынка информационных услуг в даркнете. Первое исследование носило характер обзора и вышло в 2020 году. В 2021, 2022 и 2023 году специалисты компании анализировали динамику цен на те услуги, которые постоянно присутствуют в даркнете. 

Исследование 2023 года содержит массу деталей, иллюстрирующих три закономерности: масштабы мошенничества с личными данными стабильно растут, цены пугающе снижаются, борьба правоохранительных органов с мошенниками не приносит значимых результатов. За несколько десятков долларов мошенники могут получить доступы от ваших карт и криптокошельков, а за несколько тысяч долларов можно «стать другим человеком»: заказать полный набор физических поддельных документов гражданина другой страны, получить данные банковских карт и логины-пароли от социальных сетей. 

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

Читать далее

Road Run, или как я свою первую игру делал. Часть 1

Level of difficultyEasy
Reading time13 min
Views7.8K

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

Читать далее

Стилер из торрентов: как скачивание пиратской программы привело к заражению сотен тысяч пользователей

Reading time4 min
Views7.2K

В конце лета 2023 года наш SOC с помощью системы мониторинга событий ИБ MaxPatrol SIEM зафиксировал аномальную сетевую активность. После этого привлекли нас, команду по расследованию инцидентов (PT CSIRT). Как выяснилось, пользователь одной из российских компаний был скомпрометирован достаточно простым, но неизвестным ранее вредоносным ПО. Мы не обнаружили ни следов фишинга, ни взлома внешнего контура, ни применение других техник — пострадавший всего лишь установил программу, скачанную через торрент.

Вредоносная программа собирала информацию о компьютере жертвы, устанавливала RMS (программу для удаленного управления) и майнер XMRig, архивировала содержимое пользовательской папки Телеграма (tdata) — и это лишь наиболее деструктивные действия. ВПО отправляло собранную информацию в телеграм-бот, который выступал в роли контрольного сервера.

Нашей команде удалось установить более 250 000 зараженных устройств в 164 странах (большинство жертв — обычные пользователи, которые скачивают нелегальные программы с сайтов на свои домашние компьютеры) и определить вероятного автора вредоноса, который мы назвали autoit stealer.

Читать расследование

Какую информацию современный автомобиль собирает о водителе и пассажирах

Reading time5 min
Views9.8K


Современный автомобиль — это не просто средство передвижения, а скорее компьютер на колёсах. Около половины его стоимости составляет электроника и софт: сенсоры, контроллеры, компьютерные компоненты и управляющее ПО.

К сожалению, вслед за производителями телевизоров и другой бытовой техники автоконцерны тоже открыли для себя новый источник доходов — сбор данных о своих пользователях (то есть автовладельцах). Такие выводы можно сделать из недавнего отчёта «Приватность не включена» от организации Mozilla. Если верить документу, современный автомобиль — это настоящий комбайн по сбору персональных данных.
Читать дальше →

Стек протоколов BLE 5 -физический уровень

Level of difficultyEasy
Reading time9 min
Views6.5K

Физический уровень - это нижний уровень стека протоколов BLE, который определяет основные радиочастотные параметры связи BLE, включая частоту сигнала, схему модуляции и т.д.

Рабочая частота BLE составляет 2,4 ГГц. Он использует частотную модуляцию GFSK и использует механизм скачкообразной смены частоты для решения проблемы перегрузки канала.

Существует три схемы реализации для физического уровня BLE 5, а именно некодированный физический уровень со скоростью 1 Мb/s, некодированный физический уровень со скоростью 2 Мb/с и кодированный физический уровень со скоростью 1 Мb/s. Среди них некодированный физический уровень со скоростью 1 Mb/s совместим с физическим уровнем протокола серии BLE v4, в то время как два других физических уровня увеличивают скорость связи и расстояние связи соответственно.

Читать далее

Как и почему я писал для Флиппера на Си-с-классами

Level of difficultyMedium
Reading time8 min
Views12K
Мой Флиппер дошёл до меня больше полугода назад, но что-то под него написать я собрался только сейчас. Его API рассчитаны на язык С — а у меня с ним опыта не очень много. Но проблем с тулингом не возникло — у Флиппера есть своя система сборки, которая скачала мне нужный тулчейн и сгенерировала настройки для IDE.

А для написания кода я решил использовать всё же не C, а C++ — точнее, даже «Си-с-классами». На мой взгляд, затуманенный языками более высокого уровня, такой подход получился удобнее, чем писать на чистом C. Результат можно увидеть в моём репозитории, а в этой статье я попытаюсь описать, какие конкретные фичи языка я использовал, и как именно они мне помогли.

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

Читаем/записываем файл в Андроиде без запроса пермишинсов

Level of difficultyEasy
Reading time2 min
Views8.3K

Считаете, что для чтения файла в андроиде нужен

Manifest.permission.READ_EXTERNAL_STORAGE

Сейчас я раскажу как это сделать совсем без запроса пермишинов.

Читать далее

Варианты беспроводного подключения для приложений интернета вещей — сравнение технологий

Level of difficultyEasy
Reading time5 min
Views5.1K

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

Читать далее

Хотели сделать Alan Wake 2, а вышло…

Level of difficultyEasy
Reading time12 min
Views16K
image

Alan Wake, вышедший на XBOX 360 в США 18-го мая 2010-го, был обречён на релизный провал. Мало того, что игре финской студии Remedy пришлось конкурировать с монументальной и великой Red Dead Redemption от Rockstar, так ещё и проект был исключительно эксклюзивным, да и маркетинг у него был откровенно слабым, ибо триллеры в стиле «Твин Пикс» сложно продать массовой аудитории.

В дальнейшем игра продалась тиражом в не самые значимые 3 миллиона копий. Могла бы и больше, но Nitro Games, отвечавшие за PC-порт Alan Wake, напортачили с настройками графики и достаточно неудобным управлением. Ещё и знаменитый сервис Games for Windows Live в 2012-ом добавлял геймерам немало головной боли.


Одно воспоминание вызывает скрежет на зубах…

В любом случае, момент был упущен. Microsoft как издатель совершенно не верили в мрачную историю о писателе. Означало ли это, что Remedy послушались своих тогдашних хозяев? О нет. Сегодня мы поговорим о двух проектах, которые так или иначе родились из желания финнов сделать Alan Wake 2. Что они хотели, что получилось, и к чему всё это привело. Интригует? Если да, то поехали разбираться.
Читать дальше →

Что бывает, когда в настольный футбол играют разработчики: проапгрейдили не только игру, но и корпоративную культуру

Level of difficultyEasy
Reading time4 min
Views2.3K

Теперь голы считаются автоматически, соперника вызывают на бой через телеграм-бота, а система оповещает звуками «Мортал Комбат» Fight! Расскажу, как провели цифровую трансформацию настольного футбола.

Читать далее

Как создать API в облаке менее чем в 200 строках кода

Level of difficultyHard
Reading time13 min
Views12K
Современные облачные инструменты и пакеты Python стали настолько мощными, что с их помощью можно создать (масштабируемый) облачный API менее чем в 200 строках кода. В этом посте будет рассмотрено, как при помощи lines Google Cloud, Terraform и FastAPI развернуть в облаке полноценный API, через который можно отвечать на запросы.

Репозиторий к этому проекту находится здесь, пользуйтесь им, если захотите опробовать весь код сами.

image

Пример API, возвращающего данные. О том, как его создать, рассказано в этом посте.
Читать дальше →

Превращаем обычный электросчетчик в умный: продолжаем осваивать Samsung SmartThings

Level of difficultyHard
Reading time9 min
Views36K

Вам не кажется, что вручную переписывать цифры с ЖК-экрана на электросчетчике каждый месяц - это немного странное занятие? Все слышали про умные электросчетчики, но не все готовы заплатить несколько тысяч (а счетчик с дистанционным снятием показаний стоит как минимум 15000 рублей). И не факт, что этот электросчетчик нормально встроится в вашу экосистему умного дома, скорее всего там будет свое собственное закрытое приложение.

Как насчет старого доброго DIY? Давайте сделаем свой собственный умный электросчетчик с подключением к любой платформе, которую захотим. И делать мы это будем максимально мягкими методами, без вскрытия корпуса самого счетчика.

Расскажем, как мы подключили электросчетчик «Меркурий» к ESP32 двумя разными способами (через встроенные интерфейсы RS-485 и оптопорт), соединили по Wi-Fi с платформой Samsung Smart Things и получили возможность записывать статистику энергопотребления в реальном времени чтобы оптимизировать свои траты на электроэнергию.

Читать далее

Как мы удвоили разрешение фотографий с помощью камеры Flutter на iOS

Level of difficultyMedium
Reading time5 min
Views3.6K

Привет, меня зовут Сергей, и я мобильный разработчик в компании Brickit. Некоторое время назад мы наконец мигрировали приложения для iOS и Android на общий код на Flutter. Мы были в восторге от результата, но сам переход был далеко не гладким. Одной из важных частей этой авантюры была настройка и использование плагина камеры, что оказалось нетривиальным как на iOS, так и на Android. В этой статье я расскажу о проблеме с недостаточно высоким разрешением фотографий на iOS, немного объясню, как работает оригинальный плагин, и предоставлю наше решение с примерами кода о том, как сделать это лучше. Ссылка на полный код в конце статьи.

Читать далее

Разработка RESTful API: как использовать ExpressJS и другие фреймворки для создания RESTful API

Reading time9 min
Views8K

RESTful API — это одна из самых популярных архитектурных моделей для создания веб-сервисов и приложений. Понимание основных концепций REST и принципов RESTful API играет решающую роль при разработке современных веб-приложений.

Читать далее

Как вести переписку с контрагентами, чтобы вернуть свои деньги, если что-то пойдет не так

Level of difficultyEasy
Reading time3 min
Views5.6K

Никому не хочется заморачиваться с бумажной волокитой: акты, согласования, вот это всё. Хочется заплатить (или получить) денег и сделать результат.

Проблемы возникают, когда контрагент начинает делать что-то не то. Заказчик орёт: "Переделывайте!", подрядчик просит дополнительный аванс. Чтобы подготовиться к такому, важно вести переписку так, чтобы с ней можно было дойти до суда и получить свои деньги.

Узнать, что дальше

Реверс-инжиниринг первых умных часов Seiko UC-2000

Reading time32 min
Views32K


Где-то в конце 1983 — начале 84 года, японская компания Seiko начала продавать первые в истории компьютеризированные часы — Seiko Data-2000 и Seiko UC-2000. Data-2000 имели возможность хранить 2КБ заметок, их нужно было вводить с помощью специальной компактной клавиатуры, которая шла в комплекте. UC-2000, по сути, те же Data-2000 с корпусом другого цвета, но они уже позиционировались как часть Наручной Информационной Системы, которая, среди прочего, включала терминал UC-2200, представляющий из себя компьютер с Z80-совместимым процессором, интерпретатором Бэйсика и термопринтером, но без экрана, в качестве которого использовались часы (как это не странно). Среди прочего, терминал давал возможность загружать на часы приложения со специальных картриджей. Подробнее о линейке ранних умных часов Seiko можно почитать, например, в этой статье. В этом же посте я расскажу, как написал (возможно) первую, за более чем 33 года, программу для этих часов.

Так какой же процессор использовался в играх Brick Game?

Level of difficultyMedium
Reading time6 min
Views34K

На это небольшое исследование меня натолкнула опубликованная недавно на Хабре статья, в которой автор предположил, что в знаменитых "Тетрисах" из 90-х мог использоваться 4-битный микроконтроллер Holtek HT1130. Меня сильно удивило (и мотивировало), что, по всей видимости, до сих пор не снят образ ПЗУ и, соответственно, не написан эмулятор для этой линейки игр.

Заглянем под черную каплю компаунда

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity