home.social

#winapi — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #winapi, aggregated by home.social.

  1. Как я автоматизировал UI в Windows: UIAutomation и Win32

    Привет, меня зовут Алексей, я C# разработчик. Я разрабатывал библиотеку для автоматизации взаимодействия с различными UI-элементами и их захвата. Одной из поддерживаемых сред в такой библиотеке обязательно должна быть Windows и в ней так же требуется: находить кнопки, поля, окна, списки, нажимать на них, читать значения, вводить текст и в целом обращаться с интерфейсом не как пользователь с мышкой, а как программа. На первый взгляд задача звучит просто: нашли элемент, кликнули, пошли дальше. Но в реальных приложениях у элемента может не быть (считай не будет) нормального AutomationId , у нескольких окон может быть один и тот же заголовок, дерево интерфейса может прогружаться не сразу, а старое desktop-приложение вообще не предназначено для взаимодействия с современными API для автоматизации. В итоге в моей библиотеке появилось два основных Windows-подхода:

    habr.com/ru/articles/1035292/

    #automation #ui_testing #ui_automation #winapi #win32 #тестирование #автоматизация #автоматизация_тестирования #интерфейсы #автоматизация_бизнеспроцессов

  2. Как я автоматизировал UI в Windows: UIAutomation и Win32

    Привет, меня зовут Алексей, я C# разработчик. Я разрабатывал библиотеку для автоматизации взаимодействия с различными UI-элементами и их захвата. Одной из поддерживаемых сред в такой библиотеке обязательно должна быть Windows и в ней так же требуется: находить кнопки, поля, окна, списки, нажимать на них, читать значения, вводить текст и в целом обращаться с интерфейсом не как пользователь с мышкой, а как программа. На первый взгляд задача звучит просто: нашли элемент, кликнули, пошли дальше. Но в реальных приложениях у элемента может не быть (считай не будет) нормального AutomationId , у нескольких окон может быть один и тот же заголовок, дерево интерфейса может прогружаться не сразу, а старое desktop-приложение вообще не предназначено для взаимодействия с современными API для автоматизации. В итоге в моей библиотеке появилось два основных Windows-подхода:

    habr.com/ru/articles/1035292/

    #automation #ui_testing #ui_automation #winapi #win32 #тестирование #автоматизация #автоматизация_тестирования #интерфейсы #автоматизация_бизнеспроцессов

  3. Как я автоматизировал UI в Windows: UIAutomation и Win32

    Привет, меня зовут Алексей, я C# разработчик. Я разрабатывал библиотеку для автоматизации взаимодействия с различными UI-элементами и их захвата. Одной из поддерживаемых сред в такой библиотеке обязательно должна быть Windows и в ней так же требуется: находить кнопки, поля, окна, списки, нажимать на них, читать значения, вводить текст и в целом обращаться с интерфейсом не как пользователь с мышкой, а как программа. На первый взгляд задача звучит просто: нашли элемент, кликнули, пошли дальше. Но в реальных приложениях у элемента может не быть (считай не будет) нормального AutomationId , у нескольких окон может быть один и тот же заголовок, дерево интерфейса может прогружаться не сразу, а старое desktop-приложение вообще не предназначено для взаимодействия с современными API для автоматизации. В итоге в моей библиотеке появилось два основных Windows-подхода:

    habr.com/ru/articles/1035292/

    #automation #ui_testing #ui_automation #winapi #win32 #тестирование #автоматизация #автоматизация_тестирования #интерфейсы #автоматизация_бизнеспроцессов

  4. Как я автоматизировал UI в Windows: UIAutomation и Win32

    Привет, меня зовут Алексей, я C# разработчик. Я разрабатывал библиотеку для автоматизации взаимодействия с различными UI-элементами и их захвата. Одной из поддерживаемых сред в такой библиотеке обязательно должна быть Windows и в ней так же требуется: находить кнопки, поля, окна, списки, нажимать на них, читать значения, вводить текст и в целом обращаться с интерфейсом не как пользователь с мышкой, а как программа. На первый взгляд задача звучит просто: нашли элемент, кликнули, пошли дальше. Но в реальных приложениях у элемента может не быть (считай не будет) нормального AutomationId , у нескольких окон может быть один и тот же заголовок, дерево интерфейса может прогружаться не сразу, а старое desktop-приложение вообще не предназначено для взаимодействия с современными API для автоматизации. В итоге в моей библиотеке появилось два основных Windows-подхода:

    habr.com/ru/articles/1035292/

    #automation #ui_testing #ui_automation #winapi #win32 #тестирование #автоматизация #автоматизация_тестирования #интерфейсы #автоматизация_бизнеспроцессов

  5. Препарируем графическую подсистему Windows. Протокол SPICE в современном графическом стеке, часть 2

    Мы продолжаем увлекательное путешествие по миру удалённого доступа . В предыдущей части заглядывали под капот протокола доставки рабочего стола SPICE , а сейчас на операционный стол попала великая и ужасная ОС Windows - точнее, её графическая подсистема. Заглянем в её недры и окунёмся в её философию и историю развития. И заодно найдём интересные параллели в Linux . Это вторая часть цикла про протокол SPICE и то, как он вынужден работать в современных условиях. Наша конечная цель - создать пилот стримингового агента для виртуальной машины на ОС Windows . Приглашаю под кат всех, кто работает или сталкивается с системами виртуализации, с протоколом SPICE, с виртуальными машинами в принципе; кто интересуется такими темами как удалённый доступ и компьютерная графика; да и вообще всех любознательных! В бездну виндового угнетения

    habr.com/ru/articles/1034998/

    #spice #windows #winapi #qxl #directx #gpu #x11

  6. Препарируем графическую подсистему Windows. Протокол SPICE в современном графическом стеке, часть 2

    Мы продолжаем увлекательное путешествие по миру удалённого доступа . В предыдущей части заглядывали под капот протокола доставки рабочего стола SPICE , а сейчас на операционный стол попала великая и ужасная ОС Windows - точнее, её графическая подсистема. Заглянем в её недры и окунёмся в её философию и историю развития. И заодно найдём интересные параллели в Linux . Это вторая часть цикла про протокол SPICE и то, как он вынужден работать в современных условиях. Наша конечная цель - создать пилот стримингового агента для виртуальной машины на ОС Windows . Приглашаю под кат всех, кто работает или сталкивается с системами виртуализации, с протоколом SPICE, с виртуальными машинами в принципе; кто интересуется такими темами как удалённый доступ и компьютерная графика; да и вообще всех любознательных! В бездну виндового угнетения

    habr.com/ru/articles/1034998/

    #spice #windows #winapi #qxl #directx #gpu #x11

  7. Препарируем графическую подсистему Windows. Протокол SPICE в современном графическом стеке, часть 2

    Мы продолжаем увлекательное путешествие по миру удалённого доступа . В предыдущей части заглядывали под капот протокола доставки рабочего стола SPICE , а сейчас на операционный стол попала великая и ужасная ОС Windows - точнее, её графическая подсистема. Заглянем в её недры и окунёмся в её философию и историю развития. И заодно найдём интересные параллели в Linux . Это вторая часть цикла про протокол SPICE и то, как он вынужден работать в современных условиях. Наша конечная цель - создать пилот стримингового агента для виртуальной машины на ОС Windows . Приглашаю под кат всех, кто работает или сталкивается с системами виртуализации, с протоколом SPICE, с виртуальными машинами в принципе; кто интересуется такими темами как удалённый доступ и компьютерная графика; да и вообще всех любознательных! В бездну виндового угнетения

    habr.com/ru/articles/1034998/

    #spice #windows #winapi #qxl #directx #gpu #x11

  8. Препарируем графическую подсистему Windows. Протокол SPICE в современном графическом стеке, часть 2

    Мы продолжаем увлекательное путешествие по миру удалённого доступа . В предыдущей части заглядывали под капот протокола доставки рабочего стола SPICE , а сейчас на операционный стол попала великая и ужасная ОС Windows - точнее, её графическая подсистема. Заглянем в её недры и окунёмся в её философию и историю развития. И заодно найдём интересные параллели в Linux . Это вторая часть цикла про протокол SPICE и то, как он вынужден работать в современных условиях. Наша конечная цель - создать пилот стримингового агента для виртуальной машины на ОС Windows . Приглашаю под кат всех, кто работает или сталкивается с системами виртуализации, с протоколом SPICE, с виртуальными машинами в принципе; кто интересуется такими темами как удалённый доступ и компьютерная графика; да и вообще всех любознательных! В бездну виндового угнетения

    habr.com/ru/articles/1034998/

    #spice #windows #winapi #qxl #directx #gpu #x11

  9. Как я писал трей-утилиту для управления sing-box на Windows

    Эта статья о том, как я хотел сэкономить несколько секунд при переключении системного прокси в Nekobox, а в итоге уже несколько месяцев пишу мини-программу для управления sing-box . Началось с того, что для прокси на Windows я стал использовать Nekobox. Про гибкое раздельное туннелирование я еще не знал, и приходилось постоянно включать и выключать системный прокси, чтобы зайти то туда (сайт заблокирован), то сюда (сайт блокирует IP прокси). Много раз в час: клик по значку в трее, режим системного прокси, отключить (а потом обратно). И я подумал, что было бы удобнее просто кликать по значку. Ничего сложного — почему бы не реализовать? Начал я, конечно же, с рисования значка. Решил, что хорошо подойдет портал из «Рика и Морти» как метафора беспрепятственного перемещения между измерениями. Провел целый вечер в Procreate на iPad, замучился, устал и отложил затею на потом. Что было дальше

    habr.com/ru/articles/1031978/

    #singbox #прокси #winapi #delphi #программирование

  10. Как я писал трей-утилиту для управления sing-box на Windows

    Эта статья о том, как я хотел сэкономить несколько секунд при переключении системного прокси в Nekobox, а в итоге уже несколько месяцев пишу мини-программу для управления sing-box . Началось с того, что для прокси на Windows я стал использовать Nekobox. Про гибкое раздельное туннелирование я еще не знал, и приходилось постоянно включать и выключать системный прокси, чтобы зайти то туда (сайт заблокирован), то сюда (сайт блокирует IP прокси). Много раз в час: клик по значку в трее, режим системного прокси, отключить (а потом обратно). И я подумал, что было бы удобнее просто кликать по значку. Ничего сложного — почему бы не реализовать? Начал я, конечно же, с рисования значка. Решил, что хорошо подойдет портал из «Рика и Морти» как метафора беспрепятственного перемещения между измерениями. Провел целый вечер в Procreate на iPad, замучился, устал и отложил затею на потом. Что было дальше

    habr.com/ru/articles/1031978/

    #singbox #прокси #winapi #delphi #программирование

  11. Как я писал трей-утилиту для управления sing-box на Windows

    Эта статья о том, как я хотел сэкономить несколько секунд при переключении системного прокси в Nekobox, а в итоге уже несколько месяцев пишу мини-программу для управления sing-box . Началось с того, что для прокси на Windows я стал использовать Nekobox. Про гибкое раздельное туннелирование я еще не знал, и приходилось постоянно включать и выключать системный прокси, чтобы зайти то туда (сайт заблокирован), то сюда (сайт блокирует IP прокси). Много раз в час: клик по значку в трее, режим системного прокси, отключить (а потом обратно). И я подумал, что было бы удобнее просто кликать по значку. Ничего сложного — почему бы не реализовать? Начал я, конечно же, с рисования значка. Решил, что хорошо подойдет портал из «Рика и Морти» как метафора беспрепятственного перемещения между измерениями. Провел целый вечер в Procreate на iPad, замучился, устал и отложил затею на потом. Что было дальше

    habr.com/ru/articles/1031978/

    #singbox #прокси #winapi #delphi #программирование

  12. Как я писал трей-утилиту для управления sing-box на Windows

    Эта статья о том, как я хотел сэкономить несколько секунд при переключении системного прокси в Nekobox, а в итоге уже несколько месяцев пишу мини-программу для управления sing-box . Началось с того, что для прокси на Windows я стал использовать Nekobox. Про гибкое раздельное туннелирование я еще не знал, и приходилось постоянно включать и выключать системный прокси, чтобы зайти то туда (сайт заблокирован), то сюда (сайт блокирует IP прокси). Много раз в час: клик по значку в трее, режим системного прокси, отключить (а потом обратно). И я подумал, что было бы удобнее просто кликать по значку. Ничего сложного — почему бы не реализовать? Начал я, конечно же, с рисования значка. Решил, что хорошо подойдет портал из «Рика и Морти» как метафора беспрепятственного перемещения между измерениями. Провел целый вечер в Procreate на iPad, замучился, устал и отложил затею на потом. Что было дальше

    habr.com/ru/articles/1031978/

    #singbox #прокси #winapi #delphi #программирование

  13. Защита программ без IF: ретро-анализ библиотеки TViorProtect (Delphi 7)

    Что если защита от копирования вообще не содержит ни одного условного перехода? Ретро-разбор библиотеки 2009 года, где вместо if (key == valid) используется вычисление адреса следующей функции, любая ошибка в данных уводит процессор в никуда. Классический взломщик ищет в дизассемблере инструкции JZ/JNZ и инвертирует их ("Magic Jump"). Здесь этот приём не работает: нет точки принятия решения, нет и цели для патча. Вместо этого серийный номер диска, CRC32 исполняемого файла и системная дата складываются в единственно верный адрес перехода. Чуть изменил данные - получил Access Violation в случайном месте памяти.

    habr.com/ru/articles/1008824/

    #Delphi_7 #Pascal #WinAPI #Защита_программного_обеспечения #Обфускация #Антиотладка #Ретро #x86 #Программирование

  14. Защита программ без IF: ретро-анализ библиотеки TViorProtect (Delphi 7)

    Что если защита от копирования вообще не содержит ни одного условного перехода? Ретро-разбор библиотеки 2009 года, где вместо if (key == valid) используется вычисление адреса следующей функции, любая ошибка в данных уводит процессор в никуда. Классический взломщик ищет в дизассемблере инструкции JZ/JNZ и инвертирует их ("Magic Jump"). Здесь этот приём не работает: нет точки принятия решения, нет и цели для патча. Вместо этого серийный номер диска, CRC32 исполняемого файла и системная дата складываются в единственно верный адрес перехода. Чуть изменил данные - получил Access Violation в случайном месте памяти.

    habr.com/ru/articles/1008824/

    #Delphi_7 #Pascal #WinAPI #Защита_программного_обеспечения #Обфускация #Антиотладка #Ретро #x86 #Программирование

  15. Защита программ без IF: ретро-анализ библиотеки TViorProtect (Delphi 7)

    Что если защита от копирования вообще не содержит ни одного условного перехода? Ретро-разбор библиотеки 2009 года, где вместо if (key == valid) используется вычисление адреса следующей функции, любая ошибка в данных уводит процессор в никуда. Классический взломщик ищет в дизассемблере инструкции JZ/JNZ и инвертирует их ("Magic Jump"). Здесь этот приём не работает: нет точки принятия решения, нет и цели для патча. Вместо этого серийный номер диска, CRC32 исполняемого файла и системная дата складываются в единственно верный адрес перехода. Чуть изменил данные - получил Access Violation в случайном месте памяти.

    habr.com/ru/articles/1008824/

    #Delphi_7 #Pascal #WinAPI #Защита_программного_обеспечения #Обфускация #Антиотладка #Ретро #x86 #Программирование

  16. Защита программ без IF: ретро-анализ библиотеки TViorProtect (Delphi 7)

    Что если защита от копирования вообще не содержит ни одного условного перехода? Ретро-разбор библиотеки 2009 года, где вместо if (key == valid) используется вычисление адреса следующей функции, любая ошибка в данных уводит процессор в никуда. Классический взломщик ищет в дизассемблере инструкции JZ/JNZ и инвертирует их ("Magic Jump"). Здесь этот приём не работает: нет точки принятия решения, нет и цели для патча. Вместо этого серийный номер диска, CRC32 исполняемого файла и системная дата складываются в единственно верный адрес перехода. Чуть изменил данные - получил Access Violation в случайном месте памяти.

    habr.com/ru/articles/1008824/

    #Delphi_7 #Pascal #WinAPI #Защита_программного_обеспечения #Обфускация #Антиотладка #Ретро #x86 #Программирование

  17. Голосовой ввод для Windows через Vosk своими руками

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

    habr.com/ru/articles/969360/

    #vosk #распознавание_речи #speechtotext #python #голосовые_интерфейсы #winapi

  18. far2l в Ubuntu 25.04: наконец-то GUI-версия из коробки

    Исторически первая версия far2l — порта Far Manager на Linux, BSD и Mac, была реализована как графическое приложение. Терминалы той эпохи не умели ни передавать приложению некоторые сочетания клавиш (такие как Control+Enter), ни давать ему возможность взаимодействия с буфером обмена. Кому же нужен Far без этих возможностей? Поэтому пришлось сделать своё собственное консольное окно со своим собственным рендерингом текста — да, усложнение, зато всё сразу заработало «как-в-Винде» (а потом и консольную версию сделали тоже). И сегодня мы празднуем историческое событие: графическая версия, наиболее полная в плане соответствия UX Windows-версии, попала, наконец, в официальные репозитории Ubuntu:

    habr.com/ru/articles/903796/

    #far_manager #far #linux #file_manager #фар #macos #bsd #winapi #ubuntu #консоль

  19. far2l в Ubuntu 24.04 LTS готов для повседневного использования

    Несколько дней назад вышло обновление, устраняющее последние шероховатости UX, и мы рады представить вам долгожданный полноценно работающий Far Manager в составе LTS-версии Ubuntu 24.04! В этой статье я расскажу, как получить максимум удовольствия от его использования. Поехали! sudo apt update sudo apt install far2l

    habr.com/ru/articles/845998/

    #far_manager #far #linux #file_manager #фар #macos #bsd #winapi #ubuntu #консоль

  20. CIMCO Edit для Windows 7

    Windows 10 нинужон! Запускаем 3D симуляцию самого популярного в мире редактора УП для станков с ЧПУ CIMCO Edit 2025 (2025.01.25) в операционной системе Microsoft Windows 7 . И ещё переводим на русский язык саму программу. Читать далее всё это безобразие...

    habr.com/ru/articles/980632/

    #CIMCO #windows_7 #crack #winapi #licensing #c++ #cad #cam #чпу #русский_перевод

  21. Assembler для Windows в Visual Studio. Часть вторая — MASM x64 и юникод

    Вторая часть рассказа об ассемблере под Windows. Здесь я расскажу про 64-разрядные приложения в Windows, чем отличается MASM 64 от MASM 32, про макросы из MASM 64 SDK, как работать с Юникодом на примере простого консольного REPL'а, а ещё как обойтись без Visual Studio и пользоваться masm просто из командной строки. Первая часть — Assembler для Windows в Visual Studio .

    habr.com/ru/companies/ruvds/ar

    #assembler #masm #winapi #windows #visual_studio #64bit #ruvds_статьи

  22. Мониторинг CPU + RAM в трее. Часть 2

    Я хотел видеть состояние своих CPU и ОЗУ прямо в трее панели задач, чтобы не открывать дополнительные окна, по типу cpuz или CoreTemp. Решил написать свою фоновую программу с возможностью настроек и вот что получилось. Интересно!

    habr.com/ru/articles/938430/

    #C++ #winapi #мониторинг #десктоп #программирование #gdi+ #софт

  23. Утечка хендлов в IP Helper API: как мы нашли и обошли ещё один баг Windows

    После статьи о баге в CancelIoEx решил рассказать ещё об одном дефекте в системных компонентах Windows — на этот раз в IP Helper (часть Windows API, отвечающая за работу с сетевой статистикой и таблицами соединений). Этот API, среди прочего, даёт возможность сопоставлять перехваченные на уровне сети пакеты с локальными процессами. Казалось бы, проверенный механизм, который работает «под капотом» множества утилит и сетевых фильтров. Но в ходе тестирования WireSock Secure Connect в режиме split tunneling по процессам мы наткнулись на утечку, способную за считанные минуты выбить лимит хендлов в системе. Поводом для расследования стало сообщение в нашей группе поддержки WireSock в Telegram: один из пользователей заметил аномально быстрый рост числа открытых дескрипторов процессов. Проблема стабильно воспроизводилась под нагрузкой и исчезала, если использовать фильтрацию по IP-адресам. Это стало первой зацепкой, которая в итоге вывела нас на баг в реализации IP Helper. Отдельное спасибо пользователю @dno5iq , который обнаружил проблему, выполнил реверсинг GetOwnerModuleFromPidAndInfo и помог подтвердить наличие дефекта в её реализации.

    habr.com/ru/articles/935610/

    #windows_api #wiresock #vpn #winapi #reverse_engineering #системное_программирование #proxifyre #ip_helper #split_tunneling #handle_leak

  24. Мониторинг CPU и RAM на панели задач C++

    Приветствую читателя этой статьи. Я студент, учусь по направлению «Приборостроение», но большую часть времени занимаюсь программированием. Все таки это меня привлекает больше. Задумывался по поводу смены ОС на Arch Linux, но пока отложил эту затею в долгий ящик. Смотрел различные ролики на YouTube и заметил, что многие пользователи ставят себе Polybar, в котором можно легко настраивать информацию, выводимую на нечто похожее на Панель задач в Windows. Тогда я подумал «А почему бы не сделать такое в винде?!» и сразу начал гуглить что к чему. Попытался найти готовые аналоги, но ничего не впечатлило, поэтому решил написать свою программу на C++.

    habr.com/ru/articles/928602/

    #C++ #winapi #cpu #ram #мониторинг #панель_задач #windows

  25. Проект выходного дня: экранные линейки

    . Привет, Хабр! Хочу поделиться историей как я портировал свой (очень)старый пет-проект с Delphi 7 на Zig с помощью LLM. Утилиты rulers (экранные линейки, «как в фотошопе»). В 2007 году это был простой инструмент для замеров и выравнивания элементов интерфейса прямо на экране, написанный на Delphi. Почти два десятилетия спустя я решил воскресить его, но с современным подходом: портировать на zig, да ещё и задействовав LLM для автоматизации. Почему? Потому что я реально фанатею от языка zig, и руки так и чешутся на нём что-то написать. Но переписывать не маленький кусок старого кода — занятие довольно унылое, и я всё откладывал его в «долгий ящик». С другой стороны, я, как реальный ИИ-скептик, с сомнением отношусь к новомодному вайб-кодингу и не доверяю таким инструментам. Но, всё же я решил рискнуть и попробовать, если не для написания нового кода, то хотя-бы для портирования уже написанного. Наверное, шанс на успех тут будет выше. Эта статья о том, что у меня получилось (и не получилось).

    habr.com/ru/articles/925726/

    #zig #winapi #gdi+ #портирование #delphi #петпроекты

  26. Баг SRWLock в Windows вешает многопоточные программы

    std::shared_mutex — стандартный примитив синхронизации, появившийся в C++17, призванный упростить реализацию паттерна «многие читатели — один писатель». Однако, как показывают некоторые практические кейсы, его реализация на Windows, использующая SRWLock (Slim Reader/Writer Lock), может привести к серьёзным проблемам: в определённых ситуациях многопоточное приложение может зависнуть (дедлок).

    habr.com/ru/articles/865518/

    #windows #c++ #stl #winapi #mutex #deadlock

  27. Разработка служб для Windows на C++

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

    habr.com/ru/articles/857312/

    #C++ #Разработка_под_Windows #Службы_Windows #WinAPI

  28. Как я учил войс чат дискорда работать через прокси с помощью перехвата системных вызовов и DLL Hijacking

    Я, как и многие, пользуюсь дискордом и китайскими прокси клиентами, но, к сожалению, голосовой чат дискорда не поддерживает работу через прокси. Из-за этого постоянно приходится включать режим TUN/VPN, который заворачивает в туннель много лишнего. Можно ли с этим что-то сделать? Конечно! Добро пожаловать под кат, там вас ждет готовое решение и куча технических подробностей. Пожаловать под кат

    habr.com/ru/articles/855164/

    #discord #reverse_engineering #dll_hijacking #winapi #прокси #socks5 #google_chrome #hooks #windows #c++

  29. Ретрансляция Kerberos. Как работает RemoteKrbRelay

    В Windows Active Directory существует протокол Kerberos, который считается безопасным и неуязвимым к Relay-атакам. Или всё-таки...? В статье автор погрузился в глубины аутентификации Windows, DCOM и рассказал об инструменте RemoteKrbRelay. Изучить

    habr.com/ru/articles/848542/

    #winapi #kerberos #pentest #relay #hacking #тестирование_на_проникновение #windows_ad #active_directory_pentest

  30. Волк в овечьей шкуре — как атакующие эксплуатируют CVE-2023-38831 в WinRAR

    Привет, Хабр! Меня зовут Илья Ефимов, я аналитик-исследователь угроз кибербезопасности в компании R-Vision. Моя статья будет посвящена разбору уязвимости CVE-2023-38831 в архиваторе WinRAR . Эта уязвимость активно используется хакерами в атаках на отечественные компании. В отчете компании BI.ZONE фиксируется информация, что злоумышленники из групп Cobalt Werewolf, Mysterious Werewolf использовали данную уязвимость для доставки вредоносной полезной нагрузки. В этом случае уязвимость эксплуатировала вредоносный архив при доставке фишингового письма. Схожую информацию предоставляют исследователи из Positive Technologies , связав активность группировки ExCobalt с эксплуатацией CVE-2023-38831. Также фиксировались случаи эксплуатации данной уязвимости ВПО Agent Tesla и DarkMe . Стоит отметить, что по данным компании Kaspersky в 2024 году данная уязвимость занимает третье место по частоте эксплуатации атакующими в России и странах СНГ. В своей статье я опишу, в чем заключается суть уязвимости, продемонстрирую её эксплуатацию, а также генерируемые события по активности. Затем я подробно опишу процесс детектирования уязвимости и определю основные артефакты с помощью R-Vision SIEM. Смотреть

    habr.com/ru/companies/rvision/

    #winrar #cve202338831 #уязвимости #siem #correlation_rule #winapi #windbg

  31. Ему не место на помойке: хакаем 15-летний электронный переводчик и пишем под него приложения

    Дисклеймер : Статья очень подробная и во всех красках "простым языком" описывает процесс хакинга и программирования под такой необычный девайс. Так что даже если вас не интересуют электронные переводчики и минипк, статья может оказаться для вас занимательной! Я всегда любил находить новые применения стареньким девайсам, даже если обход защиты и разработка для них чего-то полезного занимала у меня некоторое время. И если с прошлыми моими статьями, где я привносил новую жизнь смартфонам на Android 2.3, а затем и на Android 1.5, всё понятно - девайсы получили возможность не только быть звонилками, но и вполне полноценными смартфонами, то в случае таких необычных девайсов, как электронные переводчики - всё гораздо интереснее, ведь по сути, это дешёвые альтернативы таким легендарным устройствам, как HP Jornada! Недавно я купил переводчик Ectaco за 1.500 рублей на Windows CE, обошел встроенную оболочку, написал программу, которая твикает реестр и даже портировал туда эмулятор NES. Интересно узнать об этом процессе во всех подробностях? Тогда добро пожаловать под кат!

    habr.com/ru/companies/timeweb/

    #bodyawm_ништячки #bodyawm_программирование #переводчик #моддинг #кастом #программирование #хакинг #C #Windows #WinAPI

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

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

    habr.com/ru/articles/837454/

    #go #winapi #httpсервер #rest #windows

  33. Реверс алгоритма поиска устройств в сети

    При создании оконного клиента под MS-Windows для удалённого взаимодействия с LED-матрицами стояла задача сделать автоматический поиск всех табло в сети. Моей первой идеей было перебирать все существующие IP-адреса конкретной подсети, по очереди посылая на них запросы и ожидая что одно или несколько устройств отправят соответствующий ответ. Я быстро отказался от этой задумки, ведь подобный брутфорс будет сильно нагружать сеть, да и сам алгоритм не самый быстрый. Других идей по реализации на тот момент у меня не было. Мне предоставили копию другого клиента, где поиск осуществляется моментально по нажатию одноимённой кнопки, а приложение в табличном виде выводит IP и MAC-адреса с рядом другой информации об обнаруженных матрицах, если таковые нашлись. Эти данные затем могут быть использованы для подключения, конфигурации и отправки команд на найденные устройства. Не имея исходного кода, я подготовил дизассемблеры, отладчики и hex-редакторы, готовясь к глубокому анализу и разбору проприетарного алгоритма поиска, чтобы реализовать что-то подобное уже в своей программе.

    habr.com/ru/articles/830582/

    #декомпиляция #дизассемблирование #обратная_разработка #winapi #сокеты #сетевое_программирование #низкоуровневое_программирование #ida_pro #x64dbg

  34. People implementing WinAPI libraries for languages should take into account how to auto-import by name.

    If I type in my code editor: WM_MAXIMIZE, FindWindowEx, LoadImageW, PostMessage, and so on, how do I auto-import it from your library?

    With Rust and window-rs it's constant looking up the docs for features to import. That is highly inconvenient compared to how it was with C.

    #Rust #WinAPI

  35. I have FINALLY figured out how to ungroup a single window from taskbar. Now I can do the PWA style Firefox windows like in Chrome.

    1. SHGetPropertyStoreForWindow to ungroup a single window in TaskBar
    2. WM_SETICON to set a new icon to the taskbar.

    #Windows #winapi #firefox

  36. Погружаемся в PEB. DLL Spoofing

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

    habr.com/ru/articles/811107/

    #peb #windows #winapi #spoof #malware

  37. Bad Apple на значках рабочего стола — работаем с WinAPI

    В рамках статьи, будем запускать Bad Apple на значках рабочего стола, познакомимся с различными API (COM, WinAPI, GDI+), поработаем в ffmpeg Поехали

    habr.com/ru/articles/794536/

    #winapi #desktop #c++14 #gdi+ #ffmpeg

  38. BTW the specific #win32-api-braindamage that hit me in #dos2ansi 1.0 was FlushFileBuffers(): learn.microsoft.com/en-us/wind

    Sure, my fault not to read the *whole* docs before using it and just assuming sane semantics 🙈:

    > The function fails if _hFile_ is a handle to the console output. That is because the console output is not buffered.

    Okayyyy. I mean, not *having* to know what some "handle" used to do I/O is referring to exactly is kind of the whole point of any I/O abstraction, at least I thought so. Any API I've seen so far would just make it a no-op (and, of course, succeed) in such a case. 🤯

    #Windows #WinAPI #braindamage

  39. «Пиратский» Google Chrome в Microsoft Windows 7 год спустя. И примкнувший к ним MS EDGE, Opera, Brave. Полная версия

    Пиратство растёт, милорд! Google Chrome для Windows 7 - детальный технический отчёт, каким образом актуальная версия популярнейшего браузера всё равно работает в «семёрке» даже спустя год после официального прекращения её поддержки корпорацией. Реакция Google LLC или почему пиратство только набирает обороты?

    habr.com/ru/articles/789120/

    #google_chrome #debugger #crack #piracy #windows_7 #windows_10 #assembler #winapi #sandbox

  40. Как я создавал автокликер для приложения «ДругВокруг»

    Социальные сети и мессенджеры последнее время завоевали большую популярность среди пользователей интернета. Одной из таких соцсетей было приложение «ДругВокруг». Точнее, было в моём обиходе. Стояло оно у меня на компьютере с Windows XP в 2016 году. В то время у меня возникла идея сделать одну интересную программу для работы с этим приложением...

    habr.com/ru/articles/784414/

    #ДругВокруг #winapi #winhex #социальные_сети #windows_xp #whatsapp

  41. Assembler для Windows в Visual Studio. Часть вторая — MASM x64 и юникод

    Вторая часть рассказа об ассемблере под Windows. Здесь я расскажу про 64-разрядные приложения в Windows, чем отличается MASM 64 от MASM 32, про макросы из MASM 64 SDK, как работать с Юникодом на примере простого консольного REPL'а, а ещё как обойтись без Visual Studio и пользоваться masm просто из командной строки. Первая часть — Assembler для Windows в Visual Studio .

    habr.com/ru/companies/ruvds/ar

    #assembler #masm #winapi #windows #visual_studio #64bit #ruvds_статьи

  42. Assembler для Windows в Visual Studio. Часть вторая — MASM x64 и юникод

    Вторая часть рассказа об ассемблере под Windows. Здесь я расскажу про 64-разрядные приложения в Windows, чем отличается MASM 64 от MASM 32, про макросы из MASM 64 SDK, как работать с Юникодом на примере простого консольного REPL'а, а ещё как обойтись без Visual Studio и пользоваться masm просто из командной строки. Первая часть — Assembler для Windows в Visual Studio .

    habr.com/ru/companies/ruvds/ar

    #assembler #masm #winapi #windows #visual_studio #64bit #ruvds_статьи

  43. Assembler для Windows в Visual Studio. Часть вторая — MASM x64 и юникод

    Вторая часть рассказа об ассемблере под Windows. Здесь я расскажу про 64-разрядные приложения в Windows, чем отличается MASM 64 от MASM 32, про макросы из MASM 64 SDK, как работать с Юникодом на примере простого консольного REPL'а, а ещё как обойтись без Visual Studio и пользоваться masm просто из командной строки. Первая часть — Assembler для Windows в Visual Studio .

    habr.com/ru/companies/ruvds/ar

    #assembler #masm #winapi #windows #visual_studio #64bit #ruvds_статьи

  44. Реверс алгоритма поиска устройств в сети

    При создании оконного клиента под MS-Windows для удалённого взаимодействия с LED-матрицами стояла задача сделать автоматический поиск всех табло в сети. Моей первой идеей было перебирать все существующие IP-адреса конкретной подсети, по очереди посылая на них запросы и ожидая что одно или несколько устройств отправят соответствующий ответ. Я быстро отказался от этой задумки, ведь подобный брутфорс будет сильно нагружать сеть, да и сам алгоритм не самый быстрый. Других идей по реализации на тот момент у меня не было. Мне предоставили копию другого клиента, где поиск осуществляется моментально по нажатию одноимённой кнопки, а приложение в табличном виде выводит IP и MAC-адреса с рядом другой информации об обнаруженных матрицах, если таковые нашлись. Эти данные затем могут быть использованы для подключения, конфигурации и отправки команд на найденные устройства. Не имея исходного кода, я подготовил дизассемблеры, отладчики и hex-редакторы, готовясь к глубокому анализу и разбору проприетарного алгоритма поиска, чтобы реализовать что-то подобное уже в своей программе.

    habr.com/ru/articles/830582/

    #декомпиляция #дизассемблирование #обратная_разработка #winapi #сокеты #сетевое_программирование #низкоуровневое_программирование #ida_pro #x64dbg

  45. Реверс алгоритма поиска устройств в сети

    При создании оконного клиента под MS-Windows для удалённого взаимодействия с LED-матрицами стояла задача сделать автоматический поиск всех табло в сети. Моей первой идеей было перебирать все существующие IP-адреса конкретной подсети, по очереди посылая на них запросы и ожидая что одно или несколько устройств отправят соответствующий ответ. Я быстро отказался от этой задумки, ведь подобный брутфорс будет сильно нагружать сеть, да и сам алгоритм не самый быстрый. Других идей по реализации на тот момент у меня не было. Мне предоставили копию другого клиента, где поиск осуществляется моментально по нажатию одноимённой кнопки, а приложение в табличном виде выводит IP и MAC-адреса с рядом другой информации об обнаруженных матрицах, если таковые нашлись. Эти данные затем могут быть использованы для подключения, конфигурации и отправки команд на найденные устройства. Не имея исходного кода, я подготовил дизассемблеры, отладчики и hex-редакторы, готовясь к глубокому анализу и разбору проприетарного алгоритма поиска, чтобы реализовать что-то подобное уже в своей программе.

    habr.com/ru/articles/830582/

    #декомпиляция #дизассемблирование #обратная_разработка #winapi #сокеты #сетевое_программирование #низкоуровневое_программирование #ida_pro #x64dbg

  46. Как я создавал автокликер для приложения «ДругВокруг»

    Социальные сети и мессенджеры последнее время завоевали большую популярность среди пользователей интернета. Одной из таких соцсетей было приложение «ДругВокруг». Точнее, было в моём обиходе. Стояло оно у меня на компьютере с Windows XP в 2016 году. В то время у меня возникла идея сделать одну интересную программу для работы с этим приложением...

    habr.com/ru/articles/784414/

    #ДругВокруг #winapi #winhex #социальные_сети #windows_xp #whatsapp

  47. Разработка служб для Windows на C++

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

    habr.com/ru/articles/857312/

    #C++ #Разработка_под_Windows #Службы_Windows #WinAPI

  48. Разработка служб для Windows на C++

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

    habr.com/ru/articles/857312/

    #C++ #Разработка_под_Windows #Службы_Windows #WinAPI