Как стать автором
Обновить
59.65

Разработка под Windows *

Разработка под операционные системы от Microsoft

Сначала показывать
Порог рейтинга
Уровень сложности

WindowsHostsManager: Консольная утилита для работы с файлом hosts в Windows на Python

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.5K

Иногда возникает необходимость внести изменения в файл hosts в Windows. Вместе с этой потребностью родилась идея создать небольшую утилиту на Python, которая бы упростила процесс редактирования этого файла. В результате появился WindowsHostsManager — инструмент, созданный всего за 30 минут и предназначенный для удобного управления файлом hosts.

Читать далее

Как я исправил сбой Microsoft Store в Windows (и при чём здесь Python)

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров9K

Весной 2022 года у меня неожиданно перестал работать Microsoft Store. Вместо загрузки списка приложений (хотя бы бесплатных) просто отображалось сообщение о невозможности загрузить страницу и код ошибки: 0x80131500.

Читать далее

Интригующее расследование QUEENCREEK

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров6K

На ваших машинах — будь то домашних ПК или корпоративных серверах — установлено много программного обеспечения, которое разработано с учётом автоматического запуска без участия пользователя.

Вот хорошие примеры:

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

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

Как создавалось меню «Пуск» в Windows: от битмапов до динамического рендеринга

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.1K

В мире разработки операционных систем немногие элементы пользовательского интерфейса могут похвастаться такой же узнаваемостью и функциональной значимостью, как меню "Пуск" в Windows. Этот компонент, ставший неотъемлемой частью пользовательского опыта Microsoft, прошел долгий путь эволюции, отражающий технологический прогресс и изменения в подходах к проектированию интерфейсов. Давайте вспомним, каким оно было и поговорим про технические аспекты создания меню "Пуск", опираясь на инсайдерскую информацию от Дэйва Пламмера, одного из ключевых разработчиков этого элемента.

Читать далее

Истории

«Бобер выдыхай»: Go, WinAPI и ассемблер

Уровень сложностиСложный
Время на прочтение22 мин
Количество просмотров10K

Что вам приходит в голову при слове «Golang»? Google и микросервисы? Я тоже так думал, но реальность оказалась значительно интересней.

Читать далее

Сравнение технологий для написания оконных приложений

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров14K

Как-то раз в одном чате прозвучала идея сравнить разные технологии для написания оконных приложений. В частности, под Windows. Используя средства языка C#. То есть, конечно, можно это сделать и с помощью C++, Python, Rust, JS и других языков, но мы же шарписты, нам интереснее именно то, что мы можем сами использовать, не меняя язык программирования.

Итак, оконные приложения на C#.

Читать далее

Библиотека EremexControls.NET для Avalonia UI — Обновление июль-август 2024

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.6K

Мы решили на регулярной основе рассказывать вам о развитии нашей линейки контролов для Avalonia UI. За время, прошедшее с момента предыдущей публикации, появилось несколько интересных моментов и один новый компонент.

Читать далее

Chrome 127 — опять «пиратим» для Windows 7

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров7.2K

Вышла 127 версия браузера Google Chrome.

Вы уже предвкушавшие, что статья будет посвящена обзору нововведений в популярном браузере? Вообще-то да, только в очередной раз делать это будем через отладчик x64dbg (или любой другой по вкусу, кроме gdb).

Читать далее

Множества Мандельброта — на Delphi

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров2K
Я нарисовал множества Мандельброта на Delphi а не flat assembler!
Embarcadero Delphi for Win32 compiler version 35.0
А именно:

DCC32.EXE
rlink32.dll
SysInit.dcu
System.dcu

Все!


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

Windows 3.1 спасла авиакомпанию Southwest Airlines

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5K

Когда 19 июля этого года произошел глобальный ИТ-сбой, он вызвал хаос в аэропортах, став причиной ​​сотен задержанных и отмененных рейсов. Экраны миллионов компьютеров отображали BSoD (синий экран смерти). Однако от проблемного обновления CrowdStrike меньше всех пострадала Southwest Airlines, четвертая по величине авиакомпания в США. Причина в том, что перевозчик до сих пор пользуется операционной системой Windows 3.1.

