Search
Write a publication
Pull to refresh
-1
0
Send message

Строим Android x86

Reading time7 min
Views63K
Существует множество задач, для которых требуется пересборка ядра и операционной системы Android в целом. Например, создание и отладка собственных модулей, включение поддержки профилирования системы и просто тестирование своих приложений на новой версии Android.
Возможность запуска Android x86 внутри виртуальной машины VirtualBox позволяет энтузиастам и создателям прошивок покопаться в настройках системы, настроить и пересобрать ядро и при этом не «кирпичизировать» настоящее устройство. VirtualBox предоставляет возможность использования привычных для Linux-разработчика средств отладки ОС. Для рядовых разработчиков Android-приложений отлично подходит эмулятор, использующий технологию Intel Hardware Accelerated Execution Manager. (подробнее можно прочесть здесь)
В статье приведен ряд практических советов по сборке образа Android x86 для запуска под виртуальной машиной VirtualBox и сборке эмулятора. Исходный код Android взят из официального репозитория проекта AOSP (Android Open Source Project), в качестве ядра использована адаптированная версия ядра Linux 2.6 от Intel.
Читать дальше →

Еще один способ отладки Android приложений на виртуальном устройстве

Reading time2 min
Views45K
Дожил я до такой жизни, что мне понадобилось написать программку для android с поддержкой bluetooth. Все время мучать планшет ради отладки не хотелось, поэтому самый естественный путь — воспользоваться эмулятором. И вот, когда я установил Adk и idea, на лбу образовались 3 шишки от граблей:
  • Основной эмулятор ADK жутко медленный
  • Интеловский нативный эмулятор не работает на компьютере с процессором AMD
  • ADK вообще не поддерживает эмуляцию bluetooth


Мы живем не в самом худшем из миров, и поэтому мне удалось довольно быстро найти приемлемое решение.
Мало букв, много картинок

Немного о хаосе и о том, как его сотворить

Reading time9 min
Views96K

Говоря «хаос», мы, обычно, подразумеваем полное отсутствие порядка, абсолютную неупорядоченность и случайность. С математической точки зрения, хаос и порядок – понятия не взаимоисключающие. Теория хаоса (есть что-то завораживающие в названиях математических теорий) – достаточно молодая математическая область, создание которой приравнивают по значимости открытий ХХ века к созданию квантовой механики. Хаос случается в нелинейных динамических системах. Иначе говоря, любой процесс, который протекает со временем, может быть хаотичным (например, высота дерева, температура тела или популяция мадагаскарских тараканов).
Читать дальше →

30 лет с QNX: Демонстрационная дискета QNX

Reading time1 min
Views43K
Вы просто обязаны это посмотреть. Но прежде всего учтите, эта демо-дискета QNX появилась в конце 1990-х годов, а веб-браузер был выпущен в далёком 1999, а вовсе не в 2012. Думаю, браузеру можно простить сообщения об ошибках при просмотре современных веб-сайтов.

Вы будете поражены! Всё, что показано тут – сама операционная система, графическая оконная подсистема, браузер, стек TCP/IP, менеджер файлов, игры и т.д. – разместились на одной загрузочной дискете размером всего 1.44 Мб. Никакого CD или жёсткого диска. И, как можно увидеть, демо может даже загружать и запускать программы (даже графические драйверы!), и все это на лету. Я бы сказал, что это круто!
Смотреть

Теплый и ламповый VPN

Reading time9 min
Views397K

Ничего не предвещало беды, как вдруг в 2 часа ночи раздался телефонный звонок.

— Алло, милый! У меня youtube не работает!
— Прекрасно, иди спать!
— Нууу! Там новая серия вышла!
— Завтра всё сделаю!
— Ну Заяя, нуууу!
— Ладно! Ладно! Сейчас.


Из этого поста вы узнаете ответы на следующие вопросы:
Как спасти свою милую от стресса в 2 часа ночи? Как вернуть доступ к youtube.com, если ваш провайдер его заблокировал? Как быстро поднять VPN и настроить клиентские устройства (Android, Windows, Debian, dd-wrt) для работу с ним? Как безопасно серфить интернет на открытых точках доступа? Как заработать карму в глазах своей возлюбленной? Если вам это интересно, добро пожаловать под кат!
Читать дальше →

Все что вы хотели знать об имплантируемых метках, но боялись спросить

Reading time5 min
Views78K
По следам предыдущего топика. В комментариях подняли очень много вопросов, которые заинтересовали и меня в том числе. Постараюсь на них ответить.


Вопрос:

Что, блин, это такое?

Ответ:

Это Rfid-метка, которые используются в пропусках, метро, домофоах и т.д. Только маленькая, и выполненная из стекла, которое не мешает организму.



Вопрос:

Там внутри что-то ядовитое? Радиоактивное? Там капсула с ядом, чтоб убить меня со спутника?

Ответ:

Нет. Нет. Нет. Там просто микросхема, и много-много очень тонкого медного провода, выполняющего роль антенны.



Вопрос:

Какие бывают чипы?
Читать дальше →

Evil USB HID-эмулятор или просто Peensy

