Не для кого не секрет, что некоторые типичные действия на компьютере проще быстрее и эффективнее выполнить из-под командной строки.
В этом тексте я хотел бы поделиться командами, которые мне очень часто помогают в работе.
Разработка под операционные системы от Microsoft
Не для кого не секрет, что некоторые типичные действия на компьютере проще быстрее и эффективнее выполнить из-под командной строки.
В этом тексте я хотел бы поделиться командами, которые мне очень часто помогают в работе.
Друзья, и снова привет. Меня зовут Алексей Потапов, я представляю отдел обнаружения атак экспертного центра безопасности Positive Technologies (PT Expert Security Center). Продолжу историю о том, как наши знания обогащают продукты Positive Technologies, чтобы они обеспечивали конечную цель — результативную кибербезопасность. Ранее мы уже рассказывали вам о нашем подходе к обнаружению атак в SIEM-системах и, не побоюсь этого слова, киллер-фиче — механизме построения цепочек запускаемых процессов на основе нормализованных событий.
В этот раз поговорим о том, как в продукты для кибербезопасности проникают технологии machine learning (ML, машинное обучение) — на примере использования ML-модуля для поведенческого анализа в MaxPatrol SIEM. О некоторых технических аспектах работы отдельно взятых моделей мы недавно рассказали на Positive Hack Days — запись можно посмотреть тут (также есть в формате статьи). Еще больше подробностей читайте в другом материале на Хабре.
Началось все почти два года назад в декабре, практически перед новым годом.
Наш основной проект (видео мессенджер) использовал 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.
Технологическая платформа 1С:Предприятие – это большой программный продукт (только на С++ - более 10 миллионов строк кода, а есть ещё Java и JavaScript). Подробнее про устройство платформы можно прочитать тут.
В процессе эксплуатации решений, созданных на платформе 1С:Предприятие, мы иногда сталкивались с тем, что в определенных сценариях потребление памяти процессами платформы казалось нам избыточным. К сожалению, простых способов выяснить, так ли это в действительности, для столь большого приложения у нас не было. Поэтому мы начали искать специализированные инструменты, которые могли бы помочь нам в анализе использования памяти, потребляемой нашими приложениями.
О том, какие инструменты мы пробовали использовать, почему они нам не подошли и как мы в итоге решили задачу анализа использования памяти – под катом.
В этой статье я покажу как написать приложение для windows на ассемблере. В качестве IDE будет привычная многим Visual Studio 2019 со своими привычными плюшками - подсветка кода, отладка и привычный просмотр локальных переменных и регистров. Собирать приложение будет MASM, а значит, у нас будут и масмовские плюшки. Это будет полноценное оконное приложение с меню, иконкой, отрисовкой, выводом текста и обработкой мыши с клавиатурой.
Привет, Хабр! Меня зовут Александр Калинин, я занимаюсь разработкой средств обеспечения безопасности контейнерных сред в МТС RED, дочерней компании МТС в сфере кибербезопасности. Сегодня расскажу о том, как я обнаружил в отладчике WinDbg уязвимость, которая позволяет запускать произвольный вредоносный код на хосте разработчика и подменять библиотеки. Также поговорим о реакции Microsoft на мой репорт.
В рамках данной статьи я постарался написать полноценное руководство по разработке простого драйвера под операционную систему Windows 10. Всем новичкам, заинтересованным в системном программировании рекомендую ознакомиться. Это поможет вам сделать первые шаги в разработке драйверов.
У нас возник резкий рост количества вылетов 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
, то есть вызывающий проблемы код находится в стеке.
Кто исполняет код из стека?
Конечно, зловреды.
Давайте посмотрим, что пытается сделать это зловредное ПО.
Некоторые разработчики реализуют проекты just for fun, без особого практического смысла. Просто потому, что могут, и получается нечто из разряда «троллейбуса из хлеба». Сейчас выходные, так что можно расслабиться и оценить именно такой проект, а также родственные ему.
Называется новинка Winception. Авторы отличились тем, что запустили Windows 11, Windows 10, Windows 8.1, Windows 8, Windows 7 и DOS друг в друге. Получилось нечто вроде виндовой матрёшки. О ней, а также других подобных экспериментах и поговорим.
Привет, Хабр! Здесь уже публиковалась новость о том, что Microsoft в ближайшее время собирается удалить WordPad из своей операционной системы. Этот текстовый редактор очень ограничен в функциональности по сравнению с практически любой версией Word из пакета Microsoft Office, проигрывает он и подавляющему большинству других современных и не очень редакторов текстовых документов. Почему же многие пользователи ОС Windows расстраиваются из-за решения Microsoft, согласно которому WordPad вскоре уберут?
Привет, Хабр!
Сегодня я продолжу рассказывать про Component Object Model (COM) и атаку COM Hijacking.
В предыдущей части "Тайная жизнь COM: погружение в методы hijacking" я разобрала способы hijacking, а из первой статьи мы также узнали, что вызов этой полезной нагрузки может происходить по расписанию в случае с запланированной задачи или при запуске пользователем какого-либо ПО.
Но у вас может возникнуть вопрос, а что, если я хочу самостоятельно вызывать COM-объект, не дожидаясь каких-либо сторонних событий? Предвосхищая его, в этой статье я как раз и хочу рассказать вам немного об этом, а после мы рассмотрим, как можно детектировать атаку COM Hijacking.
И предлагаю начать со способов запуска COM-объектов штатными средствами Windows.
Привет всем.
В данной статье мы немного проанализируем код Windows XP, a также соберем калькулятор c использованием GCC x64 в среде Windows 10. Будут показаны ошибки, с которыми я столкнулся в процессе сборки и подробно расписаны способы их решения. В конце будет продемонстрирован рабочий билд приложения calc.exe.
Всем приятного прочтения!
Стою я значит утром (около 2 часов дня) возле кофеварки и листаю ленту хабра, а там CodeLama вышла. Copilot для бедных это или панацея в мире локальных текстовых моделей? Попытаюсь не отвечать на этот вопрос, ведь ваши соседи снизу утонут в воде, которая сейчас льётся из экрана.
Читать далее - на свой страх и риск. Статья писалась спинным мозгом и глубокой ночью, как следствие я получил натянутую на глобус сущность, которую можно инкапсулировать в технотекст, что бы она вызывала меньше подозрений у случайного читателя. Ну вы поняли уровень, верно?
Предлагаю обойтись кратким вступлением и перейти сразу к делу.
Возможно, кто-то из читателей помнит мою серию публикаций о графической библиотеке OpenSceneGraph. Уже на тот момент, в общем-то было понятно, что использование OpenSceneGraph в 2018 году мало оправдано из-за того, что OpenGL, на котором основан OpenSceneGraph потихоньку сдает свои позиции. В феврале 2016 года орган по стандартизации OpenGL Khronos group, выпускают приемника OpenGL - Vulkan API версии 1.0. Производители оборудования в общем-то почти сразу стали добавлять в драйверы своей аппаратуры поддержку нового API. По крайней мере, актуальная на тот момент GeForce GTX 970 уже имела таковую поддержку (про более старые серии аппаратуры ничего сказать не могу).
Не смотря на то, что OpenSceneGraph таки получил поддержку OpenGL 3.x (и ваш покорный слуга собирал его с таковой поддержкой), разработчикам этой библиотеки стало понятно, что огромное количество внутренних проблем OpenGL делает его поддержку бесперспективной. Поэтому, в конце мая 2018 года стартовала разработка новой графической библиотеки VulkanSceneGraph, ориентированной исключительной на Vulkan API. 13 ноября 2022 года состоялся официальный релиз VulkanSceneGraph-1.0, а совсем недавно, 31 августа 2023 выпустили VulkanSceneGraph-1.0.9.
Подробно эта юная графическая библиотека здесь на хабре не освещалась. Но я думаю пришло время сделать как минимум обзор её возможностей, а может и серию публикаций по архитектуре и приемам работы с ней. В общем, заинтригованных читателей прошу под кат.
В новой публикации мы исследуем сферу магии кода и низкоуровневого программирования. Перед вами увлекательная история, как я смог обрести контроль над рабочим столом, используя лишь небольшие фрагменты C# кода. Вам будет интересно узнать, как я смог покорить мир обоев и сделать их подчиненными волшебства. Не упустите шанс окунуться в мир горячих клавиш и таинственных сообщений Windows API.
В этой истории о магической мощи программирования мы расскажем, как открываются двери к возможностям, о которых вы даже не подозревали. Узнаете ли вы, что стоит за командами, вдохновленными Ctrl+Alt+B и Shift+C? Все это и многое другое ждет вас внутри. Следите за нашим путешествием сквозь замысловатые лабиринты кода и давайте волшебству свободу! ✨