Что мы обычно представляем под исследованием бинарных файлов .NET? Обычно все просто: открываешь сборку в DnSpy или ILSpy, получаешь очень близкий к исходнику C# (может и не очень близкий, а обфусцированный) и дальше уже думаешь не про восстановление логики, а про анализ исходного кода — даже не нужно нажимать F5...
В стандартных .NET-сборках компилятор сохраняет символы приложения в виде метаданных, необходимых для работы рантайма и рефлексии. DnSpy даже поддерживает экспорт содержимого сборки в проект для Visual Studio, что размывает границу между исследованием исходников и бинарного файла.
Но платформа от Microsoft развивается, и теперь .NET-приложения могут исполняться не только через CLR, но и компилироваться в машинный код целевой платформы с помощью Ahead-Of-Time. Исторически первым таким решением стал NGEN (2002) — установочная предкомпиляция для .NET Framework, однако он требовал ручного запуска, дублировал IL-код и не обновлялся автоматически при изменении рантайма. Затем, в 2015 году, появился .NET Native — первый полноценный AOT, но исключительно в UWP-приложениях для Windows Store. В современной ветке .NET (Core/5+) следующим шагом стал ReadyToRun (2019), с возможностью переключения на IL, а затем и Native AOT, в котором была полностью убрана зависимость сборки от рантайма .NET.
В данной статье рассмотрим, с чем может столкнутся реверсер при исследовании .NET приложений, собранных с использованием Ahead-Of-Time компиляции в современных версиях .NET.
Читать далееНедавно правительство Швеции объявило о переходе от использования цифровых устройств в классах обратно к бумажным книгам. В качестве причины были названы опасения по поводу снижения оценок на экзаменах и увеличения времени, проводимого за экранами.
Обоснованы ли эти опасения? И что говорит наука о возможных последствиях чтения с цифровых устройств по сравнению с книгами?
Чтобы ответить на эти вопросы, стоит помнить: хотя чтение может показаться лёгкой задачей, это впечатление обманчиво. Чтение — пожалуй, самая сложная задача, которую нужно освоить; для овладения ею требуются годы формального образования и практики. В отличие от устной речи, это навык, к которому у нас нет биологической предрасположенности.
Читать далееРазработка pgBackRest, популярного свободного инструмента для резервного копирования и восстановления баз данных PostgreSQL, продолжится. Об этом сообщил сопровождающий проекта Дэвид Стил (David Steele): за последние недели вокруг проекта сформировалась группа спонсоров, готовых финансировать дальнейшую разработку. Благодаря этому pgBackRest больше не будет зависеть от одного корпоративного спонсора, что должно сделать развитие проекта устойчивее в долгосрочной перспективе.
История получилась показательной. В конце апреля Стил объявил, что прекращает работу над pgBackRest и архивирует репозиторий. Причиной стала невозможность найти устойчивое финансирование после потери прежней корпоративной поддержки. По словам разработчика, pgBackRest был его основным проектом на протяжении 13 лет, но поддерживать такой инструмент по ночам и выходным бесконечно невозможно.
pgBackRest используется для резервного копирования, восстановления и архивирования PostgreSQL. Проект рассчитан не только на небольшие инсталляции, но и на крупные базы и серьёзные производственные нагрузки. Текущей стабильной версией указана pgBackRest 2.58.0.
Среди новых спонсоров названы AWS, Supabase, pgEdge, Tiger Data, Percona и Eon. В объявлении подчёркивается, что эти компании сами полагаются на pgBackRest для обеспечения восстановления после сбоев в своих продуктах и инфраструктуре клиентов.
Percona отдельно объявила о присоединении к финансированию pgBackRest. Компания заявила, что поддержка позволит вернуть Дэвида Стила к активной работе над проектом, выделить время на исправление ошибок, разработку новых возможностей и ревью изменений от сообщества. Кроме того, Percona намерена участвовать в подготовке нового сопровождающего, чтобы проект не оказался снова завязан на одного человека.
Из важных деталей:
Разработка не остановится. После апрельского объявления о фактической остановке проекта ситуация изменилась: pgBackRest продолжит развиваться, а сопровождающий возвращается к работе.
Финансирование теперь коллективное. Проект больше не должен зависеть от одной компании. Это важный момент: прежняя модель уже показала свою хрупкость, когда потеря одного спонсора поставила под угрозу весь инструмент.
Планируется расширение команды сопровождения. Один из выводов из кризиса — необходимость не только денег, но и передачи знаний. В проект хотят привлечь ещё одного сопровождающего, чтобы снизить риск повторения ситуации.
Пользователям PostgreSQL не нужно срочно мигрировать. После архивирования репозитория часть администраторов начала обсуждать альтернативы вроде Barman и pgmoneta, но теперь у pgBackRest снова появился понятный путь развития. Для существующих установок это означает, что можно не принимать аварийных решений только из-за страха прекращения поддержки.
История стала напоминанием о цене инфраструктурного FOSS. pgBackRest — не модная игрушка, а инструмент, от которого зависят резервные копии PostgreSQL в production. Но даже такие проекты часто держатся на одном-двух людях, пока бизнес воспринимает их как «бесплатную инфраструктуру из воздуха».
Технически pgBackRest остаётся тем же инструментом: поддерживаются полные, дифференциальные и инкрементальные резервные копии, параллельное выполнение операций, локальные и удалённые репозитории, проверка целостности, работа с несколькими хранилищами и архивирование WAL. Проект распространяется под лицензией MIT.
Состоялся релиз почтового клиента Thunderbird 151.0, развиваемого сообществом Mozilla. Выпуск доступен для Linux, Windows и macOS; в системных требованиях для Linux указано наличие GTK+ 3.14 или новее. Релиз опубликован 19 мая 2026 года.
Главное изменение выпуска — развитие поддержки OAuth и Exchange-сценариев. В Thunderbird 151.0 добавлен вход в Thundermail через OAuth с автоматической настройкой учётной записи, а для учётных записей EWS появилась возможность переопределять параметры OAuth-провайдера. Это может быть полезно в корпоративных конфигурациях, где используются нестандартные параметры авторизации или собственные настройки Microsoft Exchange.
Из пользовательских изменений также отмечена возможность сортировать задачи по дате создания или изменения. Кроме того, разработчики вернули проверку Thunderbird как приложения по умолчанию при запуске программы. В работе с OpenPGP изменено поведение подписанных писем: публичный ключ OpenPGP больше не прикрепляется по умолчанию к сообщениям, которые только подписываются, но не шифруются.
( читать дальше... )
Navigation API предоставляет возможность инициировать (программно запускать), перехватывать и управлять навигацией в браузере. Он также позволяет исследовать (traverse) сущности истории (history entries) приложения. Это улучшенный вариант предыдущих возможностей веб-платформы, связанных с навигацией, таких как History API и window.location, который решает их проблемы и специально предназначен для одностраничных приложений (single-page applications, SPA).
Читать далееПровести честный тест на 30 000 ВРМ, сжечь 400 тысяч процессорных ядер-часов и доказать, что отечественная связка из RED OS, 1С и Postgres Pro Enterprise способна стабильно держать промышленную нагрузку в 1 Тб — выполнено. Рассказываем историю одного большого нагрузочного тестирования длиною в три месяца
Читать далее28 мая. Москва. Java Рок Стар Митап. Ничего лишнего.
В программе: превратности @Transactional в Spring, зачем нужно такое количество языков программирования и, конечно же, офлайн-общение.
Регистрируйтесь на митап по ссылке.
P.S. А пока присоединяйтесь к нашему ТГ-каналу и чату Java Rock Stars Meetup, чтобы быть в курсе новостей митапа.
Читать далееСовременное проектирование уже невозможно представить без технологий информационного моделирования. BIM-модель здания собирается из тысяч компонентов — семейств, которые содержат не только геометрию, но и параметры для расчётов, спецификаций и автоматизации. Однако по мере роста инжиниринговой компании и увеличения числа заказчиков возникает фундаментальная проблема: как управлять библиотекой, когда у разных клиентов — разные требования к одним и тем же элементам?
Эта ситуация знакома любой крупной проектной организации. Для одного заказчика дверь должна иметь определённый набор параметров и уровень детализации, для другого — совершенно иной. Раньше приходилось создавать копии каталогов под каждого клиента. Это быстро превращалось в беспорядок: одни и те же BIM-компоненты дублировались по разным папкам, терялась актуальность, а на оптимизацию уходило большое количество времени. Специально для решения этой задачи в Family Manager, системе для управления библиотеками BIM-компонентов, появился функционал «Стандарты».
Читать далееЕсли бюджет и ресурсы ограничены, а развернуть self-hosted LLM нужно, присмотритесь к такой связке: Mistral-7B-Instruct-v0.3 + виртуальная машина с RTX A5000 24GB в облаке + vLLM. Да, это далеко не энтерпрайз-уровень, но для некоторых базовых сценариев результат работы будет очень даже хорошим.
Собственно, в этой статье мы развернем сервер с GPU, подготовим Python-окружение, установим vLLM, запустим модель, отправим тестовый запрос через API и посмотрим на базовые метрики, которые помогут оценить выбранную конфигурацию.
Читать далее6-я статья из цикла туториалов о кастомизации своего бизнес-портала в Битрикс24.
Во всех наших туториалах мы опираемся на стартовый шаблон-репозиторий AI-starter-kit: https://github.com/bitrix-tools/b24-ai-starter. Это подготовленная для ИИ-ассистированной разработки база, которую удобно довести до работающего приложения с нужными функциями.
Сегодня рассказываем, почему ещё стартер-кит упрощает создание приложений и почему он может стать стандартом разработки.
Что есть в других статьях на сегодня:
1. Пишем первое приложение с AI-стартером, чтобы видеть прибыли и убытки
2. Добавляем в бизнес-портал Битрикс24 роботов для автоматизации
3. Что даёт воспроизводимая среда разработки и как развернуть контейнеры на VPS
4. Анализ и модернизация коннектора баз данных с помощью AI-агентов
5. Создание чат-бота в портале Битрикс24 с помощью AI-агентов
6. Как стартер-кит может стать стандартом разработки (вы здесь)
По бумагам 1200 ноутбуков. ИТ-отдел уверен, что 1050. В сети работает 980. Куда делись остальные — и кто платит за их лицензии?
Найти ноутбукиВ области встроенных систем и СВЧ-электроники применение «тяжёлых» нейросетевых решений (включая TinyML) часто ограничено вычислительными ресурсами и энергопотреблением.
В статье рассматривается альтернативный подход: частотная дискриминация с помощью двух амплитудных детекторов с разной нелинейностью отклика. Разница их выходных напряжений формирует уникальный «отпечаток» частоты. Для классификации используется однослойный перцептрон, реализованный на 8-битном микроконтроллере К1946ВМ014 (аналог ATmega8535) с целочисленной арифметикой.
Представлены схема устройства, алгоритм обучения и экспериментальные результаты распознавания частотных диапазонов. Код (95 строк) и основные технические решения.
Читать далееКогда компания маленькая, все просто: пара разработчиков тянет образы напрямую с Docker Hub, и никто особо не задумывается, как это работает. Работает — и ладно.
Потом компания начинает расти. У нас, например, это происходило быстро: новые команды, новые продукты, новые процессы. Пришли безопасники с длинным списком требований, CI/CD-пайплайны стали падать в самый неподходящий момент. И тогда стало понятно: то, что работало на старте, больше не работает.
Меня зовут Тимофей Якунин, я менеджер облачного сервиса Evolution Artifact Registry в Cloud.ru. Прошел путь от фулстек-разработчика до руководителя отдела. Я больше пяти лет в облаке, строил разработку с нуля в двух облачных компаниях. Ниже — история о том, как мы прошли путь от простого хранилища до сервиса, на который завязаны и клиенты, и наша собственная инфраструктура.
Читать далееМесяц назад мне в личку прислали фишинговую ссылку под MAX. Разобрал её, попутно вынес устройство протокола: опкоды, формат фрейма, флаги push-подписки, антибот-эвристики. Через две недели применил это знание к мирной задаче: собрал в том же мессенджере своего AI-секретаря, который пишет первым коллегам, бронирует столики и ведёт переписки до результата.
Всё через User API без регистрации, MCP-сервер на семь тулов, рабочий репозиторий с граблями. Делюсь инструкцией.
Читать далееГде-то прямо сейчас один программист не спит и патчит баг в библиотеке, от которой зависит половина интернета. Он делает это бесплатно. Его никто не знает. Если он уйдёт — никто не придёт.
Это история про структурную уязвимость, которую мы все создали вместе и продолжаем игнорировать.
Статья-продолжение к четвертой теме: там обсудили, как подстелить соломки, если еще только маячит "оптимизация в компании". Но у кого-то кадровые пертурбации уже начались.
Анонимный вопрос участника: страх сокращения понятен, а что делать, если правда сократили? Как на это посмотрят новые потенциальные работодатели?
Читать далееЧасть I: Первопричина - атака Mini Shai-Hulud на экосистему TanStack
Цепочка поставок как вектор атаки
11 мая 2026 года, в промежутке с 19:20 до 19:26 UTC, произошло одно из наиболее технически изощрённых событий в истории атак на цепочку поставок npm. Группировка TeamPCP опубликовала 84 вредоносные версии пакетов в рамках 42 пакетов из пространства имён @tanstack/* - и всё это за шесть минут.
Кампания получила название Mini Shai-Hulud - отсылка к гигантским песчаным червям из вселенной «Дюны» Фрэнка Герберта. Это не первая волна активности TeamPCP: до этого они скомпрометировали сканер Trivy от Aqua Security в марте 2026-го и npm-пакет Bitwarden CLI в апреле 2026-го. Каждая следующая волна технически сложнее предыдущей.
Как работала атака: три уязвимости в одной цепочке
Атака объединила три уязвимости, каждая из которых по отдельности была бы недостаточна. Злоумышленник создал форк репозитория TanStack/router, открыл pull request, который запустил workflow с триггером pull_request_target, и отравил кэш GitHub Actions через границу доверия fork↔base. Когда легитимный workflow сработал, отравленный кэш был восстановлен, а вредоносный код извлёк OIDC-токен прямо из памяти процесса runner'а.
Ключевой момент: злоумышленники не крали статические npm-токены. Вместо этого они извлекали runtime OIDC-токены напрямую из памяти процесса runner'а, что позволило им аутентифицироваться легитимным образом через trusted publisher bindings и публиковать скомпрометированные обновления в npm-реестр.
Масштаб заражения
Читать далееУже более 10 лет английский является моим основным каналом для получения информации. Все эти годы я очень много читал, включая художественную литературу и техническую документацию, но ещё больше слушал — аудиокниги и YouTube. Я уверен, что в сумме это не менее 5 000 часов.
Как это повлияло на мою способность говорить? В сухом остатке — никак. Если бы мне пришлось начинать сейчас сначала, то я бы безусловно выбрал другой путь. Под катом рассказываю о реальных плюсах и минусах метода Comprehensible Input, почему толерантность к неопределенности мешает говорить правильно, и как перевести язык из пассивного знания в процедурный навык.
Узнать, почему понимание не ведет к говореОднажды у нас появилась задача, которая (на первый взгляд) выглядела очень простой: сделать опросник в приложении. На макетах всего лишь пара экранов, несколько вопросов, кнопка «Далее». Всё красиво, не сухо, с картинками у вариантов ответа и нормальной подачей, а не в формате «Заполните обязательные поля»
Судя по макету всё просто: сверстать флоу и отправить все ответы одним POST в конце. Самый короткий путь — зашить вопросы, переходы и тексты на клиенте. Делов на пару дней — сделал и забыл.
Но если опросник перестаёт быть одноразовой анкетой, а становится частью живого продукта, начинается веселье: сегодня нужно поменять текст, завтра - картинку, потом - порядок вопросов, потом - ветвление, потом - похожий сценарий для другой группы пользователей.
Каждая правка текста, картинки, порядка вопросов или маршрута снова уезжает в релизный цикл web, iOS и Android. А синхронизировать такие изменения между тремя платформами намного сложнее, чем кажется на старте.
По некоторым косвенным признакам мы понимали, что с этой анкетой всё будет именно так, поэтому в качестве альтернативы мы выбрали путь backend-driven UI, когда клиент показывает поддерживаемые типы экранов, а backend управляет сценарием: текстами, изображениями, порядком шагов, переходами и состоянием прохождения.
Ниже расскажу почему мы пошли в backend-driven подход, где он действительно помог, а где показал явные ограничения и мог выбить нас из сроков.
Читать далее8–10 октября 2026 года в Санкт-Петербурге пройдет INFOSTART TECH EVENT — техническая конференция для 1С-сообщества.
В этом году конференция пройдет в стилистике темного фэнтези. Но главное останется прежним: сильная техническая программа, практические доклады и живое общение с коллегами.
Прием заявок на доклады уже открыт....
Читать далее