Reading time5 min
Views38K


Интересным вектором атак является использование USB HID эмуляторов клавиатуры (и мышки) в корпусе стандартной USB флешки. И если autofun.inf на флешке мы уже научились как-то искать и уничтожать, то с HID эмуляторами все пока что плохо.

Для тех, кто не знаком ещё с этой темой, я рекомендую прочитать для начала хабростатью "Боевой HID-эмулятор на Arduino". Тут я не буду касаться вопросов установки и настройки среды программирования Arduino, а лучше чуть-чуть расскажу про продвинутое использование Peensy (Pentest+Teensy).
Читать дальше →

«А пошло оно всё!» или снова о Coursera и ему подобных

Reading time3 min
Views24K

Привет хабровчанам!


image
Во-первых, спасибо вам, хабровчане! Именно от вас я узнал о таком замечательном проекте, как Coursera.
Как-то классе в 10 я решил, что хочу поступить в один из технических ВУЗов Вены — в этом городе я живу уже достаточно продолжительное время. У меня было какое-то очень общее понимание того, что такое php, mySQL, краем уха слышал о существовании RoR, и мне казалось, что веб-программирование — это крайне круто и что это то, чем мне бы подошло заниматься.

Впоследствии, наслушавшись о своей неорганизованности, сумбурности мышления и рассеянности выбор был сделан в пользу Логистики и Транспортного управления, откуда я в итоге ушёл с оставшимся чувством отвращения к бухгалтерии и праву.

И вот я узнаю о Coursera, заглядываю туда и вижу такую халяву. Откинув старые убеждения о своей непригодности и воскликнув: «А пошло оно всё!» — записался на курс «Learn to Program: The Fundamentals», который начался на прошлой неделе. А вскоре и на несколько других курсов, + «Introduction to Computer Science I» на edX
В своём первом топике хочу написать свои впечатления от первых двух недель курса, и если кому интересно —
милости просим.

«Здравствуйте, я звоню вам из Windows». Мошенники позвонили журналисту Ars Technica

Reading time2 min
Views42K
Позавчера Федеральная торговая комиссия (FTC) провела пресс-конфренцию, где рассказала о серьёзных масштабах телефонного мошенничества в США, связанного с техподдержкой Windows. Неграмотным пользователям ПК звонят по телефону и банально разводят на деньги. Это кажется примитивным, но в реальности некоторые люди поддаются на обман и платят за «техподдержку» от $49 до $450.

По оценке FTC, речь идёт о международном мошенничестве на десятки миллионов долларов. FTC заморозила активы шести компаний, которые занимались подобным бизнесом. Пять из них вели дела с помощью «холодных звонков», а шестая размещала поисковую рекламу в Google по запросам [телефон техподдержки] и др., так что пользователи сами звонили.

Статья об этом была опубликована на сайте Ars Technica, и — удивительное совпадение — буквально на следующий день один из журналистов издания получил звонок от человека, который попытался обмануть его в точности таким же способом! Естественно, журналист был наготове: он сделал вид, что следует инструкциям мошенника, связался с человеком, у которого есть Windows на виртуальной машине, и полностью записал телефонный разговор.
Читать дальше →

Code Signing сертификаты или сертификаты разработчика. Виды, как выбрать

Reading time5 min
Views83K
В прошлый раз мы рассматривали цифровые SSL сертификаты, в этот раз рассмотрим еще один вариант цифровых сертификатов.
Code Signing сертификаты — это сертификат, которым подписывается программное обеспечение или скрипты, который подтверждает автора программы и гарантирует, что код не был изменен, после того, как была наложена цифровая подпись. Также их еще называют сертификаты разработчика.

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

Создаем рекурсивные ярлыки в Windows

Reading time5 min
Views124K
Все мы знаем, что такое ярлык. А что будет, если сделать ссылку ярлыка самого на себя?
Создание ярлыка на ярлык приводит к его копированию. И что будет, если принудительно создать побайтно такой ярлык?

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

Зайти в такую папку обычными файловыми менеджерами будет невозможно.

Но тут не обошлось без ярлыка, и я расскажу, как это сделать и для чего можно использовать.
Читать дальше →

Диссонанс

Reading time11 min
Views14K

Предисловие


Все события вымышлены, мысли и предложения — фантазия, совпадения — случайны.
Статья представляет собой субъективные вольные измышления об имеющимся несоответствии в реальности сферы ИТ и применения к ней некоторых элементов соответствующей статьи Уголовного кодекса РФ. За этот «эпос» меня может быть осудят товарищи, но, так или иначе, на затрагиваемые в статье вопросы необходима реакция, любая. Статья разбита на 3 части, по количеству Причин.
Читать дальше →

Использование криптографических функций, реализованных на аппаратном токене в web-приложениях

Reading time3 min
Views7.1K
Мне долгое время не давала покоя проблема использования в web-приложениях криптографических функций (хеш, эцп, шифрование и т.д) без использования на клиентском месте различного дополнительного софта. Все решения, которые мне встречались, тем или иным способом требовали установки различных плагинов, криптопровайдеров и другого сопутствующего программного обеспечения.

Я же хочу изложить свой взгляд на решение вопроса использования криптографических преобразований в web-приложениях.
Читать дальше →

Взломать Wi-Fi за… 3 секунды

Reading time2 min
Views2M
Какой человек не любит халявы? Практически все ее просто обожают, и я не исключение. Вдохновленный статьей «Взломать Wi-Fi за 10 часов» я достал из недр харда BT5, скачанный ранее, и записал его на болванку. Результат не заставил себя ждать, и первый пароль был получен на следующее утро. И понеслась…
Читать дальше →

Master-key для замков Onity на Arduino в обычном маркере

Reading time1 min
Views37K


Вряд ли в офисном здании или отеле будут с пониманием относиться к человеку, который носит с собой подозрительные устройства, из которых торчат разного рода провода и датчики. Но понятно, что профессиональные взломщики на то и профессионалы, чтобы не попадаться. К примеру, вскрыватель замков Onity был встроен одним из умельцев в обычный маркер. Более обычную вещь сложно себе представить. Этот девайс работает как master key для всех замков.

Читать дальше →

Немного о многопоточном программировании. Часть 1. Синхронизация зло или все-таки нет

Reading time12 min
Views70K
Мне по работе часто приходится сталкиваться с высоконагруженными многопоточными или многопроцессными сервисами (application-, web-, index-server).
Достаточно интересная, но иногда неблагодарная работа — оптимизировать все это хозяйство.
Растущие потребности клиентов часто упираются в невозможность просто заменить железную составляющую системы на более современную, т.к. производительность компьютеров, скорость чтения-записи жестких дисков и сети растут много медленнее запросов клиентов.
Редко помогает увеличение количества нодов кластера (система как правило распределенная).
Чаще приходится запустив профайлер, искать узкие места, лезть в source code и править ляпы, которые оставили коллеги, а иногда и сам, чего греха таить, много лет назад.
Некоторые из проблем, связаных с синхронизацией, я попытаюсь изложить здесь. Это не будет вводный курс по многопоточному программированию — предпологается, что читатель знаком с понятием thread и context switch, и знает для чего нужны mutex, semaphore и т.д.
Читать дальше →

Получение подлинного Windows Subsystem(csrss.exe) процесса

Reading time7 min
Views22K
В этой статье я покажу вам, как найти подлинный процесс подсистемы Windows, это полезно, например, когда вы пытаетесь получить список активных процессов (заметьте, только процессы, которые работают в подсистеме Windows могут быть найдены таким образом, а кроме подсистемы Windows есть еще подсистемы POSIX и OS/2, которые уже, можно сказать, уже и не поддерживаются), перечисляя структуры CSR_PROCESS, список которых находится в процессе CSRSS.
Читать дальше →

Делаем учебник или документацию за час на Сфинксе

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

В общем, если вам нужно сделать документацию, учебник или просто набор текстов с иллюстрациями, то вам нужен Python Sphinx, и здесь я расскажу, как быстро его настроить и использовать.

Пустая страница новой документации
Хочу себе такую же!

Восстановление расфокусированных и смазанных изображений. Повышаем качество

Reading time5 min
Views211K
Представляю вашему вниманию заключительную статью из трилогии «Восстановление расфокусированных и смазанных изображений». Первые две вызвали заметный интерес — область, действительно, интересная. В этой части я рассмотрю семейство методов, которые дают лучшее качество, по сравнении со стандартным Винеровским фильтром — это методы, основанные на Total Variaton prior.
Также по традиции я выложил новую версию SmartDeblur (вместе с исходниками в open-source) в которой реализовал этот метод. Итоговое качество получилось на уровне коммерческих аналогов типа Topaz InFocus. Вот пример обработки реального изображения с очень большим размытием:


Читать дальше →

Автоматизация тестирования Android приложений

Reading time12 min
Views81K

Тестирование является важной составляющей процесса разработки приложения. Для Android тестирование особенно важно, так как устройства сильно отличаются друг от друга:
  • Размером и разрешением экрана.
  • Версией Android.
  • Форм-фактором.
  • Системой команд процессора.
  • Наличием фронтальной камеры, NFC, внешней клавиатуры, и т.д.

Поэтому тестировать приложение приходится на множестве устройств.
В процесс тестирования входят различные виды тестирования. Рассмотрим, как происходит процесс функционального тестирования приложения вручную. Тестировщик устанавливает на устройство приложение, вдумчиво проверяет всю функциональность, затем возвращает устройство в первоначальное состояние. И так для каждого приложения и каждого устройства. Очевидный недостаток такого способа – большие затраты времени для регулярного тестирования.
Очевидный плюс автоматизированного тестирования – его можно регулярно проводить без особых затрат. Например, каждую ночь тестировать свежий билд приложения на всем множестве имеющихся устройств, а утром анализировать результаты и исправлять ошибки.
В данной заметке будут рассмотрены средства реализации автоматического тестирования. Рассматриваются только инструменты, входящие в Android SDK или распространяющиеся под Open Source лицензией.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity