Pull to refresh
106
Дима Коваленко @dimakovalenkoread⁠-⁠only

User

Send message

Как рубисту пережить апдейт OSX 10.10 Yosemite

Reading time3 min
Views23K
На днях вышла очередная версия OSX 10.10 Yosemite, и если для обычных пользователей маков вопрос «обновляться или нет» не стоит, то разработчики подобным вопросом вполне могут задаться. Редкий большой апдейт прошлых лет не приносил нам тех или иных проблем с софтом, библиотеками и консолью. Не может похвастаться отсутствием проблем и нынешнее обновление.

Одним из лучших советов тут конечно было бы подождать месяц-другой и только затем обновляться — избавит от многих проблем и потери времени. Но ждать не хочется, а посему после обновления у вас гарантированно всё сломается (речь далее в основном идёт о ruby и rails): будут выскакивать seg fault'ы, не будут собираться некоторые гемы, возникнут проблемы со скриптами в консоли.
Исправление некоторых проблем нагуглить будет легко, а для некоторых предлагают лишь хаки в виде задания дополнительных параметров компиляции и переменных окружения.
Читать дальше →
Total votes 37: ↑30 and ↓7+23
Comments76

Живительная флешка

Reading time10 min
Views517K
На данный момент в сети имеется целая куча различных инструкций по созданию дежурной рабочей сисадминской флешки, но, к сожалению, многие из них уже устарели и просто не подходят под современные задачи.

Я не собираюсь описывать процесс установки GRUB4DOS, так как это не изменилось и в сети полно инструкций. Просто скажу, что GRUB4DOS просто должен быть установлен на флешку. Также я НЕ собираюсь выкладывать здесь образы систем (все имеется на торрентах), но, тем не менее, выложу полное меню из LST-файлов со структурой папок. Также необходимо учесть, что все образы ISO необходимо дефрагментировать.


Читать дальше →
Total votes 97: ↑80 and ↓17+63
Comments96

В микроволновой печи скрывается мощное и опасное СВЧ оружие

Reading time4 min
Views624K
Добрый день, уважаемые хабровчане.

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

В микроволновке находится генератор СВЧ волн огромной мощности


Мощность волн, которые используются в микроволновке, уже давно будоражит моё сознание. Её магнетрон (генератор СВЧ) выдаёт электромагнитные волны мощностью около 800 Вт и частотой 2450 МГц. Только представьте, одна микроволновка вырабатывает столько излучения, как 10 000 wi-fi роутеров, 5 000 мобильных телефонов или 30 базовых вышек мобильной связи! Для того, что бы эта мощь не вырвалась наружу в микроволновке используется двойной защитный экран из стали.
Читать дальше →
Total votes 467: ↑426 and ↓41+385
Comments398

Лучший подарок – книга. Делаем красивый переплет

Reading time8 min
Views260K
Идея создания книги собственными руками поселилась в голове изрядно давно. Изучив практическую сторону вопроса, я лишь укрепился в этом желании, но руки никак не доходили даже до выбора книги. И вот некоторое время назад судьба распорядилась за меня. В силу обстоятельств непреодолимой силы во мне появилось желание подарить уникальную вещь, а, как известно, лучше книги подарка нет. Выбор пал на любимое произведение объекта моего неконтролируемого интереса, невероятно мудрое и емкое, смыслом, а не словами, творение Экзюпери — «Маленький принц». Желание творить подстегивала и моя личная любовь к этой книге. Решение было принято, время неумолимо приближало момент вручения, и я приступил к работе.
Читать дальше →
Total votes 233: ↑219 and ↓14+205
Comments61

Исходный код эксплойта для «неустранимой» уязвимости в USB-устройствах опубликован на GitHub

Reading time2 min
Views53K
Думаю, пару месяцев назад многие слышали из новостей про уязвимость в USB-контроллерах, которая может превратить любое периферийное устройство, подключаемое по usb, в инструмент кибершпионажа. В англоязычной компьютерной прессе эта проблема получила название «BadUSB». Первым о ней сообщил Карстен Нол (Karsten Nohl), секьюрити-эксперт и исследователь из берлинской компании SR Labs на конференции BlackHat USA. Из-за серьезности проблемы и опасений, что уязвимость сложно устранить, Нол не стал публиковать эксплойт, пытаясь дать время вендорам на ее устранение.

