Pull to refresh
3
0
Роман Артоболевский @webserfer

Вечный студент

Send message

Развёртывание приложений Qt в Windows

Reading time6 min
Views94K

Вступление


Добрый день, уважаемые читатели! Совсем недавно я завершил разработку одного своего приложения на Qt, и мне захотелось создать профессиональную программу установки, чтобы всё было «как у взрослых». Как оказалось, сделать это непросто, учитывая, что на официальном сайте инструментария информации по развёртыванию почти нет. В данной статье рассмотрены некоторые этапы подготовки программ на Qt версии 5.2 или выше для распространения на компьютеры других пользователей. Итак, вот план руководства:

  1. Подготовка проекта Qt к развёртыванию
  2. Компоновка дистрибутива программы
  3. Подписание кода и создание установщика

Не будем терять времени и приступим к работе.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments11

Эксплуатация подписанных загрузчиков для обхода защиты UEFI Secure Boot

Reading time7 min
Views40K
English version of this article.

Введение

Прошивки современных материнских плат компьютера работают по спецификации UEFI, и с 2013 года поддерживают технологию проверки подлинности загружаемых программ и драйверов Secure Boot, призванную защитить компьютер от буткитов. Secure Boot блокирует выполнение неподписанного или недоверенного программного кода: .efi-файлов программ и загрузчиков операционных систем, прошивок дополнительного оборудования (OPROM видеокарт, сетевых адаптеров).
Secure Boot можно отключить на любой магазинной материнской плате, но обязательное требование для изменения его настроек — физическое присутствие за компьютером. Необходимо зайти в настройки UEFI при загрузке компьютера, и только тогда получится отключить технологию или изменить её настройки.

Большинство материнских плат поставляется только с ключами Microsoft в качестве доверенных, из-за чего создатели загрузочного ПО вынуждены обращаться в Microsoft за подписью загрузчиков, проходить процедуру аудита, и обосновывать необходимость глобальной подписи их файла, если они хотят, чтобы диск или флешка запускались без необходимости отключения Secure Boot или добавления их ключа вручную на каждом компьютере.
Подписывать загрузчики у Microsoft приходится разработчикам дистрибутивов Linux, гипервизоров, загрузочных дисков антивирусов и программ для восстановления компьютера.

Мне хотелось сделать загрузочную флешку с различным ПО для восстановления компьютера, которая бы грузилась без отключения Secure Boot. Посмотрим, как это можно реализовать.
Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments94

Ограничение скорости обработки запросов в nginx

Reading time8 min
Views58K

Фотография пользователя Wonderlane, Flickr


NGINX великолепен! Вот только его документация по ограничению скорости обработки запросов показалась мне, как бы это сказать, несколько ограниченной. Поэтому я решил написать это руководство по ограничению скорости обработки запросов (rate-liming) и шейпингу трафика (traffic shaping) в NGINX.

Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments12

Vuurmuur — боевые коты на страже вашей сети

Reading time2 min
Views14K
image

Vuurmuur — за таким «кошачьим» именем скрывается довольно мощная GUI надстройка для iptables. Основным отличием от других iptables-надстроек является наличие консольного интерфейса написанного на Ncurses. Поэтому администрирование всё также легко возможно посредством SSH или консоли. Vuurmuur умеет работать с шейпингом, поддерживает функции мониторинга трафика, ведёт отдельные логи, прекрасно работает как на 2.4 так и на 2.6 ядрах и даже «говорит» на русском.

Буквы, картинки, мультики...
Total votes 120: ↑107 and ↓13+94
Comments73

Захват криптоключей Mifare и копирование ключей домофонов IronLogic своими руками

Reading time7 min
Views93K
Голыми руками захватывать криптоключи и копировать брелоки Mifare для домофонов конечно невозможно, а вот собрать прибор, который будет это делать вполне реально. Не буду здесь рассказывать о том, что такое Mifare и вдаваться в технические подробности, скажу только, что данная технология используется сейчас, например, в домофонах, и для того, чтобы скопировать домофонный брелок, необходимо знать криптоключи, которыми он был закрыт.
Внимание! Данная статья создана исключительно в образовательных целях. Напоминаем, что любое проникновение в информационные системы может преследоваться по закону.
У многих, интересующихся технологией MIfare, наверняка есть простейшее устройство для чтения-записи карт и брелоков Mifare, состоящее из модуля PN532 и USB-UART адаптера:



Путем несложной и недорогой доработки это устройство можно заставить захватывать от
считывателя данные аутентификации, с помощью которых и рассчитываются криптоключи, так необходимые для чтения и копирования. Существуют и серийно выпускаемые приборы для этой цели — SMKey, Proxmark3, Chameleon и ещё некоторые. Это приборы с множеством функций, удобные, но недешевые.

Я предлагаю вашему вниманию более бюджетный вариант на основе подобного «малого джентльменского набора» из модуля PN532 и USB-UART адаптера, позволяющий захватывать данные от считывателя Mifare, например домофона, и рассчитывать криптоключи, с которыми считыватель обращается к метке.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments29

Бородатый обманщик. Методика TARPIT в защите и нападении

Level of difficultyMedium
Reading time15 min
Views3.2K

Существует стратегия информационной безопасности, суть которой сводится к непропорциональному расходованию ресурсов атакующей стороны. Ресурсов вычислительных, временных и человеческих.

Добро пожаловать под кат если вас интересует:

  Как затруднить атакующему фазу разведки?

  Отчего nmap может серьезно тормозить?

  Откуда берутся хосты с тысячами открытых портов?

  Как выявлять tarpit хосты и что с ними делать если вы занимаетесь аудитом ИБ.

  Что это вообще такое этот ваш tarpit? )

 

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments1

Программирование для Palm OS: ставим CodeWarrior и оживляем ТСД

Level of difficultyMedium
Reading time30 min
Views5.9K
Приветствую всех!

Немало ушедших в историю платформ успели мы повидать. И столько же ещё будет у нас впереди. Но сейчас поговорим не о чём-то реликтовом и экзотическом, а о КПК, что наверняка успели застать многие пользователи данного ресурса. Эти девайсы имели массу поклонников, не удивлюсь, если кто-то до сих пор пользуется таким. Тем интереснее будет поговорить о разработке софта для данной ОС.



Итак, в сегодняшней статье рассмотрим разработку софта для КПК под управлением легендарной Palm OS. Узнаем, где взять весь нужный софт, как собрать свою программу. Поговорим о некоторых аспектах программирования для этих железок. Традиционно будет много интересного.
Читать дальше →
Total votes 54: ↑54 and ↓0+54
Comments26

Инициализация в современном C++

Reading time26 min
Views149K


Общеизвестно, что семантика инициализации — одна из наиболее сложных частей C++. Существует множество видов инициализации, описываемых разным синтаксисом, и все они взаимодействуют сложным и вызывающим вопросы способом. C++11 принес концепцию «универсальной инициализации». К сожалению, она привнесла еще более сложные правила, и в свою очередь, их перекрыли в C++14, C++17 и снова поменяют в C++20.


Под катом — видео и перевод доклада Тимура Домлера (Timur Doumler) с конференции C++ Russia. Тимур вначале подводит исторические итоги эволюции инициализации в С++, дает системный обзор текущего варианта правила инициализации, типичных проблем и сюрпризов, объясняет, как использовать все эти правила эффективно, и, наконец, рассказывает о свежих предложениях в стандарт, которые могут сделать семантику инициализации C++20 немного более удобной. Далее повествование — от его лица.

Total votes 62: ↑61 and ↓1+60
Comments125

Как и зачем определять голосовую почту

Reading time5 min
Views8.4K

«Абонент не абонент — пожалуйста, оставьте ваше сообщение после звукового сигнала!» — мы слышим этот автоматический ответ множество раз и уже привыкли вешать трубку, точно зная, что никто и никогда не проверяет «голосовую почту». Я, как и все опрошенные знакомые, без гугла даже не смогу ее проверить! Зачем операторам эта странная штука? А чтобы брать деньги за звонки, которые иначе будут бесплатными. Причем не только с обычных абонентов, но и с компаний, которые используют автоматику для звонков. Представьте себе магазин, который подтверждает заказы не колл-центром через полчаса, а роботом через десять секунд. И часть этих звонков «уходит» в голосовую почту, тратя деньги компании и ломая статистику. Под катом — детективная история про early media, big data, machine learning и TensorFlow.
Total votes 25: ↑24 and ↓1+23
Comments8

Помоги компилятору помочь тебе

Reading time18 min
Views49K

Предисловие


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


Огромное количество претензий, которые предъявляют к языку C++ в этих ваших интернетах, — про сложность, небезопасность, стрельбу по ногам и т.п., — относятся как раз к тем случаям, когда люди просто не знают о том, что можно решить эти проблемы лёгким движением пальцев по клавиатуре.


Давайте же исправим эту вопиющую несправедливость, и прольём свет истины на возможности компилятора по предотвращению ошибок.

Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments53

Zabbix-мониторинг устройств IoT метеостанции с помощью Repka Pi

Reading time18 min
Views5.3K

Эта статья посвящена Zabbix-мониторингу устройств IoT простой метеостанции, подключенных через порт GPIO к микрокомпьютеру отечественной сборки Repka Pi 3 производства НПО Рэйнбовсофт (Rainbowsoft). Здесь будут представлены скрипты мониторинга, измеряющие температуру, давление, влажность, освещенность, а также контролирующие наличие воды (затопление).

Метеостанция оборудована контроллером BME280, измерителем освещенности BH1750, а также сенсором наличия воды YL-38. Результаты измерений периодически отправляются в Zabbix с помощью агента zabbix-agent2 и шаблона, работающего в активном режиме.

Помимо этого, в статье будет описан скрипт Python, который можно запускать периодически через crontab. Этот скрипт выводит результаты измерений на OLED-монитор SSD1306. На время проведения измерений зажигается светодиод, подключенный к GPIO.

Мониторинг самого микрокомпьютера был описан ранее в статье Zabbix-мониторинг российского микрокомпьютера Repka Pi.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments9

Zabbix: мониторим всё подряд (на примере Redis'а)

Reading time10 min
Views117K

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


Правда я не могу сказать, что понимаю "философию Zabbix'а". Несмотря на обширную подробную документацию на русском языке, мне было сложно погружаться в мир Zabbix'а — создавалось ощущение, что мы с разработчиками одни и те же вещи называем разными именами. Возможно потому, что Zabbix создавался админами для админов, а я всё-таки больше разработчик и пользователь.


Тем не менее, для запуска Zabbix'а и для мониторинга основных параметров компьютерных систем (процессор, память и т.п.) навыков обычного linux-пользователя хватает. Есть большое количество плагинов от сторонних разработчиков, расширяющих возможности Zabbix'а. Для моих нужд мне потребовалось настроить мониторинг Redis-сервера. Я немного покопался в коде имеющихся плагинов и на их примере выяснил, что архитектура Zabbix'а позволяет достаточно просто подключать к мониторингу любые параметры информационных систем, которые могут быть выражены в числовом виде.


Под катом — пример Zabbix-плагина с моим пояснением по терминологии Zabbix'а. Кому-то этот пример покажется наивным, ну а кому-то поможет проще освоиться с понятиями. В любом случае, Zabbix достаточно велик для того, чтобы ощупать его с разных сторон.

Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments20

Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему

Reading time3 min
Views260K


Все крупные сайты давно перешли на протокол https. Тенденция продолжается, и многие наши клиенты хотят, чтобы их сайт работал по защищенному протоколу. А если разрабатывается backend для мобильного приложения, то https обязателен. Например, Apple требует, чтобы обмен данными сервера с приложением велся по безопасному протоколу. Это требование введено с конца 2016 года.

На production нет проблем с сертификатами. Обычно хостинг провайдер предоставляет удобный интерфейс для подключения сертификата. Выпуск сертификата тоже дело не сложное. Но во время работы над проектом каждый разработчик должен позаботиться о сертификате сам.
В этой статье я расскажу, как выпустить самоподписанный SSL сертификат и заставить браузер доверять ему.
Читать дальше →
Total votes 52: ↑41 and ↓11+30
Comments51

Эмбарго на A-GPS или почему смартфоны стали плохо определять местоположение

Reading time5 min
Views140K

Ориентировочно с мая 2022 года в разных темах на форуме 4PDA и других интернет-площадках начали появляться сообщения вида "Что-то смартфон стал плохо ловить спутники GPS и показывать точное местоположение". Многие связывали это с обновлениями прошивок, пробовали откатываться, использовать различные приложения, дергающие различные API Android...

Объединяло все эти жалобы два момента: все смартфоны на чипах Qualcomm Snapdragon различных поколений, и все пользователи были из РФ.

Читать далее
Total votes 291: ↑291 and ↓0+291
Comments341

Yet another вариант отправки уведомлений от Asterisk в Telegram

Reading time4 min
Views10K
image

Добрый день, уважаемые хабражители. В последнее время на хабре появилось несколько статей об интеграции Asterisk и Telegram: раз, два.

Предлагаю рассмотреть еще один вариант.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments10

Реализация аудиоконференций в Telegram + Asterisk

Reading time5 min
Views12K


В предыдущей статье я описывал реализацию выбора пользователем места жительства при регистрации в моем telegram боте, который я создавал вдохновившись идеей «Телефонного эфира». В этой же статье я опишу интеграцию бота с Asterisk .
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments3

Телефония для домена

Reading time5 min
Views29K


Изучение протокола SIP привело к пониманию того, что он изначально поддерживает работу с доменными именами. В частности, достаточно создать DNS записи типа SRV и NAPTR для указания SIP клиентам где искать ваш сервер телефонии. В результате мы получаем возможность заводить пользователей типа alex@mysite.ru, director@mysite.ru, 101@mysite.ru и делать звонки напрямую на эти номера. В частности, эти номера могут совпадать с адресом электронной почты.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments2

Как мы переводили MIKOPBX с chan_sip на PJSIP

Reading time7 min
Views14K

MIKOPBX - это бесплатная АТС с открытым исходным кодом на базе Asterisk 16. Год назад мы взялись за переход на PJSIP. Основные причины:

- PJSIP поддерживает "множественную регистрацию"

- PJSIP более гибок в настройке

- chan_sip не развивается, объявлен deprecated в Asterisk 17

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments12

Первые несколько миллисекунд HTTPS соединения

Reading time10 min
Views167K
После нескольких часов чтения обзоров, Боб с нетерпением нажал на кнопку перехода к оформлению заказа на галлон цельного молока, и…
Воу, что только что произошло?


Интересно? Прошу под кат
Total votes 242: ↑237 and ↓5+232
Comments36

Тюним память и сетевой стек в Linux: история перевода высоконагруженных серверов на свежий дистрибутив

Reading time10 min
Views94K
image

До недавнего времени в Одноклассниках в качестве основного Linux-дистрибутива использовался частично обновлённый OpenSuSE 10.2. Однако, поддерживать его становилось всё труднее, поэтому с прошлого года мы перешли к активной миграции на CentOS 7. На подготовительном этапе перехода для CentOS были отработаны все внутренние процедуры, подготовлены конфиги и политики настройки (мы используем CFEngine). Поэтому сейчас во многих случаях миграция с одного дистрибутива на другой заключается в установке ОС через kickstart и развёртывании приложения с помощью системы деплоя нашей разработки — всё остальное осуществляется без участия человека. Так происходит во многих случаях, хотя и не во всех.

Но с самыми большими проблемами мы столкнулись при миграции серверов раздачи видео. На их решение у нас ушло полгода.
Читать дальше →
Total votes 110: ↑104 and ↓6+98
Comments73
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity