Сегодня, около двух часов ночи, когда я хотел отойти ко сну, ко мне в скайп написал один из знакомых. В прошлом году я помогал ему администрировать несколько его серверов. В столь позднее время он писал о том, что сетевой интерфейс одного из его серверов полностью забит, судя по графику mrtg. Я посмотрел, действительно, я даже не смог достучаться до ssh, сервер перезагрузили и начался анализ ситуации…
Дмитрий Смагин @choor
User
Разработка 2D игр под Windows и HTML5 без программирования
4 min
38KПривет Хабраюзеры!
Сегодня я хочу представить вашему вниманию замечательный конструктор 2D игр (для Windows и в частности для HTML5) Scirra Construct.
Основным плюсом данного конструктора является то, что для создания игр не требуется никаких знаний языков программирования, все делается посредством построения действий во встроенной системе событий.
+78
Материалы конференции «ZeroNights» 0x01
3 min
2.4KЭтот пост призван собрать все материалы (приоритетно презентации) конференции «ZeroNights» проходившей 25 ноября в г. Санкт-Петербурге, до их «официальной» публикации на сайте конференции (кому невтерпёж, а может и поможет организаторам). Полезно тем, кто не был, и тем, кто хочет еще раз пересмотреть/перечитать материалы.
— все презентации в upd 2 ---
+33
Ассемблер для начинающих
3 min
197KВ любом деле главное — начать. Или вот еще хорошая поговорка: «Начало — половина дела». Но иногда даже не знаешь как подступиться к интересующему вопросу. В связи с тем, что воспоминания мои еще свежи, спешу поделиться своими соображениями с интересующимися.
Скажу сразу, что лично я ассемблирую не под PC, а под микроконтроллеры. Но это не имеет большого значения, ибо (в отличие от микроконтроллеров AVR) система команд данных микроконтроллеров с PC крайне схожа. Да и, собственно говоря, ассемблер он и в Африке ассемблер.
Конечно, я не ставлю своей целью описать в этой статье всё необходимое от начала и до конца. Благо, по ассемблеру написано уже невообразимое число литературы. И да, мой опыт может отличаться от опыта других программистов, но я считаю не лишним изложить основную концепцию этого вопроса в моем понимании.
Скажу сразу, что лично я ассемблирую не под PC, а под микроконтроллеры. Но это не имеет большого значения, ибо (в отличие от микроконтроллеров AVR) система команд данных микроконтроллеров с PC крайне схожа. Да и, собственно говоря, ассемблер он и в Африке ассемблер.
Конечно, я не ставлю своей целью описать в этой статье всё необходимое от начала и до конца. Благо, по ассемблеру написано уже невообразимое число литературы. И да, мой опыт может отличаться от опыта других программистов, но я считаю не лишним изложить основную концепцию этого вопроса в моем понимании.
+28
Обновление 0x4553-Intercepter
1 min
9.8KК функционалу программы добавлены 2 техники: SSL MiTM и SSL Strip.
Первая является старой классической техникой подмены сертификатов.
Позволяет перехватывать данные любого протокола, защищенного при помощи SSL.
Стандартно поддерживаются: HTTPS\POP3S\SMTPS\IMAPS.
Опционально можно указать любой дополнительный порт.
При перехвате HTTPS, сертификаты генерируются «на лету», копируя оригинальную информацию
с запрашиваемого ресурса. Для всех других случаев используется статичный сертификат.
Естественно, при использовании данного функционала неизбежны предупреждения браузера и другого
клиентского ПО.
SSL Strip — «тихая» техника для перехвата HTTPS соединений. Долгое время рабочая версия
существовала только под unix, теперь подобные действия можно проводить и в среде NT.
Суть в следующем: атакующий находится «посередине», анализируется HTTP трафик, выявляются все https:// ссылки и производится их замена на http://
Таким образом клиент продолжает общаться с сервером в незащищенном режиме. Все запросы на замененные ссылки контролируются и в ответ доставляются данные с оригинальных https источников.
Т.к. никаких сертификатов не подменяется, то и предупреждений нет.
Для имитации безопасного соединения производится замена иконки favicon.
Одно закономерное условие успешного перехвата — URL должен быть введен без указания префикса https.
Официальный сайт — sniff.su
Первая является старой классической техникой подмены сертификатов.
Позволяет перехватывать данные любого протокола, защищенного при помощи SSL.
Стандартно поддерживаются: HTTPS\POP3S\SMTPS\IMAPS.
Опционально можно указать любой дополнительный порт.
При перехвате HTTPS, сертификаты генерируются «на лету», копируя оригинальную информацию
с запрашиваемого ресурса. Для всех других случаев используется статичный сертификат.
Естественно, при использовании данного функционала неизбежны предупреждения браузера и другого
клиентского ПО.
SSL Strip — «тихая» техника для перехвата HTTPS соединений. Долгое время рабочая версия
существовала только под unix, теперь подобные действия можно проводить и в среде NT.
Суть в следующем: атакующий находится «посередине», анализируется HTTP трафик, выявляются все https:// ссылки и производится их замена на http://
Таким образом клиент продолжает общаться с сервером в незащищенном режиме. Все запросы на замененные ссылки контролируются и в ответ доставляются данные с оригинальных https источников.
Т.к. никаких сертификатов не подменяется, то и предупреждений нет.
Для имитации безопасного соединения производится замена иконки favicon.
Одно закономерное условие успешного перехвата — URL должен быть введен без указания префикса https.
Официальный сайт — sniff.su
+49
Полезные инструменты, туториалы и ресурсы
4 min
15KTranslation
Созданый Райаном Далем в 2009 году, Node.js — относительно новая технология, завоевавшая в последнее время большую популярность среди веб-разработчиков. Однако, до сих пор не каждый знает, что на самом деле Node.js это серверная JavaScript среда, использующая асинхронную событийную модель. Что это означает? Все просто: это среда, которая предназначена для написания масштабируемых, высокопроизводительных приложений. Почти как Ruby’s Event Machine или Python’s Twisted, но гораздо глубже — JavaScript реализовывает цикл событий, на уровне самого языка, а не как отдельная библиотека.
И это еще не все: то, что действительно круто в Node.js — это тысячи модулей, доступных для любых целей, а также активниешее сообщество этого молодого проекта. В этом обзоре вы найдете самые полезные ресурсы по Node.js, от просто удобных инструментов и подробных руководств, до углубленных статей и ресурсов о этой перспективной технологии. Используете ли вы Node.js? Поделитесь опытом в комментариях к этотому посту!
И это еще не все: то, что действительно круто в Node.js — это тысячи модулей, доступных для любых целей, а также активниешее сообщество этого молодого проекта. В этом обзоре вы найдете самые полезные ресурсы по Node.js, от просто удобных инструментов и подробных руководств, до углубленных статей и ресурсов о этой перспективной технологии. Используете ли вы Node.js? Поделитесь опытом в комментариях к этотому посту!
+120
Обновление 0x4553-Intercepter
1 min
3K0x4553-Intercepter 0.8.1
Несколько приятных обновлений:
- 1. Анализ pcap дампов из консоли, ./intercepter -t dump.cap
на выходе будет dump.cap.txt со всей сграбленой информацией. - Автостарт снифинга при запуске приложения. В конфигурационном файле
необходимо указать порядковый номер интерфейса в графе autorun. - MiTM через ICMP редирект. Не очень распространенная техника, особенно под Windows.
Позволяет проводить точечные атаки на целевые адреса. Возможно на ее базе будет создан
более универсальный метод позволяющий перехватывать почти весь трафик.
Видео MiTM:
+22
PhantomJS: Webkit в консоли
2 min
124KPhantomJS это все плюшки WebKit из консоли с управлением на JS и поддержкой различных стандартов и технологий: DOM, CSS, JSON, Canvas и SVG.
Внутри несколько примеров использования
+85
Создание полноразмерных скриншотов web-ресурсов
3 min
13KДовольно полезным сервисом является создание полноразмерных скриншотов web-ресурсов.
Реализуем этот сервис буквально за 5 минут.
1) Создание полноразмерных скриншотов сайтов (полный скриншот по длине и ширине, а не захват окна браузера)
2) веб-интерфейс
— ОС — Ubuntu 10.04
— xvfb — Виртуальный фреймбуффер (Fake Xserver)
— CutyCapt — кроссплатформенная утилита для рендеринга web-страниц
— php — для веб-интерфейса
Реализуем этот сервис буквально за 5 минут.
Задачи:
1) Создание полноразмерных скриншотов сайтов (полный скриншот по длине и ширине, а не захват окна браузера)
2) веб-интерфейс
Технологии:
— ОС — Ubuntu 10.04
— xvfb — Виртуальный фреймбуффер (Fake Xserver)
— CutyCapt — кроссплатформенная утилита для рендеринга web-страниц
— php — для веб-интерфейса
+57
90 модулей Node.js в общественное пользование
1 min
3.4KРазработчики из Browserling решили выложить для всеобщего пользования (под open source) 90 модулей для Node.js. Все они выложены на github и хорошо документированы.
Большинство модулей — маленькие полезные утилиты, но некоторые представляют собой серьёзный вклад в сообщество Node.js. Например, node-bigint — очень надёжная и эффективная библиотека для арифметики произвольной точности.
Компания Browserling известна как разработчик одного из лучших веб-сервисов для кросс-браузерного тестирования сайтов. Сначала они делали его на Haskell, но пару лет назад переключились на Node.js. Кто-то говорит, что эти ребята на год-два опережают по уровню разработки всех, кто работает в данной области.
Большинство модулей — маленькие полезные утилиты, но некоторые представляют собой серьёзный вклад в сообщество Node.js. Например, node-bigint — очень надёжная и эффективная библиотека для арифметики произвольной точности.
Компания Browserling известна как разработчик одного из лучших веб-сервисов для кросс-браузерного тестирования сайтов. Сначала они делали его на Haskell, но пару лет назад переключились на Node.js. Кто-то говорит, что эти ребята на год-два опережают по уровню разработки всех, кто работает в данной области.
+42
Маньячная минимизация (в погоне за байтом)
8 min
8KHello World,
Этот топик о том, каким образом можно предварительно зарефакторить код так, чтобы улучшить его минимизацию. Недавно я перед релизом минимизировал библиотеку Helios Kernel (о которой написал позавчера). Исходник библиотеки весит 28112 байт, в нём щедрые комментарии, и поэтому он с пол пинка ужимается YUI компрессором до 7083 байт. Не то что бы мне показалось, что 7 килобайт — слишком жирно. Но просто, посмотрев своими глазами на минимизированный код, я смог увидеть кучу мест, где можно было бы сэкономить ещё:
Посмотрим, что можно сделать с кодом, чтобы превратить 7083 байт в4009 3937.
Этот топик о том, каким образом можно предварительно зарефакторить код так, чтобы улучшить его минимизацию. Недавно я перед релизом минимизировал библиотеку Helios Kernel (о которой написал позавчера). Исходник библиотеки весит 28112 байт, в нём щедрые комментарии, и поэтому он с пол пинка ужимается YUI компрессором до 7083 байт. Не то что бы мне показалось, что 7 килобайт — слишком жирно. Но просто, посмотрев своими глазами на минимизированный код, я смог увидеть кучу мест, где можно было бы сэкономить ещё:
Посмотрим, что можно сделать с кодом, чтобы превратить 7083 байт в
+137
Читаем QR код
5 min
1.1MTutorial
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.
В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.
Иллюстраций: 14, символов: 8 510.
В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.
Иллюстраций: 14, символов: 8 510.
+605
Немного практики в Codebase
2 min
2.7KНаверняка, когда перевод на четвёртую версию движка закончат для всех клиентов, здесь на Хабре сделают про это топик, а в преддверии хочу поделиться с вами тем, до чего докатился в плане управления задачами в Codebase за пару лет его использования. Это будет актуально для любой версии.
+12
Пример использования KnockoutJS
9 min
17KДень добрый, хабрасообщество!В статье будет рассмотрен процесс создания web-страницы редактирования списка пользователей. Готовый пример можно забрать тут. Статья является не обзорной, а приближенной к реальным боевым действиям, потому настоятельно рекомендую ознакомиться с простым примером.
+32
Масштабируемые JavaScript приложения
22 min
40KБолее месяца назад в статье FAQ по JavaScript: задавайте вопросы был задан вопрос «Подскажите примеры хорошего подхода организации JS кода к сайту на достаточно высоком уровне. Как можно узнать подробнее практики реализации например gmail?».
Пришло время ответить на данный вопрос. Я немного затянул т.к. хотел рассказать доклад на одноименную тему на Я.Субботнике. Доклад был очень коротким многие важные моменты пришлось выкинуть. Статья — более-менее полная версия.
Эта статья о том, как сделать крупное веб-приложение расширяемым и поддерживаемым: архитектура, подходы, правила.
Пришло время ответить на данный вопрос. Я немного затянул т.к. хотел рассказать доклад на одноименную тему на Я.Субботнике. Доклад был очень коротким многие важные моменты пришлось выкинуть. Статья — более-менее полная версия.
Эта статья о том, как сделать крупное веб-приложение расширяемым и поддерживаемым: архитектура, подходы, правила.
+198
Разработка IFrame приложения для ВКонтакта
9 min
18KНесмотря на то, что данная социалка «горячо любима» аудиторией хабра, я всё же решил рискнуть и опубликовать небольшие заметки посвящённые разработке приложений на Джанге под неё.
Предупреждаю, некоторые из них вполне капитанские, а некоторые вообще не имеют отношения к Вконтакте или даже Джанге, в общем, не обессудьте.
Под катом:
На правах рекламы: Приложение называется «Коллекционер» и предназначено для людей занимающихся коллекционированием монет, марок, карт и других предметов. В данный момент наполнен лишь каталог карт MTG, но в будущем будут созданы и наполнены каталоги для других предметов. Разумеется, мы с радостью выслушаем все ваши предложения и конструктивную критику.
Предупреждаю, некоторые из них вполне капитанские, а некоторые вообще не имеют отношения к Вконтакте или даже Джанге, в общем, не обессудьте.
Под катом:
- django-vkontakte-iframe и vkontakte
- Загрузка приложения на стену
- Флеш-заглушка
- Сессия в горячо любимом IE
- Все «flashVars» передаются GET запросом
- Работа во фрейме
- Доступ к информации пользователя
- Проверка валидности вёрстки
- JSLint ваш друг и товарищ
- Генерирование миниатюр
- Модерация через прокси-модель
- Импорт настроек
- Оптимизация
На правах рекламы: Приложение называется «Коллекционер» и предназначено для людей занимающихся коллекционированием монет, марок, карт и других предметов. В данный момент наполнен лишь каталог карт MTG, но в будущем будут созданы и наполнены каталоги для других предметов. Разумеется, мы с радостью выслушаем все ваши предложения и конструктивную критику.
+26
Атака на беспроводные сети. Чуть меньше теории и чуть больше практики
6 min
313KВ общих чертах теорию и процесс атаки хорошо описал юзер n3m0 в своих статьях «Атаки на беспроводные сети», поэтому я не буду заострять внимание на многих теоретических моментах.
Я же хочу описать самые простейшие способы обхода защиты, но более подробно.
+179
Подбор паролей к WPA/WPA2 с использованием видеокарты
6 min
202KПривет, Хабр!
Сегодня я расскажу и покажу вам, как можно использовать всю мощность ваших видеокарт дляигр перебора паролей к Wi-Fi. Как-то не комильфо в наше время использовать только процессорные мощности под эти задачи (в частности aircrack-ng), когда в 80% компьютеров есть видеокарта. Поэтому разумно использовать всю потенциальную мощность ваших систем. А именно, речь пойдет о замечательной программе pyrit.
Сегодня я расскажу и покажу вам, как можно использовать всю мощность ваших видеокарт для
+132
Автоматическое генерирование APK с различными данными из командной строки с помощью Ant
3 min
6KНедавно столкнулся с проблемой — нужно было на удаленном сервере генерировать apk файл для загрузки, причем в зависимости от передаваемого адреса сервера программа должна была по умолчанию при установке соединяться с различными серверами.
Итак задача — дать пользователю возможность загрузить из интернета динамически генерируемое Андроид приложение которые буду вести себя по разному в зависимости от переданных параметров (в данном случае разные сервера загрузки данных).
Итак задача — дать пользователю возможность загрузить из интернета динамически генерируемое Андроид приложение которые буду вести себя по разному в зависимости от переданных параметров (в данном случае разные сервера загрузки данных).
+27
Авторитет антивирусов и их роль в жизни разработчика
2 min
3.7K На днях, зайдя на один из почитаемых мною блогов torrentfreak.com, я обнаружил что Касперский его блокирует. Понятно что срабатывание было ложным, но этот случай всколыхнул массу воспоминаний о том как антивирусы намеренно или случайно бросали тень на совершенно невинные программы и сайты.
Думаю многие разработчики софта и создатели сайтов сталкивались с проблемой ложного определения антивирусами, иногда отстоять свое право быть «белым» просто, но порой упираешься в жесткую бюрократическую стену антивирусной компании. Приходится часами, днями и неделями доказывать, что ты не олень, а в это время тратить деньги, терять репутацию и нервные клетки. Если Ваша компания не мировой гигант и нет иных каналов воздействия, кроме стандартных, то можно и с ума сойти от упертости вирусных аналитиков и непробиваемости службы поддержки.
Думаю многие разработчики софта и создатели сайтов сталкивались с проблемой ложного определения антивирусами, иногда отстоять свое право быть «белым» просто, но порой упираешься в жесткую бюрократическую стену антивирусной компании. Приходится часами, днями и неделями доказывать, что ты не олень, а в это время тратить деньги, терять репутацию и нервные клетки. Если Ваша компания не мировой гигант и нет иных каналов воздействия, кроме стандартных, то можно и с ума сойти от упертости вирусных аналитиков и непробиваемости службы поддержки.
+24
Information
- Rating
- Does not participate
- Location
- Мурманск, Мурманская обл., Россия
- Date of birth
- Registered
- Activity