С тех пор прошло 2 месяца и все уже напрочь забыли о «плохом юэсби», пока неделю назад, уже на другой хакерской конфе — Derbycon — не выступили еще двое исследователей: Адам Кадилл и Брэндон Уилсон (Adam Caudill, Brandon Wilson).
Читать дальше →
Total votes 65: ↑56 and ↓9+47
Comments63

Отладка NDK и JNI под Android

Reading time2 min
Views17K
В данной статье речь пойдет об отладке кода под Android.
За последнее время произошло много подвижек в этом направление. Появился Android Studio, google добавило поддержку отладки нативного кода в eclipse.
Если необходимо отладить только Java, то Android Studio покроет ваши потребности полностью.
Если необходима отладка с++ или Java кода то ADT Bundle со встроенным Eclipse опять же поможет решить вашу проблему.
Если вкратце
  • Дать понять Eclipse что проект содержит нативную часть(Add native support)
  • Убедиться что в команде сборки стоит NDK_DEBUG=1
  • Нажать Debug as Android Native Application

на некоторых девайсах реобходимо еще и поставить в манифесте debuggable в true
Но если необходимо отлаживать jni код, где попеременно работают c++ и Java функции, то вам этот способ не подойдет, потому-что в зависимости от выбранного способа отладки(Android Native Application, Android Application) работает отладка либо с++ либо java кода.
О том как отлаживать смешанный код пойдет речь далее в статье.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments13

Парсим на Python: Pyparsing для новичков

Reading time6 min
Views186K
Парсинг (синтаксический анализ) представляет собой процесс сопоставления последовательности слов или символов — так называемой формальной грамматике. Например, для строчки кода:

import matplotlib.pyplot  as plt

имеет место следующая грамматика: сначала идёт ключевое слово import, потом название модуля или цепочка имён модулей, разделённых точкой, потом ключевое слово as, а за ним — наше название импортируемому модулю.

В результате парсинга, например, может быть необходимо прийти к следующему выражению:

{ 'import': [ 'matplotlib', 'pyplot' ], 'as': 'plt' }

Данное выражение представляет собой словарь Python, который имеет два ключа: 'import' и 'as'. Значением для ключа 'import' является список, в котором по порядку перечислены названия импортируемых модулей.

Для парсинга как правило используют регулярные выражения. Для этого имеется модуль Python под названием re (regular expression — регулярное выражение). Если вам не доводилось работать с регулярными выражениями, их вид может вас испугать. Например, для строки кода 'import matplotlib.pyplot as plt' оно будет иметь вид:

r'^[ \t]*import +\D+\.\D+ +as \D+'

К счастью, есть удобный и гибкий инструмент для парсинга, который называется Pyparsing. Главное его достоинство — он делает код более читаемым, а также позволяет проводить дополнительную обработку анализируемого текста.

В данной статье мы установим Pyparsing и создадим на нём наш первый парсер.

Читать дальше →
Total votes 57: ↑46 and ↓11+35
Comments12

Перехват вызовов функций нативных библиотек в Android приложениях

Reading time4 min
Views13K

Для чего это нужно


Я часто сталкивался с необходимостью отлаживать Android приложения, использующие нативный код. Иногда мне было нужно перехватить вызовы к bionic (libc), иногда к .so-шкам, к которым исходного кода у меня не было. Иногда приходилось включать в свои приложения чужие .so, к которым не было исходников и надо было подкорректировать их поведение.

Итак, как сделать LD_PRELOAD в Android?
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments2

Wireshark — приручение акулы

Reading time10 min
Views1.1M


Wireshark — это достаточно известный инструмент для захвата и анализа сетевого трафика, фактически стандарт как для образования, так и для траблшутинга.
Wireshark работает с подавляющим большинством известных протоколов, имеет понятный и логичный графический интерфейс на основе GTK+ и мощнейшую систему фильтров.
Кроссплатформенный, работает в таких ОС как Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, и, естественно, Windows. Распространяется под лицензией GNU GPL v2. Доступен бесплатно на сайте wireshark.org.
Установка в системе Windows тривиальна — next, next, next.
Самая свежая на момент написания статьи версия – 1.10.3, она и будет участвовать в обзоре.

Зачем вообще нужны анализаторы пакетов?
Для того чтобы проводить исследования сетевых приложений и протоколов, а также, чтобы находить проблемы в работе сети, и, что важно, выяснять причины этих проблем.
Вполне очевидно, что для того чтобы максимально эффективно использовать снифферы или анализаторы трафика, необходимы хотя бы общие знания и понимания работы сетей и сетевых протоколов.
Так же напомню, что во многих странах использование сниффера без явного на то разрешения приравнивается к преступлению.

Начинаем плаванье


Для начала захвата достаточно выбрать свой сетевой интерфейс и нажать Start.
Читать дальше →
Total votes 207: ↑202 and ↓5+197
Comments60

Что делать с пыльным GPU, если ты — пентестер. Часть 1: Legacy ATI/AMD RADEON

Reading time5 min
Views42K
image

Привет, хабр! Закончилось лето, деревья роняют свои листья на холодную землю, в Новосибирске идет первый снег, а я в это время хочу рассказать небольшую историю о настройке платформы для перебора паролей WPA/WPA2 на базе устаревшей на сегодняшний день видеокарты RADEON HD4890.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments12

Выбираем генератор статических сайтов

Reading time8 min
Views77K
облачное хранилище

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

Первая публикация в этом цикле будет посвящено сравнительному анализу генераторов статических сайтов.
Читать дальше →
Total votes 62: ↑49 and ↓13+36
Comments65

Android NDK: работа с OpenSL ES

Reading time11 min
Views15K
День добрый, Хабражители.

Я ранее писал про OpenAL. Позже товарищ zagayevskiy написал хорошую статью по OpenSL ES. В одной из наших игр, дабы не переписывать весь код по работе со звуком, мы не стали переписывать всё на OpenSL ES (при порте на Android). В игре использовалось не так много звуков, поэтому проблем с OpenAL не было. А вот в последней игре у нас использовалось много звуков (специфика игры обязывает), вот тут-то мы и столкнулись с большой проблемой (задержки при воспроизведении — меньшая из них). Было решено переписать всё на OpenSL ES. Для этого я написал парочку враперов, про которые уже рассказывал. Решил поделиться этим и на хабре, может кому-то пригодится.

  1. Краткое описание OpenSL ES.
  2. Аудио контент.
  3. Немного про обёртки.
  4. Принцип работы с объектами.
  5. Инициализация библиотеки (контекста).
  6. Работа со звуками.
  7. Проигрывание PCM.
  8. Проигрывание сжатых форматов.
  9. Заключение.
  10. Доп. информация.

Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments2

Github, Reddit и StackExchange предложили стандартный синтаксис Markdown

Reading time2 min
Views35K
Язык разметки Markdown разработали в 2004 году Джон Грубер и Аарон Шварц. Философия Markdown — писать текст, который легко читается и в то же время автоматически конвертируется в обычный HTML. Авторы сразу выпустили и парсер Perl, тот быстро приобрёл большую популярность, и Markdown пошёл в массы.

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

Своё решение предложила группа активистов, в которую вошли Джон Макфарлейн из университета Беркли (автор маркдаун-конвертера Pandoc и теста Babelmark), представители компаний Meteor, Github, Reddit, StackExchange и Discourse. За два года совместной работы они согласовали «наиболее оптимальные спецификации синтаксиса» в рамках проекта Standard Markdown (Standard Markdown). Они также выпустили всеобъемлющий набор тестов для проверки каждой реализации Markdown на соответствие спецификациям.
Читать дальше →
Total votes 83: ↑80 and ↓3+77
Comments92

Прием КВ на RTL-SDR, бесплатно без конвертера

Reading time2 min
Views134K


После прочтения статьи о дешевом SDR из ТВ-тюнера я сразу же кинулся заказывать донгл на R820T. Но всё омрачал факт невозможности приема на коротких волнах, ибо в моем городе на УКВ нет ничего интересного: пара-тройка такси, скорая и изредка появляющиеся радиолюбители. После недолгих поисков я наткнулся на несколько методов «раскрытия» тюнера на 0-15МГц без использования относительно недешевых upconverter-ов.
Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments47

Путешествие по Стеку. Часть 1

Reading time7 min
Views93K


В предыдущих материалах мы рассмотрели размещение программы в памяти – одну из центральных концепций, касающихся выполнения программ на компьютерах. Теперь обратимся к стеку вызовов – рабочей лошадке большинства языков программирования и виртуальных машин. Нас ожидает знакомство с удивительными вещами вроде функций-замыканий, переполнений буфера и рекурсии. Однако всему свое время – в начале нужно составить базовое представление о том, как работает стек.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments15

Отключение ASLR при отладке third-party приложения под iOS

Reading time2 min
Views4.2K
В этой статье дается простая короткая инструкция как пропатчить third-party приложение под iOS что бы отключить ASLR при отладке. Предполагается что у читателя в наличии:

  1. iOS 7.0-7.0.4 устройство с evasi0n jailbreak и компьютер с Mac OS X 10.9.4, установленным XCode 5.1.1 и МаchOView 2.4 (скорее всего для других версий тоже будет работать, но я не пробовал)
  2. некоторый опыт в отладке third-party приложения для iOS, ну и желательно знать что такое ASLR и понимать зачем его отключать

Что ж, приступим.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments4

Tortilla — весь TCP и DNS трафик из виртуальной машины через TOR

Reading time2 min
Views71K

Пошаговое руководство по направлению всего TCP и DNS трафика из виртуальной машины через TOR.

Тема уже поднималась в 2012 году: «Как направить весь tcp-трафик с гостевой Windows системы через Tor» с использованием tun2socks и виртуального сетевого адаптера TUN/TAP от OpenVPN.

Однако на Black Hat USA 2013 был представлен доклад «TOR… ALL-THE-THINGS!», в котором анонсировали новый инструмент от Jason Geffner из CROWDSTRIKE INC под названием Tortilla. Также Tortilla упоминается в официальном Tor FAQ в разделе What should I do if I can't set a proxy with my application?. Это виртуальный сетевой адаптер, который просто установить и использовать.
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments25

McSema — декомпилятор кода в LLVM

Reading time1 min
Views8.1K
Ребята, которые выступали на ReCON 2014, опубликовали свой инструмент McSema (MC-Semantics) для восстановления x86-бинарников Windows в LLVM-код. Этот инструмент разделен на несколько подпроектов:
  • Восстановление порядка выполнения
  • Семантика инструкций
  • Парсинг бинарных файлов
  • Семантика тестирования

На данный момент, программа поддерживает трансляцию x86-семантики с целочисленной арифметикой, арифметикой с плавающей точкой и векторными операциями.

Для чего это нужно? Этот проект, в теории, позволит делать сумасшедшие порты бо́льшему количеству людей и в более короткие сроки, позволит более-менее избавляться от обфускации malware путем ее перекомпиляции с оптимизациями.
Проект финансируется DARPA.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments7

Немножко уязвимостей в OpenSSL

Reading time2 min
Views12K
Команда разработчиков OpenSSL выпустила Security Advisory, в котором рассказывается о 9 новых уязвимостях в OpenSSL, и настоятельно рекомендуют обновляться:
  • Пользователям OpenSSL 0.9.8 до версии 0.9.8zb
  • Пользователям OpenSSL 1.0.0 до версии 1.0.0n
  • Пользователям OpenSSL 1.0.1 до версии 1.0.1i

Исправленные уязвимости:

  • Information leak in pretty printing functions (CVE-2014-3508) — приводит к утечке информации из стека при использовании функций «красивого» вывода.
  • Crash with SRP ciphersuite in Server Hello message (CVE-2014-5139) — приводит к падению клиента (из-за null pointer dereference), если сервер будет использовать SRP ciphersuite.
  • Race condition in ssl_parse_serverhello_tlsext (CVE-2014-3509) — сервер злоумышленника может записать до 255 байт на клиенте.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments17

6 мифов, мешающих разработчикам использовать Git

Reading time6 min
Views81K


Сейчас вы с трудом найдете профессионального разработчика, который не пользуется системой контроля версий (VCS) такой, как Git.
Но есть и не мало тех среди нас, кто не использует VCS по причине предвзятого мнения о системах контроля версий.
Ниже несколько мифов и отговорок, которые препятствуют внедрению в рабочий процесс разработчика Git (или любой другой VCS).
Читать дальше →
Total votes 103: ↑74 and ↓29+45
Comments228

Information

Rating
Does not participate
Location
Украина
Registered
Activity