Читать далее

Быстрый поиск по разной документации

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.6K

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

Сначала мне пришла мысль взглянуть на уже существующие решения, среди которых есть мною любимый Zeal, однако, он доступен только для Windows и Linux, я же крепко сижу в заложниках на MacOS из-за специфики работы и удобства.

На сайте Zeal предлагают перейти на сайт Dash, который по сути является прародителем Zeal, однако, он платный и за него невозможно заплатить в пределах РФ, поэтому я продолжил дальше искать аналоги.

Среди альтернатив также есть DevDocs, который может работать оффлайн в браузере (благодаря PWA), однако, я заметил, что все время держать открытой лишнюю вкладку для поиска в доках было не лучшей идеей (ибо вкладку все равно нужно было бы искать, среди тонны вкладок со StackOverflow и прочим).

Решение с быстрым поиском

В Firefox и Google Chrome есть возможность добавить собственную поисковую систему (или же поиск по сайту), чем собственно я и воспользовался. При поиске в devdocs все GET-запросы уходят по урлу:

Читать далее

Как синий экран смерти остановил работу аэропортов и предприятий

Время на прочтение7 мин
Количество просмотров13K

19 июля произошёл глобальный сбой в работе ПК и серверов на Windows по всему миру. Ряд устройств выдавали синий экран смерти (BSOD) и уходили на бесконечную перезагрузку. Поводом для сбоя стало обновление системы защиты от кибератак Falcon Sensor от американской компании в сфере информационной безопасности CrowdStrike. Неполадки затронули IT-инфраструктуру многих компаний, банков и аэропортов по всему миру.

Читать далее

Когда я был маленьким, я писал авиасимулятор. Часть I

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.1K

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

Это история моего старта. Того, как я, будучи десятиклассником, познавал все прелести программирования и разработки через достижение поставленных «амбициозных» целей.

*настоящая статья является первой из двух запланированных по этой теме

Вперед в прошлое

Ближайшие события

27 марта
Deckhouse Conf 2025
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Недокументированные функции загрузки DLL. Стек вызовов LoadLibrary

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров4.8K

Рассмотрели способы загрузки DLL и написали инструмент загрузки библиотек с нестандартным способом получения адресов функций.

Читать далее

Анимация фрактала Lozi map

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.1K

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

Читать далее

Культурно-независимый тест интеллекта повышенной сложности

Уровень сложностиСложный
Время на прочтение2 мин
Количество просмотров3.8K
Виктор Серебряков (17 октября 1912 — 1 января 2000) был одним из первых членов Mensa.

Менса (лат. Mensa — «стол») — крупнейшее и старейшее общество людей с высоким коэффициентом интеллекта; некоммерческая организация, открытая для всех, кто сдал стандартизованные тесты на IQ лучше, чем 98 % населения. Тест должен сдаваться в присутствии наблюдателей.



Это «культурно-независимый тест интеллекта повышенной сложности».
Тест для измерения высокого IQ (до 160 баллов) был изобретен выдающимся английским исследователем интеллекта Виктором Серебряковым.
Текст программы для Windows разработан на языке Flat Assembler. Это я :)
Но что важно — дана экзешник!

splushka.narod.ru/IQ-fasm.zip
Читать дальше →

Как правильно сделать апгрейд ОС — установить Windows 11 поверх существующей с сохранением приложений и настроек

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров21K

Сегодняшний разговор пойдет о том, как правильно следует устанавливать 64-битную Windows 11 поверх ранее установленной 64-битной операционной системы Windows 7, 8, 10 или 11. Не пропагандирую переход на Windows 11, — выбор за вами, если это вам не нужно, ради бога, — но давайте поможем тем кто хочет это сделать, но встречается с разными сложностями на пути. Хотя при этом, заметка в целом полезна и тем, кто использует, и планирует далее использовать устаревшие системы, — рассказанный мной способ установки ОС «поверх» или «апгрейд» в целом общий для всех версий Windows, я лишь буду отмечать тонкости ранее мне не встречающиеся. Чего еще не будет в этой статье, так это вопросов совместимости с ПО и железом, — такое коротко и обобщенно не описать, решать нужно конкретно поставленную задачу. Обновлять ОС на совсем уж старом железе, наверное, нецелесообразно, а способов заставить работать древний софт на современных ОС известно много, но они тоже подбираются под нужды.

