Как стать автором
Обновить
0
@9zikread⁠-⁠only

Пользователь

Отправить сообщение

Делаем джойстик из Windows Phone

Время на прочтение5 мин
Количество просмотров13K

Небольшая предыстория.


imageОднажды вечером подошел ко мне сын и сказал, что хочет поиграть в Марио. Летом у бабушки на даче он любил «зарубиться» в дождливую погоду. А за окном как раз дождь. Не долго думая я скачал ему первый попавшийся эмулятор 8-ми битной приставки и игру. Однако, оказалось, что удовольствие от игры на клавиатуре совсем не то. Идти покупать джойстик было уже поздно. И тогда я подумал, что можно обойтись и без него. Под рукой у нас была старенькая Nokia Lumia, ее размеры и форма примерно совпадали с нашими нуждами. Было решено написать джойстик. Сын отправился рисовать дизайн на листе бумаги в клеточку, а папа пошел варить кофе и думать, как бы осуществить эту идею с наименьшими временными затратами.

Я решил пойти по пути наименьшего (с моей точки зрения) сопротивления. Эмулятору приставки в настройках надо указывать нажатые кнопки, значит наше приложение должно нажимать кнопки. Нажатие кнопок можно эмулировать при помощи старого доброго WINAPI.

Конечной идеей стало клиент-серверное приложение. Клиент (телефон) при нажатии на кнопку посылает запрос на сервер, который, в свою очередь, в зависимости от того что пришло эмулирует нажатие или отпускание кнопки клавиатуры. Связь же осуществляется через сокеты. Вроде все просто. Начинаем делать.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии8

Компания Apple применила меры безопасности после провального года

Время на прочтение3 мин
Количество просмотров14K


После волны инцидентов с нарушением безопасности, компания Apple сделала определенные шаги для того, чтобы в 2016 году не повторились проблемы с ее программным обеспечением, которые все могли наблюдать в последние месяцы. Были применены меры безопасности вместе с обновлениями ее операционных систем для мобильных устройств (iOS) и Mac (OS X), ее телевизионного сервиса (Apple TV), веб-браузера Safari, а также операционной системы для ее нашумевших смарт-часов (watchOS).

Этот шаг был обусловлен тревожным числом уязвимостей, которые присутствовали в ее программном обеспечении. Чтобы дать некоторое представление о той ситуации, в которую попала Apple, когда были выпущены обновления для версии 9.2 операционной системы iOS, то необходимо сказать, что было обнаружено свыше 50 инцидентов безопасности, в то время как количество проблем с OS X достигло свыше сотни.

Apple выпустила
Читать дальше →
Всего голосов 26: ↑15 и ↓11+4
Комментарии16

Я тебя по сетям вычислю: используем API крупнейших соцсетей в своих корыстных целях

Время на прочтение11 мин
Количество просмотров175K


Ни для кого не секрет, что современные социальные сети представляют собой огромные БД, содержащие много интересной информации о частной жизни своих пользователей. Через веб-морду особо много данных не вытянешь, но ведь у каждой сети есть свой API… Так давай же посмотрим, как этим можно воспользоваться для поиска пользователей и сбора информации о них.

Есть в американской разведке такая дисциплина, как OSINT (Open source intelligence), которая отвечает за поиск, сбор и выбор информации из общедоступных источников. К одному из крупнейших поставщиков общедоступной информации можно отнести социальные сети. Ведь практически у каждого из нас есть учетка (а у кого-то и не одна) в одной или нескольких соцсетях. Тут мы делимся своими новостями, личными фотографиями, вкусами (например, лайкая что-то или вступая в какую-либо группу), кругом своих знакомств. Причем делаем это по своей доброй воле и практически совершенно не задумываемся о возможных последствиях. На страницах журнала уже не раз рассматривали, как можно с помощью различных уловок вытаскивать из соцсетей интересные данные. Обычно для этого нужно было вручную совершить какие-то манипуляции. Но для успешной разведки логичнее воспользоваться специальными утилитами. Существует несколько open source утилит, позволяющих вытаскивать информацию о пользователях из соцсетей.
Читать дальше →
Всего голосов 89: ↑83 и ↓6+77
Комментарии22

Как создать веб-сайт, используя видео с YouTube в качестве фона?

