Pull to refresh

Microsoft упростила доступ к API Win32 для языков Rust и C#

API *C *C# *Rust *Development for Windows *

Компания Microsoft рассказала о проекте по упрощению взаимодействия с API Win32 для языков программирования Rust и С#. Проект получил название win32metadata и доступен для предварительного просмотра на Github.

Читать далее
Total votes 28: ↑23 and ↓5 +18
Views 9.7K
Comments 18

Вышла новая версия ReactOS

Software
Вчера вышла новая альфа-версия бесплатной и свободной ОС ReactOS 0.3.3, совместимой с приложениями и драйверами Windows NT и Windows 2000.

В новом релизе большинство основных модулей ядра системы стали совместимы с NT5, что положительно сказалось на стабильность и совместимость с Win32-приложениями. Таким образом, данная версия ReactOS стала намного стабильней, нежели предыдущие релизы, так что теперь ОС можно ставить не на виртуальные машины, а на вполне реальное «железо». Правда, в ReactOS 0.3.3 всё так же нет поддержки USB, SATA и ФС NTFS.
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views 558
Comments 69

Панихида по Сэ и Дэ

Lumber room
Я бы знать не знал, но один мой друг, который активно контактирует мне поведал о вирусе 16 мая. Была почтовая рассылка по пользователям сей соц сети с неким текстом и ссылкой, пройдя по которой юзер заражался.

Если интересно почитать что говорят сами юзеры, можете пройти по этой ссылке.

Мой скептицизм быстро испарился когда Nod32 обнаружил «Win32/Rovud.C» в папке "\application data\vkontakte\svc.exe".
Читать дальше →
Total votes 8: ↑3 and ↓5 -2
Views 311
Comments 8

Процессы и потоки in-depth. Обзор различных потоковых моделей

System Programming *
Здравствуйте дорогие читатели. В данной статье мы рассмотрим различные потоковые модели, которые реализованы в современных ОС (preemptive, cooperative threads). Также кратко рассмотрим как потоки и средства синхронизации реализованы в Win32 API и Posix Threads. Хотя на Хабре больше популярны скриптовые языки, однако основы — должны знать все ;)
Далее
Total votes 64: ↑62 and ↓2 +60
Views 81K
Comments 45

Visual Studio 2008 Win32 Wizard MOD

C++ *Visual Studio *
Мне всегда не нравились параметры по умолчанию, которые устанавливала Visual Studio при создании приложений для Win32. Каждый раз при создании нового проекта (даже самого мизерного) приходилось каждый раз отключать Unicode, Precompiled Headers (в небольших программах это ни к чему), включать статическую линковку всех необходимых библиотек для Release версии. Хотелось лишить себя этих хлопот.
Данный мод изменяет работу окна создания стандартных Win32 приложений в Visual Studio 2008. Настройки по умолчанию изменены на более удобные для небольших проектов, добавлены новые опции.
Читать дальше →
Total votes 32: ↑26 and ↓6 +20
Views 3.9K
Comments 27

Сканер wi-fi сетей для командной строки

Software
Выложил в сеть свой сканер wi-fi сетей, вдруг кому пригодится.

Использовать можно, к примеру, для определения географических координат по ближайшим wi-fi сетям совместно с сервисами wi2geo или skyhookwireless.

Работает (по крайней мере, должен) во всех версиях windows с NT ядром. Тестировалось на XP SP3 и Vista. В Vista+ используется Wi-Fi Native API, в XP и младше — опрос драйвера wi-fi карты через NDIS.

Буду рад отзывам и баг-репортам.

Исходники на C прилагаются, лицензия: BSD-like.
Читать дальше →
Total votes 55: ↑51 and ↓4 +47
Views 5.3K
Comments 37

Атака MBR-червя или все новое — хорошо забытое старое

