Архив за 18 ноября 2013 - 6

Всем хабрапривет!
Как-то понадобилось мне в Qt 5.1.1 для WinXP в VS2009 реализовать многопоточное приложение с интенсивным обменом сигналами. Взял я Шлее, вычитал у него, что нужно унаследовать класс от QThread и — вуаля, велком в многопоточность! На всякий случай заглянул в документацию Qt — там никто не возражал против наследования от QThread своего класса. Ну что же — порядок, сделано! Запускаю — вроде как работает, но как-то не так… Начинаю в режиме отладки отслеживать — а там творится черт знает что! То сигналы не выходят, то выходят, но как-то криво и из другого потока. Одним словом, полный бардак! Пришлось основательно по-google-ить и разобраться в теме (мне помогли статьи тут, здесь и там). В итоге я сделал шаблон класса на С++ (вернее, целую иерархию оных), что мне позволило в итоге писать (относительно) небольшой код класса, живущего в другом потоке, который работает правильно и стабильно.
Читать полностью »

image
Думаю каждый, кто хоть немного интересовался информационной безопасностью, да и просто периодически читает про события в сфере IT, встречал новости, что очередная компания или интернет-сервис были взломаны, и у них были украдены учетные записи пользователей, куда обычно входят электронные адреса, пароли, номера кредитных карт, как зовут вашего домашнего питомца и многое другое (далеко ходить за примером не нужно, в октябре этого года Adobe «поделилась» базой на 130-150 миллионов учетных записей). И хорошо еще, если сервис позаботился о шифровании паролей хотя бы без применения соли, в таком случае можно надеяться, что если злоумышленники захотят воспользоваться украденным, то им придется приложить некоторые усилия для этого.

Но достаточно продолжительное время меня удивляло другое — почему в большинстве случаев шифруются лишь пароли, почему такое пренебрежение к другим важным данным пользователя, как электронные адреса или номера кредитных карт?

Эта статья не претендует на открытие в сфере безопасности и, вероятно, будет содержать неточности и домыслы. Это скорее мысли вслух о проблеме защиты данных и случаях их утечки.
Читать полностью »

По данным источника, компания BlackBerry, окончательно передумавшая продаваться, работает над двумя новыми смартфонами — Z50 и Q30. Обе новинки должны появиться в продаже в следующем году.

BlackBerry готовит флагманские смартфоны Z50 и Q30

Модель Z50 окажется флагманским смартфоном с сенсорным экраном диагональю 5,2 дюйма разрешением Full HD. Сообщается также, что аппарат получит четырехъядерный процессор и поступит в продажу в третьем квартале 2014 года.

Читать полностью »

В ноябре издательство “Эгмонт” выпускает первый номер детского журнала “Твиди” по мотивам детского портала Tvidi.ru (51% принадлежит “Медиа Миру”/РБК, 49% - израильской TweeGee).

Читать полностью »

Ранее мы писали про некоторые механизмы затруднения эксплуатации (mitigation) для Windows и приложений, которые Microsoft пыталась привнести с выпуском новых ОС. Как правило подобные механизмы основываются на следующих концептуальных подходах:

  • Разграничение прав доступа приложений к ресурсам ОС (User Account Control, Integrity Level). Vista+
  • Особые смягчающие факторы при работе с памятью DEP&ASLR. XP SP2/Vista+. DEP задается системными настройками и в Windows 8+ активен для всех приложений (поддержка процессора). ASLR работает для приложений, скомпилированных с его поддержкой.
  • Kernel ASLR/DEP, для компонентов, которые работают в режиме ядра. Vista SP1+. ASLR/DEP активен по умолчанию для модулей режима ядра, DEP от исполнения данных в пуле требует выделений из NonPagedPoolNx (Windows 8+).
  • Защита от перезаписи указателей на функции в SEH на уровне ОС (SEHOP). Vista SP1+. По умолчанию активен только для серверных выпусков.
  • Бесплатный инструмент EMET (v 4.1 last update) для повышения иммунитета системы от действий эксплойтов. Для Windows XP+.
  • Расширенная изоляция процессов AppContainer (aka sandboxing, расширенный Integrity Level). Windows 8+. Используется для Internet Explorer 10+ и всех приложений Modern UI aka Metro.
  • Блокирование доступа к получению информации об адресах объектов ядра для недоверенных приложений (KASLR bypass mitigation). Windows 8.1.

Новые механизмы смягчения в Windows 8.1

Читать полностью »

Вступление

Привет, коллеги. Давно я не писал ничего на Хабр. Вот, решил исправить это досадное недоразумение.

Не так давно я сменил место работы, и проект, над которым я теперь работаю, использует для сборки Gradle. Более того, проект достаточно развесистый и сложный, и Gradle скрипт в нем весьма непростой. Поэтому я решил, что надо подучить Gradle. Как один из шагов обучения я решил написать свой собственный плагин. Плагин посвящен замечательной библиотеке annotated-sql, созданной моим хорошим товарищем Геннадием hamsterksu. Я использую эту библиотеку в персональных проектах, поэтому мне нужен удобный способ прикреплять и конфигурировать ее к ним. Библиотека использует процессоры аннотаций, поэтому цель плагина — подружить эти процессоры и gradle сборку.
Читать полностью »

Задумывались ли вы над тем, что нужно человеку для счастья? Согласно А. Маслоу каждый человек состоит из четырех компонентов: тело, сердце, разум и душа.

  • Телу необходимы деньги и безопасность.
  • Сердцу — любовь и признание.
  • Разуму – развитие и самосовершенствование.
  • Душе – самореализация.

Все это любому человеку необходимо для счастья и все это в нашей профессии есть, как, наверное, ни в одной другой.

«Все работы хороши», а программист — лучшая!

Читать полностью »

Дмитрий Скляров: «Внимательность и немного логики. Как сложное оказывается простым»

Мы продолжаем делиться с обитателями Хабра кратким изложением выступлений гостей финала Russian Code Cup 2013. Сегодня мы представляем вашему вниманию конспект рассказа Дмитрия Склярова о реверс-инжиниринге.

Дмитрий Скляров — доцент кафедры информационной безопасности МГТУ им. Баумана и аналитик компании Positive Technologies. Работает в области информационной безопасности более 13 лет. Разработчик алгоритма программы Advanced eBook Processor.

Реверсинг — это, конечно, не самая простая дисциплина из области IT. Тем не менее, чтобы получить результат, то есть понять, что делает программа, не всегда необходимо анализировать каждую строчку кода и каждую ассемблерную команду. Иногда достаточно ряда простых логических умозаключений и умения «думать как программист». Понять, что я имею в виду, нам помогут два примера анализа, взятые из моей практики.
Читать полностью »

В продолжение недели ненормального программирования (как заметил phpcmsdev) решил написать игру в 30 строк кода. Так как тетрис, змейка и арканоид уже были сделаны, выбор пал на гоночки, которые входили в стандартный набор портативной игры.

Гоночка на JavaScript (30 строк кода)

Ссылка на fiddle.
Читать полностью »

Охлаждающая жидкость в системах жидкостного охлаждения переносит тепло к радиатору, который с помощью вентиляторов отдает его в окружающую среду. Однако это не единственный «канал» отвода тепла. Остальные компоненты СВО тоже рассеивают тепло, но в меньшей степени. Улучшить отдачу тепла за счет установки дополнительного радиатора на корпусе помпы предложили специалисты компании EK Water Blocks. По словам этого словенского производителя, им представлен первый в отрасли металлический корпус-радиатор, устанавливаемый на помпы типа Laing DDC.


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js