Время на прочтение9 мин
Количество просмотров86K


Большие видео на заднем плане веб-сайтов — довольно популярный тренд в веб-дизайне. Умело примененные видео могут сделать веб-сайт более драматичным и привлекательным для пользователей.

Кроме того видео-фоны могут воспроизводиться плавно и без «тормозов» в отличие от фонов, созданны с помощью JavaScript, которые требуют загрузить определенный код и изображения прежде чем пользователь увидит результат анимации.

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

Хотя и наиболее популярным способом создания видео-фона является использование HTML5 видео тега вместе с некоторыми параметрами CSS, стоит также обратить внимание на альтернативные источники видео, например, YouTube. В этом случае, вам не придется переживать о медленном ответе сервера, потому что запрос будет отправляться напрямик в YouTube.

В этой статье, я покажу вам, как можно построить клевый сайт, использующий видео с YouTube в качестве фона. Мы будем использовать jQuery.mb.YTPlayer.js для редактирования и управления внешним видом нашего видео. Итак, приступим!

Скачать исходники
Демо
Читать дальше →
Всего голосов 75: ↑45 и ↓30+15
Комментарии55

Реалистичные тени при помощи CSS3 без использования изображений

Время на прочтение7 мин
Количество просмотров143K
Привет, Хабр!

Хочу поделиться замечательным мастер-классом по созданию реалистичных теней для блоков на чистом CSS, найденном на просторах рунета по адресу http://mainview.ru/css/realistichnye-teni-pri-pomoshhi-css3-bez-ispolzovaniya-izobrazhenij. Естественно, для того, чтобы примеры работали как надо, необходим браузер с поддержкой CSS3.

image

Читать дальше →
Всего голосов 263: ↑253 и ↓10+243
Комментарии58

Анимация меню при помощи CSS3

Время на прочтение8 мин
Количество просмотров37K


В данной статье я хотел бы показать вам некоторые приёмы создания эффектов при помощи CSS3 на примере меню. Идея заключается в простой композиции элементов: иконки, основного названия и вторичного названия, которое будет анимировано при наведении курсора, используя только CSS-переходы и CSS-анимацию. Мы рассмотрим несколько различных эффектов для элементов.
Читать дальше →
Всего голосов 195: ↑188 и ↓7+181
Комментарии49

Трюки с CSS-анимациями: мгновенные изменения, отрицательные задержки, анимация transform-origin и другое

Время на прочтение14 мин
Количество просмотров221K
Применяя CSS-анимации в повседневной работе, я постепенно выработал привычку экспериментировать с ними в свободное время. Постоянно пытаясь реализовать очередную интересную задумку с использованием как можно меньшего числа элементов HTML, я обнаружил немало способов сделать с помощью CSS довольно неочевидные вещи. В этой статье я хочу поделиться некоторыми из них.

Быстрое изменение состояния посреди анимации

Обычно анимации используются для того, чтобы плавно менять свойства элементов со временем. Однако изменения могут также быть практически мгновенными. Для этого надо задать два ключевых кадра с очень маленьким интервалом, например в 0.001%:

@keyframes toggleOpacity {
  50% { opacity: 1; } /* Turn off */
  50.001% { opacity: 0.4; }

  /* Keep off state for a short period */

  52.999% { opacity: 0.4; } /* Turn back on */
  53% { opacity: 1; }
}

Вот как я использовал этот приём для имитации мигающей неоновой вывески с помощью прозрачности и свойства text-shadow:


Читать дальше →
Всего голосов 213: ↑211 и ↓2+209
Комментарии23

Доступ к приватному видео Вконтакте

Время на прочтение2 мин
Количество просмотров67K
Так вышло, что мне стало интересно узнать, насколько безопасно публиковать приватное видео на вконтакте.ру Оказалось, что сейчас уровень защиты слабый.

Немного копнуть


Перед тем как исследовать чужие файлы, стоит изучить систему поближе, поэтому я закачал видеоролик на вконтакте, сделал его публичным, а урл на видео скормил сервису videosaver.ru. Сервис хороший, потому как любезно предоставил мне прямую ссылку на мой файл.