ESET NOD32 corporate blog
В последнее время в Интернете получил массовое распространение ранее неизвестный червь — Win32/Zimuse, нацеленный на повреждение главной загрузочной записи MBR (Master Boot Record) на жестком диске.
Примечательно то, что данная угроза изначально была в шутку создана для заражения одного небольшого сообщества словацких байкеров. Возможно, это были происки конкурирующего с ними мотоклуба. Однако сегодня червь уже вышел из-под контроля его авторов и активно распространяется по всему миру. При этом 90% всех инфицированных пользователей сначала находились на территории Словакии. Но теперь по количеству заражений лидируют также США, Таиланд и Испания, с небольшим отставанием Италия, Чехия и другие европейские страны.
Читать дальше →
Total votes 52: ↑36 and ↓16 +20
Views 14K
Comments 56

Боремся с утечками памяти (C++ CRT)

C++ *
Утечка памяти — довольно серьезная и опасная проблема. Быть может, пользователь и не заметит однократной утечки каких-нибудь 32Кб памяти (а ведь это целые 5% от 640Кб, которых «хватит всем»), но постоянно теряя сложные иерархические структуры или массивы размером больше INT_MAX (которые мы так любим создавать на 64-битной архитектуре) мы обречем его на страдания, а наш продукт на провал.

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

А можно было бы просто «отдаться» автоматическому сборщику мусора, ценой потери производительности (и это не обязательно Managed C++, для Native C++ / C есть библиотеки сборки мусора, вот, например).

Но мы поговорим о ситуации когда уже «всё плохо».
Читать дальше →
Total votes 51: ↑41 and ↓10 +31
Views 59K
Comments 45

Application Verifier для программиста: тестирование Windows-приложений

Website development *
Возможно в Вашем проекте и не пишут try { /* code */ } catch(...) { } для того чтобы избежать исключений при работе с памятью, умеют закрывать хендлы и знают о виртуализации Windows Vista, а программы никогда не падают по непонятным и редко повторяемым причинам.

Тогда Вам повезло, можете переходить к следующему топику.
Но если это не так...
Total votes 60: ↑55 and ↓5 +50
Views 18K
Comments 20

Описание структуры меню без использования ресурсов

C++ *

Вступление


Каждый из нас, конечно же, сталкивался с ситуацией, когда меню требуется сгенерировать динамически, непосредственно во время выполнения программы. Это может требоваться по разным причинам, например, из-за наличия нескольких локализаций ресурсов или из-за слишком большого разнообразия вариантов меню.
Читать дальше →
Total votes 50: ↑37 and ↓13 +24
Views 2.9K
Comments 28

Использование traits для обустройства Win32 API

C++ *

Вступление


Всякому известно, что Win32 API не отличается чрезмерным удобством. Например, для вызова функции частенько приходится заполнять большую структуру с полями вроде cbSize, dwFlags и т. д. Или для получения строки сначала узнавать размер ее, готовить буфер и затем лишь получать саму строку. Далее пойдет речь про функцию ::HttpQueryInfo() и применение идиомы «traits» для упрощения работы с ней.
Читать дальше →
Total votes 24: ↑20 and ↓4 +16
Views 2.7K
Comments 21

Новый 0-day или фича от Microsoft?

ESET NOD32 corporate blog
Все началось с того, что специалисты белорусской антивирусной компании «ВирусБлокада» 9 июля обнаружили интересную вредоносную программу, драйвера которой имели легальную цифровую подпись от Realtek. На этом сюрпризы не закончились, так как эта вредоносная программа использовала ранее неизвестную уязвимость в обработке LNK-файлов (Shell Link) для не санкционированного распространения с различных USB-накопителей. Увидев это информационное сообщение мы тоже обратили внимание на эту угрозу, и заметили у нее достаточно интересный ландшафт распространения (данные получены через нашу систему раннего обнаружения угроз ThreatSense.Net).
image

Читать дальше →
Total votes 140: ↑128 and ↓12 +116
Views 40K
Comments 245

Silverlight, HTML5 и непрозрачная стратегия развития Microsoft

Silverlight
Translation
image

По непонятным мне на данный момент причинам, похоже, что многие разработчики, присутствовавшие на недавней конференции PDC-2010 (Крупнейшая конференция Microsoft для разработчиков — Прим. переводчика), были сильно удивлены тем, что Microsoft решила сместить акценты в разработке RIA с Silverlight на HTML5. Хотя это удивление разработчиков не менее удивительно — на недавних конференциях и анонсах (например, анонсы развития Internet Explorer 9 — Прим. переводчика) представители Microsoft дали понять, хотя и не совсем явно, что приоритеты меняются на более кросс-платформенное решение. В чём же секрет?
Читать дальше →
Total votes 125: ↑90 and ↓35 +55
Views 5.3K
Comments 64

Ботнет TDL4 сдаётся в аренду?

ESET NOD32 corporate blog
Не так давно нами была замечена интересная особенность в некоторых новых сэмплах руткита TDL4 (Win32/Olmarik.AOV). Если кто не в курсе, данному руткиту удаётся удерживать звание самой технологичной массовой вредоносной программы вот уже на протяжении нескольких лет. Это первый полноценный руткит для x64, которому удалось в обход проверки цифровой подписи и PatchGuard пробраться в ядро на 64-битных системах.

Дело в том, что после своей успешной установки, некоторые экземпляры этого руткита устанавливают в систему троянцев из семейства Win32/Glupteba. Это наводит на мысли о том, что ресурсы данного ботнета начали сдавать в аренду. Так же интересно, что нет дальнейшего взаимодействия между ботами Win32/Glupteba и TDL4.
Читать дальше →
Total votes 51: ↑48 and ↓3 +45
Views 14K
Comments 19

Разработчики ReactOS с гордостью представляют версию 0.3.13

Software
Translation
В этой версии была продолжена работа, результаты которой были впервые представлены в 0.3.12, начиная от улучшений в механизмах работы с памятью, и заканчивая улучшениями в управлении звуком и экраном. Кроме того, между версиями 0.3.12 и 0.3.13 был проведен статический анализ кода при помощи Coverity, что помогло нам вычистить потенциальные дыры в безопасности, а также в целом улучшить стабильность системы за счет более аккуратного обращения с памятью.
Читать дальше →
Total votes 94: ↑91 and ↓3 +88
Views 1.5K
Comments 69

Разрегистрация оконного крюка

Development for Windows *
Sandbox

Холмс. А скажите, друг мой Ватсон, доводилось ли вам разрегистрировать оконный крюк, в особенности глобальный?

Ватсон. Хм… что же может быть проще, дорогой Холмс.
    ::UnhookWindowsHookEx( hhookMy);

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

В. Вот, ничего себе!
Читать дальше →
Total votes 129: ↑110 and ↓19 +91
Views 23K
Comments 61

Маленький мультиплатформенный 2d движок tengine (android/ios/win32/nix/kolibrios/web(emscripten))

Game development *
Sandbox
Приветствую всех, кому стало интересно узнать о моем небольшом проекте, которым занимаюсь в свободное от работы время, о своем долгоиграющем проекте под названием «tengine».

Какова же цель этого поста? Ответ простой — я ищу однодумцев. Я верю в то, что есть еще много людей, которым нравится славный и добрый олдскул. В этом и вся миссия — писать удовольствия ради что-то маленькое, но вполне функциональное, платформу для «приставочных» игрушек в стиле 8/16 бит.

tengine DEMO game (web version) управление: клавиши со стрелкам, ctrl. Полноценная концовка.

Главная особенность, отличающая tengine от сотен подобных поделок — не совсем стандартная идеология:
  • архитектура проекта делает упор на минимизацию использования динамической памяти. Если память и выделяется, она выделяется исключительно на инициализации подсистем
  • использовать динамическую память нужно так, как будто не существует операционной системы, постоянно помнить о фрагментации. Удаление памяти происходит в строго обратном порядке создания (за этим следит простой механизм контроля удаляемых указателей)
  • использование сторонних библиотек сведено к минимуму и должно быть аргументировано, зачастую это потенциальный источник фрагментации памяти
  • игровая сцена представляет собою готовую для использования память, сгенерированная редактором уровней
  • работа с объектами сцены игры ведется исключительно через идентификаторы, динамически создать объект невозможно
  • использование fixed point вместо float
  • мультиплатформенность
  • официальный язык проекта — си

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 17K
Comments 26
1