Текстовый вывод команд в окне интерпретатора PowerShell — всего лишь способ отображения информации в пригодном для человеческого восприятия виде. На самом деле среда ориентирована на работу с объектами: командлеты и функции получают их на входе и возвращают на выходе, а доступные в интерактивном режиме и в сценариях типы переменных базируются на классах .NET. В четвертой статье цикла мы изучим работу с объектами более детально.Читать полностью »
Рубрика «системное программирование» - 15
Что такое Windows PowerShell и с чем его едят? Часть 4: Работа с объектами, собственные классы
2020-03-31 в 11:55, admin, рубрики: powershell, Блог компании RUVDS.com, разработка под windows, системное администрирование, системное программированиеНазад к истокам: рулим компьютером прямо из MBR
2020-03-26 в 21:00, admin, рубрики: mbr, ассемблер, загрузка, КодоБред, ненормальное программирование, низкоуровневое программирование, опкоды, Процессоры, системное программированиеРазворачивал в очередной раз Linux-образ на USB-drive (почему-то им оказался Manjaro, но это совсем другая история), и в голову пробрались странные мысли: BIOS увидел флешку, а дальше-то что? Ну да, там MBR, скорее всего GRUB и… А раз в MBR затесался чей-то кастомный код, значит и простой человек из Адыгеи может запрограммировать что-нибудь на «большом» компьютере, но вне операционной системы.
А так как делать такие штуки на языках высокого уровня слишком жирно, а ассемблеров мы не знаем, будем шпарить прямо на опкодах для 8086.

Embox RTOS на Raspberry Pi
2020-03-26 в 17:19, admin, рубрики: embox, open source, Raspberry Pi, rpi, rtos, Блог компании Embox, Разработка на Raspberry Pi, системное программирование
Привет!
У нас часто спрашивают есть ли в Embox поддержка Raspberry Pi. Да, есть. Описание как запустить теперь тут. В этой статье я хочу чуть подробней об этом рассказать.
Читать полностью »
Проброс USB-портов из Windows 10 для удалённой работы
2020-03-23 в 11:30, admin, рубрики: Redd, usb, USB-порты, usb-устройства, Компьютерное железо, программирование микроконтроллеров, системное программирование, удалёнкаКогда человек много лет рыл бункер и запасал там продукты, он должен испытывать глубокое моральное удовлетворение, если бункер понадобился. Он будет довольный заявлять: «А я говори-и-и-ил!» То же касается и того, кто делал запасы продуктов в кладовой, когда все закупались в магазинах только на сегодня. А вот с нашим комплексом для удалённой работы Redd как-то и не хочется злорадствовать. Он проектировался для удалёнки в мирное время. И использовался задолго до первых новостей из Китая.
Давно я про него ничего не писал. Другие проекты отвлекают, да и интерес, судя по рейтингу последней из опубликованных статей, уже упал. Сил на подготовку статьи отнимают много, и это имеет смысл делать только если оно нужно достаточному числу читателей.
Но так как сейчас удалёнка у всех на устах, возникло желание поделиться одной наработкой, которая может кому-то помочь. Это не наша разработка, я проводил исследования в рамках работы над сервисом удаленной работы с отладочными платами All-Hardware. Вот их результаты сейчас и опишу. Проект USB/IP известен многим. Но он давно свёрнут авторами. Самые свежие драйверы были под WIN7. Сегодня я опишу, где скачать вариант для WIN10, и покажу, как я его проверял. Кроме того, разработчики современного аналога уверяют, что у них сделан не только Windows-клиент, но и Windows-сервер (правда, в этом режиме я тестирование не вёл: задача того не требовала). Но кому-то это тоже может оказаться полезным.
Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов
2020-03-23 в 9:30, admin, рубрики: powershell, Блог компании RUVDS.com, разработка под windows, системное администрирование, системное программированиеВо второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность создания собственных командлетов.Читать полностью »
Выпуск Rust 1.42.0: шаблоны срезов и более удобные сообщения о панике
2020-03-14 в 19:44, admin, рубрики: cargo, clippy, open source, release, Rust, rustc, rustdoc, rustfix, rustfmt, stable, выпуск версий, Компиляторы, новости технологий, перевод, Программирование, системное программирование, стабильная версия, языки программированияКоманда Rust рада сообщить о выпуске новой версии, 1.42.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.42.0 вам достаточно выполнить следующую команду:
rustup update stable
Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.
Что вошло в стабильную версию 1.42.0
Основными нововведениями Rust 1.42.0 являются более удобные сообщения о панике в случае вызова unwrap, шаблоны срезов, объявление устаревшим Error::description и многое другое. Смотрите подробности выпуска для дополнительной информации.
CVE-2019-18683: Эксплуатация уязвимости в подсистеме V4L2 ядра Linux
2020-03-12 в 6:23, admin, рубрики: exploit, hacking, linux kernel, security, vulnerability, Блог компании Positive Technologies, информационная безопасность, Разработка под Linux, системное программирование, уязвимости, эксплойт, ядро LinuxВ данной статье описана эксплуатация уязвимости CVE-2019-18683 в ядре Linux, которую я обнаружил и исправил в конце 2019 года. Указанный CVE-идентификатор присвоен нескольким аналогичным ошибкам типа «состояние гонки», которые присутствовали в подсистеме V4L2 ядра Linux на протяжении пяти лет. Пятнадцатого февраля я выступил с докладом по данной теме на конференции OffensiveCon 2020 (ссылка на презентацию).
Далее я детально объясню, как работает разработанный мной прототип эксплойта (PoC exploit) для микроархитектуры x86_64. Данный эксплойт выполняет локальное повышение привилегий из контекста ядерного потока, где отсутствует отображение пользовательского адресного пространства. В статье также показано, как эксплойт для Ubuntu Server 18.04 обходит следующие средства защиты: KASLR, SMEP и SMAP.
Начнем с демонстрации работы эксплойта.

Создание своего образа с чистым CentOS 8.1 в облаке Amazon
2020-03-07 в 23:34, admin, рубрики: AMI, CentOS, centos 8, ebs, облачные сервисы, Разработка под Linux, системное администрирование, системное программированиеДанное руководство, является "форком" одноименной статьи про CentOS 5.9,
и учитывает особенности новой OS. На данный момент в AWS Marketplace нет официального образа Centos8 от centos.org.
Плагин для мониторинга K8s-приложений DevOpsProdigy KubeGraf v1.3.0: новый релиз и новые фичи
2020-03-02 в 8:58, admin, рубрики: diy или сделай сам, github, Grafana, ITSumma, k8s, kubernetes, Блог компании ITSumma, плагин, разработка, системное программированиеНа этой неделе состоялся релиз новой версии нашего плагина для Grafana, предназначенного для мониторинга kubernetes-приложений DevOpsProdigy KubeGraf v1.3.0.
Небольшой дисклеймер: данный плагин является переработанной версией официального плагина от Grafana (который не поддерживается уже около двух лет). Мы разрабатываем его уже больше полугода. Ключевыми особенностями плагина являются:
- интеграция с k8s-api для построения карты ваших приложений, сгруппированных по неймспейсам / нодам-кластера + привязка к конкретным pod’ам/сервисам;
- сводная страница со всеми ошибками / предупреждениями о работе нод и приложений кластера;
- возможность инсталляции плагина с облачными k8s-провайдерами через авторизацию с помощью bearer-tokena.
Что нового в версии 1.3.0:
Читать полностью »
Выпуск Rust 1.41.1: корректирующий выпуск
2020-02-29 в 16:11, admin, рубрики: cargo, clippy, open source, release, Rust, rustc, rustdoc, rustfix, rustfmt, stable, выпуск версий, Компиляторы, новости технологий, перевод, Программирование, системное программирование, стабильная версия, языки программированияКоманда Rust опубликовала новый корректирующий выпуск Rust, 1.41.1. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.41.1 вам достаточно выполнить следующую команду:
rustup update stable
Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта
Что вошло в стабильную версию 1.41.1
Rust 1.41.1 посвящён двум критическим регрессиям, появившимся в Rust 1.41.0: некорректность в статических временах жизни и неправильная компиляция, вызывающая ошибки сегментирования. Эти регрессии не затрагивают предыдущие выпуски Rust и мы рекомендуем пользователям Rust 1.40.0 обновиться настолько быстро, насколько это возможно. Другая проблема, связанная со взаимодействием между временем жизни 'static и реализациями типажа Copy, присутствовала ещё с Rust 1.0 и тоже исправляется данным выпуском.