Далее, свое публичное видео я сделал крайне приватным (только для себя), и попробовал снова скачать файл напрямую с завершенной сессией. Ага, качается. Это значит, что сервера на раздаче видео не производят проверки на приватность (и правильно делают, потому как это надо делать в другом месте).
Читать дальше →
Всего голосов 135: ↑111 и ↓24+87
Комментарии67

Был получен доступ к тысячам персональных данных пользователей «Билайн проводной интернет»

Время на прочтение6 мин
Количество просмотров119K
Уж простите за пафосный заголовок, но раз пошла такая пьянка, то продолжим. Мне лично такие посты нравились всегда.

Итак, речь пойдёт про уязвимость известного в Мск (да и не только) провайдере Beeline. Многие помнят его под именем Corbina. Без сомнения, это один из передовых интернет провайдеров, с большой и хорошей историей. В своё время он был спасением, благодаря качественному и быстрому инету, интранет сетям и т.п. В настоящий момент сотрудники провайдера в курсе уязвимостей и самые критичные уже закрыты. Однако, уверен, многие откроют для себя много нового и интересного. Тем более, что техника применима практически к любому провайдеру.

image

Читать дальше →
Всего голосов 144: ↑137 и ↓7+130
Комментарии87

Лучшие интересности и полезности за год

Время на прочтение8 мин
Количество просмотров65K
Доброго времени суток, уважаемые хабравчане. Сегодня я хочу поделиться с вами одним небольшим событием — ровно год назад, 15 августа 2013 года я опубликовал свой первый дайджест для веб-разработчиков. С тех пор было опубликовано 25 выпусков и мои подборки обрели некоторую «популярность», а мне приятно ощущать себя «полезным» для хабраобщества.

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

Читать дальше →
Всего голосов 69: ↑65 и ↓4+61
Комментарии44

Потрясающая коллекция бесплатных шрифтов за 2014 год

Время на прочтение1 мин
Количество просмотров123K
Привет, Хабр! Многие уже знают о моей страсти к попытке собрать самое лучше, что может быть полезно для веб-разработчиков или веб дизайнеров. И шрифты — не исключение. Программное обеспечение для работы со шрифтами постоянно развивается. Количество дизайнеров желающих опробовать себя в типографике растет с каждый днем. А сегодня я хочу представить вам их наработки — 30 потрясающих бесплатных шрифтов, которые мне удалось собрать за последний год.

Polar



Polar

Читать дальше →
Всего голосов 76: ↑68 и ↓8+60
Комментарии23

Пошаговый алгоритм создания архитектуры PHP-сайта

Время на прочтение5 мин
Количество просмотров72K
Дисклеймер: этот текст меня заставило написать практически полное отсутствие вменяемых материалов по данной теме на русском языке. Этому плохо учат в вузах, об этом молчат самоучители PHP и официальный мануал, хотя это самый важный момент при разработке программы — создание архитектуры. Плохая архитектура может убить ваш проект, так что он никогда не увидит свет. Хорошая архитектура даже при плохом коде, а кто из новичков пишет хороший код, способна творить чудеса.

Разработка архитектуры должна начинаться в тот момент, когда вам в голову пришла идея «хочу сайт такой-то» или кто-то вложил идею «нужен сайт такой-то». К сожалению, большинство разработчиков сразу приступают к написанию кода, причём даже не того, какого нужно.

Прежде чем писать код, вооружитесь листочком с ручкой, вордпадом, вордом, райтером или даже вашим редактором кода и выполните пару шагов.
Читать дальше →
Всего голосов 102: ↑23 и ↓79-56
Комментарии115

Внедрение через URL: www.site.ru/?jn=xxxxxxxx

Время на прочтение2 мин
Количество просмотров23K
Буквально на днях столкнулся с новым (*?) вариантом спам-вируса для веб-сайтов. Гугл определяет его как «Внедрение через URL».

Описание

На вашем сайте появляются ссылки которых не было и быть не могло — вы, например, четко знаете структуру сайта и оригинальный вид URL, который отличается от «левых» URL. В частности, в индексе поисковиков появляются ссылки вида:
www.site.ru/?jn=xxxxxxxx

Поиск и устранение

Яндекс-Вебмастер пока не реагирует на них, а вот в инструментах Гугла для вебмастеров выдается предупреждение о возможном взломе сайта. Там же даны рекомендации по поиску. К сожалению они довольно общие и конкретный поиск проблемы занимает время. Антивирусы и он-лайн анализаторы сайтов — результата не дают. Только ручками.

Вариант А: Код не обфусцирован

  1. Ищем в исходниках кто и как у нас пользует переменную $_GET['jn']
  2. Далее по коду смотрим кто где гадит (например: \js\swfupload\plugins\jquery\)

Вариант Б: Код обфусцирован

  1. Ищем каталог с файлами, названия которых идут после "?jn="
  2. Ищем подозрительные исполняемые файлы типа images/c0nfv.php
  3. Можно сделать поиск путей где могут быть файлы а-ля "/img/icon/thumb/jquery.php"
  4. Проверить дату изменения конфигов CMS
  5. Рекомендуется проверить на наличие (корректность) файлов base.php — это само тело вируса, код обфусцирован
  6. Проверяем дату jquery.php и сравниваем ее с датой обнаружения вируса по мониторингу инструментов вебмастеров Гугла.

Встречается

  • CMS: Joomla, WordPress, DLE, PrestaShop, HostCMS
  • Plugins: ImageZoomer, SWFupload, BlockCategories
  • Велика вероятность появления практически во всех плагинах, которые используют JQuery и в тех местах, где у админов ручки не дошли до настройки.

Полный код (необфусцированного) зловредного кода под катом.
Читать дальше →
Всего голосов 36: ↑19 и ↓17+2
Комментарии10

Эволюция Zeus. Part II

Время на прочтение7 мин
Количество просмотров27K
Начало здесь.

Файловый инфектор


Идея заражения файлов получила свое развитие во вредоносной программе PE_LICAT, обнаруженной Trend Micro в октябре 2010 года. PE_LICAT представляет собой продвинутый дроппер Zeus, его основная функция — загрузка и запуск новых файлов Zeus с удаленных серверов. В исполняемые файлы внедряется 1771 байт вредоносного кода. PE_LICAT использует те же механизмы, что и в Zeus 2.1.0.10 — DGA с идентичным алгоритмом и процедуру проверки подписи загружаемого файла. Подробное описание DGA приведено в отчете Trend Micro «File-Patching ZBOT Variants» pdf, eng).

Вкратце — в DGA используется функция создания хэша из Windows Crypto API. Список доменов формировался при запуске по специальному алгоритму путем хэширования текущей даты и минуты (час не использовался). Кстати, во многих источниках ошибочно пишут то 800, то 1020 уникальных доменов (эти константы действительно используются в алгоритме). На самом деле их было всего 60 в день (минуты умножались на 17 и брался остаток от деления на 1020, 1020/17=60). Хэши переводились в ASCII коды и к ним добавлялись префиксы доменов верхнего уровня .biz, .info, .org, .com, .net, а также строка /forum. Следует отметить, что PE_LICAT не является вирусом в прямом смысле этого слова (как его классифицирует Kaspersky Lab) — он не способен самостоятельно заражать файлы. Запуск процедуры заражения файлов инициирует Zeus из семейства 2.1, получивший название TSPY_ZBOT.BYZ в классификации Trend Micro.
Читать дальше →
Всего голосов 66: ↑59 и ↓7+52
Комментарии18

Эволюция Zeus. Part I

Время на прочтение7 мин
Количество просмотров39K

Intro


Бот Zeus, пожалуй, один из самых известных представителей вредоносного программного обеспечения. Zeus ведет свою историю с 2007 (или даже 2006) года. Многие ошибочно полагают, что Zeus — просто очередной троян, однако это не так. В действительности, Zeus представляет собой образец так называемого crimeware — программного обеспечения, предназначенного для совершения противоправных действий. В данном случае основное предназначение crimeware Zeus — кража учетных данных, используемых для проведения финансовых операций. По информации аналитиков, он отвечает за 90 % случаев банковского мошенничества в мире.

Другим заблуждением является утверждение о существовании одного огромного ботнета Zeus. На самом же деле Zeus лежит в основе очень большого числа – вероятно, нескольких сотен – различных ботнетов, и все они контролируются разными группировками киберпреступников. Создатели Zeus просто продают его заинтересованным лицам, а они уже с его помощью формируют собственные ботнеты. Таким образом, правильно говорить не о ботнете Zeus, а о ботнетах, созданных при помощи Zeus. Для отслеживания информации о командных серверах Zeus в феврале 2009 года Роман Хюсси (Roman Hussy), швейцарский специалист по компьютерной безопасности, создал сайт ZeusTracker.
Читать дальше →
Всего голосов 88: ↑83 и ↓5+78
Комментарии47