Собственно, начать об обновлении ОС я хочу с того, что Microsoft всегда имеет «матрицу обновляемости» (upgrade matrix) и четкие правила того, что на что может быть обновлено. Начнем с матрицы (а как иначе, Нео?). В любой версии и издании Windows в папке C:\Windows\servicing\Editions лежит файл UpgradeMatrix.xml, в котором четко прописано, с каких версий и изданий вы можете выполнить обновление на данную систему. Для ОС, которая в ISO образе, или на установочной флешке, этот файл лежит внутри install.wim, его проще всего открыть 7zip архиватором и посмотреть, если есть интерес. Разбирать его детально я сегодня не буду, это скучная задача, поговорим о сложностях, возникающих при обновлении ОС.

Читайте, задавайте вопросы, отвечу! :)

Запускаем 64-битную библиотеку в пространстве WOW64, часть 1

Уровень сложностиСложный
Время на прочтение3 мин
Количество просмотров2.4K

Приветствую всех!

Сегодня я вам представлю свои наработки по способу инжекта 64-битных DLL библиотек в процессы WOW64, сам который считал невозможным. Любителей потрогать внутренности Windows приглашаю под кат.

Зайдем поглубже

Все о версиях Windows 11 и как включать незадействованные возможности ОС и выключать ненужные, в том числе в Windows 10

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров28K

Не так давно я написал заметку, где дал исторический очерк жизненного цикла Windows 10, рассказал о том, когда выходили разные версии (а их было как минимум 14) и до какой даты осуществляется обновление. Там же я давал рекомендации тем, кто не собирается переходить на Windows 11, как им получать обновления на свою Windows 10 еще более семи лет, до 13.01.2032.

Сегодня у меня задача понятным языком рассказать вам о Windows 11. Всегда непросто описывать современные системы и их текущие версии, - во-первых они слишком быстро меняются, обновляются, устаревают, а, во-вторых, просто накоплено не так много исторических знаний и опыта, что делает суждения более поверхностными и спорными. Для начала я расскажу о глобальных версиях Windows 11, - их всего 4 (в трех ветвях обслуживания). Потом остановлюсь на том, что такое «Моменты» в терминологии Microsoft, когда эти моменты наступали для Windows 11 и что они приносили. Далее я еще усложню рассказ тем, что раскрою секрет Полишинеля, - Microsoft вводит новый функционал не только в новых версиях ОС, не только некими специальными пакетами «моментами», но и простыми кумулятивными обновлениями. Расскажу о том, какие веховые обновления приносили нововведения в ОС (очевидно, что все последующие включают в себя все предшествующее). Ну и чтобы сделать заметку окончательно нечитаемой для рядового пользователя, но, чтобы энтузиасты как раз таки дочитали ее до конца, расскажу, как задействовать новый функционал в Windows 10 и Windows 11, который Microsoft еще автоматом не сделал общедоступным. И что самое важное, расскажу, как отключить новый функционал, если вы предпочитаете классическую реализацию (если такая бинарно еще сохранилась в ОС). Ну что, поехали?

Читать далее

Техникум: Автоматическое Aрхивирование Aртефактов

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.7K

В программировании микроконтроллеров на выходе получается довольно много артефактов. Всё это надо как-то связать и заточить в архив, чтобы всегда можно было ассоциировать *.hex с нужным для него *.map и *.elf.

Логичным шагом является архивация всех этих файликов в *.tar архив. Один архив очень удобен при транспортировке программного обеспечения.

В этом тексте я написал как это можно провернуть средствами утилиты GNU Make.

Читать далее

Вклад авторов

Работа