Как стать автором
Поиск
Написать публикацию
Обновить
107.03

Windows *

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

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

Почему с каждой новой версией Windows от нее усиливается усталость

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

Привет! Меня зовут Васьен и я пользуюсь Windows уже 24 года. Большие боссы из Майкрософт молодцы и соображают, что делают. Тут и удачные инвестиции, развитие самых различных направлений и стремление захватить как можно больше рынка (хотя куда уж больше?). Но мне, простому смертному пользователю, искренне не понятно, что же в последнее время делает Майкрософт со своим главным продуктом – операционной системой, которой я как раз и пользуюсь более двадцати лет. И поймал себя на мысли, что все больше новостей вокруг новых версий ОС вызывает раздражение, а от новых версий ОС возникает какая-то усталость и мне стало интересно разобраться, с чем же это связано?

Читать далее

Переезд на Астра Линукс

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

Бывает ситуация, когда вот стоит нормальный, не ветхий дом с жильцами, с работающими коммуникациями. И простоял бы он так еще много лет. Но принято решение проложить новую магистраль и дом ей мешает. Можно снести дом, недалеко построить новый и жильцов туда переселить. А можно переместить в нужное место сам этот дом прямо вместе с жильцами и тараканами.

Такая аналогия приходит на ум после принятия решения о переходе с платформы Windows на пока единственную сертифицированную альтернативу – ОС Астра Линукс. Как жильцы гипотетического дома не могли отменить решение о магистрали, так и мы не можем отменить это решение. Придется переходить. Однако легко сказать «перейти». Когда я познакомился с IBM-PC/XT, какой-нибудь Торвальдс еще школу не кончил. За эти годы (чего уж там годы - десятилетия) появилось много привычек, приемов, навыков. Жалко все это оставлять ради принудительного перехода в другую среду. И приходит мысль – попытаться переехать, так сказать, всем домом, а не строить новый.

Читать далее

Подготовка инструментов под фаззинг UEFI на базе edk2 в Windows

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

Так повелось в мире, что время от времени необходимо проводить исследования безопасности драйверов и прошивок. Одним из способов исследования является — фаззинг (Fuzzing). Не будем останавливаться на описании самого процесса фаззинга, для этого есть эта статья, отметим только, что в основном его используют для исследования прикладных приложений. И тут возникает вопрос: как профаззить прошивку, в частности прошивку UEFI? Здесь будет рассказано об одном из способов с использованием программного эмулятора EDKII, чтобы проводить фаззинг без развертывания аппаратных стендов. И что важно, все это сделаем в Windows.

Читать далее

Как стать Delphi-программистом за час «для самых маленьких»

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

Принято считать, что программирование это сложно, но это миф (все проще чем кажется), и все что нужно чтобы стать программистом это немного упорства и изобретательности.

В этой статье мы получим все базовые навыки, которые нужны Delphi программисту (включая базовые знания RunTime, работу с Com-объектами и Canvas, вводом\выводом, файлами, парсингом, ооп, и тд), по окончании статьи.

Окунутся в чудесный мир бесконечного скрол

«Самоидентификация» клавиатуры

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

«Я — русский!»‑ спел недавно известный певец. Да и я, после 20 лет пользования клавиатурой, наконец‑то, устал вечно поправлять текст, набранный не в той раскладке клавиатуры (в голове держать всё невозможно!) и сделал индикацию текущей раскладки. Казалось бы, мелочь, а приятно.

А раньше как бывало? Оторвал взгляд от клавы, посмотрел на экран… «Фу, чёрт! Не та раскладка!» Стираешь то, что набрал непосильным трудом и заново набираешь тот же текст.

Вы скажете: «Не интересное решение! Есть же замечательная программа Punto Switcher! Она может автоматически исправлять набранный текст в нужную раскладку.» Но всегда оставалась проблема набрать специальные символы независимо от языка ввода. И вот тут‑то Punto Switcher начинал ошибаться.

А нельзя ли поставить прямо возле клавиш небольшой экранчик OLED (благо таких стало в продаже много) и выводить на него текстом текущую раскладку аж по всем языкам мира? Можно. Но как показал мой дальнейший опыт, увидеть свечение боковым взглядом проще, чем вглядываться в надпись на экранчике. Кроме того, обычно мало кто пользуется одновременно более чем тремя языками раскладки. Да и по цене решение со свечением светодиодами будет гораздо дешевле.

Вот я так и пошёл по этому простому пути. И замутил банальную схему:

Читать далее

Как Microsoft покорил мир с Windows 1.0

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

В анналах компьютерной истории лишь немногие имена сияют так ярко, как Windows. Это история революции персональных компьютеров.

На 2024 год запланирован выпуск Windows 12. Microsoft выпускает новые версии Windows каждые три года. Текущая версия ОС, Windows 11, работает на большинстве ноутбуков и настольных компьютеров в мире. ОС Windows прошла долгий путь с момента своего скромного появления 40 лет назад.

Представьте себе 1980-е: наплечники в моде, синтезаторная музыка процветает, а Microsoft совершает смелое вторжение в мир графических операционных систем с Windows 1.0, которая станет неотъемлемой частью технологической истории и послужит основой для компьютерной революции. Windows 1.0 сейчас может показаться примитивной ОС, но в то время это был огромный шаг вперёд в сфере персональных компьютеров. ОС заложила основу для последующих операционных систем Windows и ознаменовал новую эру в мире технологий.

Читать далее

Снижаем потребление CPU в VS Code в 5 раз [Кратко]

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

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

Читать далее

Как подружить Windows, Lens и Teleport

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

Я не являюсь экспертом ни в Lens, ни в Teleport, но в какой-то момент моей разработческой жизни возникла необходимость подключиться к кластеру Kubernetes с помощью Lens, т.к. не могу сказать, что очень удобно пользоваться kubectl. Подробной инструкции на этот счет, к сожалению, в Интернете мне найти не удалось. Поэтому решил написать свою (описание настройки серверной части оставим другим авторам).

Если вы, как я, и все остальные «нетрушные» программисты, предпочитаете оставаться на Windows и не спешите уходить на Linux или Mac, а встроенный WSL2 (подсистема Linux для Windows) вас белее чем устраивает, то добро пожаловать под кат.

Читать далее

Astra Linux Embedded или «Есть ли жизнь после Windows IoT?»

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

Как появилась идея российской операционной системы для устройств фиксированного назначения? Кому нужны Embedded ОС и каково сегодняшнее положение дел в России? В статье расскажем, как мы с разработчиком операционной системы пришли к идее продукта, который может стать российской альтернативой ОС Windows IoT для встраиваемых устройств, и  как развивались события после февраля 2022 года.

Автор статьи почти 20 лет занимается продвижение операционных систем Microsoft Windows Embedded (Windows IoT) в нескольких странах.

Читать далее

Полезные Заготовки Вызова Утилит Командной Строки

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

Не для кого не секрет, что некоторые типичные действия на компьютере проще быстрее и эффективнее выполнить из-под командной строки.

В этом тексте я хотел бы поделиться командами, которые мне очень часто помогают в работе.

Читать далее

Как экспертиза в области мониторинга событий ИБ помогает создавать качественные продукты. Часть 3

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

Друзья, и снова привет. Меня зовут Алексей Потапов, я представляю отдел обнаружения атак экспертного центра безопасности Positive Technologies (PT Expert Security Center). Продолжу историю о том, как наши знания обогащают продукты Positive Technologies, чтобы они обеспечивали конечную цель — результативную кибербезопасность. Ранее мы уже рассказывали вам о нашем подходе к обнаружению атак в SIEM-системах и, не побоюсь этого слова, киллер-фиче — механизме построения цепочек запускаемых процессов на основе нормализованных событий.

В этот раз поговорим о том, как в продукты для кибербезопасности проникают технологии machine learning (ML, машинное обучение) — на примере использования ML-модуля для поведенческого анализа в MaxPatrol SIEM. О некоторых технических аспектах работы отдельно взятых моделей мы недавно рассказали на Positive Hack Days — запись можно посмотреть тут (также есть в формате статьи). Еще больше подробностей читайте в другом материале на Хабре.

Читать далее

Опыт создания UI библиотеки на C++

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

Началось все почти два года назад в декабре, практически перед новым годом.

Наш основной проект (видео мессенджер) использовал WTL для Windows и GTKmm для Linux. Поддержки мака не было. Огромной неприятностью было тащить два идентичных клиента, которые, по идее, должны делать все строго одно и тоже. Разумеется, это никогда не получалось. От мысли что надо бы сделать ещё один нативный клиент для мака начинался нервный тик...

На резонный вопрос - почему сразу делалось не на Qt могу лишь ответить, что это связано с, так скажем, гурманскими предпочтениями и, отчасти, с любовью к монолитным exe. Да и не требовалось на старте ничего кроме винды.

В течении шести лет жизни с двумя кодовыми базами одного и того же, неспешно подбирались легковесные UI библиотеки написанные хотя бы в стиле C++11.

Надо сказать, что мы активно используем boost и всей душой, как можем, его любим...

В 2021 году видимо Гугл работал плохо или звёзды так сошлись, но не нашлось ничего стоящего. Все что попадалось - основанные на рендеринге html проекты и обертка над wxWidgets. Сейчас то мы знаем про lvgl, да...

wxWidgets не плох, но хотелось своего рисования, без окошек под кнопки, поля ввода и списки, boost/bsd подобной лицензией, максимально лаконичной, и в идеале работающей от Windows XP / CentOS 6 на стандартном GDI / X11 до Vulcan на современных машинах.

В итоге, все же было принято волевое решение сделать минимальный UI фреймворк для этого проекта, и сразу выпускать его в Open Source под лицензией boost. 

Читать далее

Технологии давно почившей DEC продолжают служить миру вычислений

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров11K
DEC VAX 8350 со снятой крышкой

Эта корпорация, ставшая одним из первопроходцев в мире IT, исчезла в конце 90-х.

Несмотря на то, что в сфере компьютерных технологий осталось не так много стоявших у её истоков игроков, мы по сей день продолжаем пользоваться плодами их разработок. Bell Labs создали транзистор, а Fairchild Semiconductor изобрели интегральную схему, но ни одной из этих компаний сегодня уже не существует. То же касается Digital Equipment Corporation (DEC).

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

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

Большинство оконных приложений — это недоработанные real-time приложения

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

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

Я программирую уже давно. Под давно я имею в виду не один десяток лет работы. Надеюсь, это достаточно долго. За это время мой опыт в основном заключался в программировании для современных платформ вроде Linux, Windows, macOS для десктопных и серверных архитектур процессоров. Недавно я участвовал в создании MIDI-движка для систем значительно меньшей мощности.

Вскоре после начала я столкнулся с проблемой, которая требовала обеспечить невозможность переполнения очереди событий ввода. По сути, эта задача сводится к тому, чтобы каждый обработчик событий не выполнялся дольше некой максимальной продолжительности времени. Затем меня осенило! Я уже слышал это раньше — «максимальная продолжительность времени», так как занимаюсь разработкой систем, работающих в реальном времени.
Читать дальше →

Как мы анализируем потребление памяти нативными приложениями (C++, Windows, Linux)

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

Технологическая платформа 1С:Предприятие – это большой программный продукт (только на С++ - более 10 миллионов строк кода, а есть ещё Java и JavaScript). Подробнее про устройство платформы можно прочитать тут.

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

О том, какие инструменты мы пробовали использовать, почему они нам не подошли и как мы в итоге решили задачу анализа использования памяти – под катом.

Читать далее

Assembler для Windows в Visual Studio

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

В этой статье я покажу как написать приложение для windows на ассемблере. В качестве IDE будет привычная многим Visual Studio 2019 со своими привычными плюшками - подсветка кода, отладка и привычный просмотр локальных переменных и регистров. Собирать приложение будет MASM, а значит, у нас будут и масмовские плюшки. Это будет полноценное оконное приложение с меню, иконкой, отрисовкой, выводом текста и обработкой мыши с клавиатурой.

Читать далее

Неполадки в отладке: как уязвимость в WinDbg позволяет атаковать разработчиков

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

Привет, Хабр! Меня зовут Александр Калинин, я занимаюсь разработкой средств обеспечения безопасности контейнерных сред в МТС RED, дочерней компании МТС в сфере кибербезопасности. Сегодня расскажу о том, как я обнаружил в отладчике WinDbg уязвимость, которая позволяет запускать произвольный вредоносный код на хосте разработчика и подменять библиотеки. Также поговорим о реакции Microsoft на мой репорт.

Читать далее

Актуальный гайд по написанию простого Windows-драйвера

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

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

Читать далее

Любой достаточно продвинутый деинсталлятор неотличим от зловреда

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

У нас возник резкий рост количества вылетов Explorer из-за того, что указатель команд оказывался в пустоте.

0:000> r eax=00000001 ebx=008bf8aa ecx=77231cf3 edx=00000000 esi=008bf680 edi=008bf8a8 eip=7077c100 esp=008bf664 ebp=008bf678 iopl=0 nv up ei pl zr na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246 7077c100 ?? ???

Возможно, нам о чём-то скажет адрес возврата.

0:000> u poi esp 008bf6d4 test eax,eax 008bf6d6 je 008bf6b9 008bf6d8 xor edi,edi 008bf6da cmp dword ptr [esi+430h],edi

Странно, что мы исполняем код из какого-то места, не имеющего имени. Если приглядеться, то можно увидеть, что мы исполняем код из стекаesp — это  008bf664, то есть вызывающий проблемы код находится в стеке.

Кто исполняет код из стека?

Конечно, зловреды.

Давайте посмотрим, что пытается сделать это зловредное ПО.

Читать далее

Мы запустили Windows из-под Windows, чтобы запустить Windows: Winception и другие проекты

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

Некоторые разработчики реализуют проекты just for fun, без особого практического смысла. Просто потому, что могут, и получается нечто из разряда «троллейбуса из хлеба». Сейчас выходные, так что можно расслабиться и оценить именно такой проект, а также родственные ему.

Называется новинка Winception. Авторы отличились тем, что запустили Windows 11, Windows 10, Windows 8.1, Windows 8, Windows 7 и DOS друг в друге. Получилось нечто вроде виндовой матрёшки. О ней, а также других подобных экспериментах и поговорим.

Читать далее

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