Исследуем внутренние механизмы работы Hyper-V: Часть 2

Время на прочтение15 мин
Количество просмотров14K


Со времени публикации первой части статьи глобально в мире ничего не изменилось: Земля не наскочила на небесную ось, все так же растет популярность облачных сервисов, все так же в гипервизоре компании Microsoft не были обнаружены новые дыры, а исследователи не хотят тратить свое время на поиск багов в плохо документированной и мало изученной технологии. Поэтому я предлагаю тебе освежить память первой частью из предыдущего номера, пополнить запас своего бара и приступить к чтению, ведь сегодня мы сделаем драйвер, взаимодействующий с интерфейсом гипервизора и отслеживающий передаваемые гипервизором сообщения, а также изучим работу компонентов служб интеграции Data Exchange.
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии0

Преобразование Фурье в действии: точное определение частоты сигнала и выделение нот

Время на прочтение12 мин
Количество просмотров231K
последняя редакция статьи доступна на сайте makeloft.xyz

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

Когда музыкант играет композицию, то он поочерёдно или одновременно зажимает и отпускает клавиши, в результате чего несколько синусоидальных сигналов накладываются друг на друга образуя рисунок. Именно этот рисунок воспринимается нами как мелодия, благодаря чему мы без труда узнаём одно произведение, исполняемое на различных инструментах в разных жанрах или даже непрофессионально напеваемое человеком.

image

Читать дальше →
Всего голосов 74: ↑72 и ↓2+70
Комментарии49

Процесс загрузки Windows или что спрятано под стартовым логотипом

Время на прочтение5 мин
Количество просмотров168K
А вы никогда не задумывались над тем, что же происходит с операционной системой в тот момент, когда она рисует свой логотип и говорит «Starting Windows»? И вообще, почему она долго загружается? Ведь при старте системы уж точно не решаются никакие задачи, сложные с вычислительной точки зрения!

Что тогда подразумевает под собой загрузка операционной системы? По большей части это проецирование в память исполняемых модулей и инициализация служебных структур данных. Структуры данных живут в памяти, поэтому операции с ними по идее должны быть быстрыми. Все наталкивает на мысль о том, что время съедается именно процессом загрузки исполняемых модулей в память.

Давайте интереса ради разберемся, какие модули, в каком количестве и в каком порядке загружаются при старте ОС. Чтобы выяснить это, можно, например, получить лог загрузки системы. Подопытная ОС в моем случае — Windows 7 Enterprise x64. Логировать процесс загрузки будем при помощи отладчика ядра. Существует несколько вариантов отладчиков ядра, лично я предпочитаю WinDbg. Также нам понадобятся некоторые вспомогательные средства для волшебного превращения лога в нечто более приятное глазу.
Читать дальше →
Всего голосов 160: ↑154 и ↓6+148
Комментарии26

Windows 8.1 Kernel Patch Protection — PatchGuard

Время на прочтение10 мин
Количество просмотров38K
imageПериодически, как правило во вторую среду месяца, можно услышать истории о том, что Windows после очередного обновления перестает загружаться, показывая синий экран смерти. В большинстве случаев причиной такой ситуации оказывается либо руткит, либо специфичное системное ПО, фривольно обращающееся со внутренними структурами ОС. Винят, конечно, все равно обновление, ведь «до него все работало». С таким отношением не удивительно, что «Майкрософт» не поощряет использование всего, что не документировано. В какой-то момент, а именно с релизом Windows Server 2003, MS заняла более активную позицию в вопросе борьбы с чудо-поделками сторонних разработчиков. Тогда появился механизм защиты целостности ядра — kernel patch protection, более известный как PatchGuard.

С самого начала он не позиционировался как механизм защиты от руткитов, поскольку руткиты работают в ядре с теми же привилегиями, а следовательно, PatchGuard может быть обезврежен. Это скорее фильтр, отсекающий ленивых разработчиков руткитов.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии14

Информация

В рейтинге
Не участвует
Откуда
Домодедово, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность