Pull to refresh
170
0
Sergei Frolov @sfrolov

User

Send message

Отрисовка первого кадра Android-приложения

Reading time5 min
Views13K
image

Всем приветЪ! Этот пост является продолжением поста про глубокое погружение в процесс загрузки-запуска Android-приложения. Сегодня мы пойдем чуть дальше и обсудим момент когда главная Activity приложения запущена и система должна отрисовать первый кадр. Прошу под кат.
Читать дальше →

Передача аналогового тв сигнала с помощью STM32

Reading time5 min
Views25K
Помните как некто cnlohr запустил передачу ТВ сигнала на ESP8266?

Недавно мне попалось к просмотру это видео, стало интересно как это возможно и выяснил что автор видео разогнал частоту I2S до телевизионного диапазона, а затем с помощью DMA генерировал AM сигнал. Мне захотелось повторить это, но или прошивка криво собирается, или ESP модуль оказался неподходящий. Запустить передачу телесигнала не получалось.

Затем я вспомнил что STM32 умеет выводить свой тактовый сигнал на один из пинов.

Пётр Соболев: «В отличие от анимации, демосцена подразумевает написание кода»

Reading time13 min
Views6.9K


Во второй части интервью музейному проекту DataArt Пётр Соболев, также известный как frog — организатор фестиваля ENLiGHT — вспоминает историю европейской демосцены и первую российскую демопати в коммуналке, переделанной под офис Федерации шейпинга.

Напомним, что в первой части речь шла о компьютерах 1980-х и знакомстве с первыми интро и демо.

Пётр Соболев: «Мы просто смотрели, как что-то там летает, и тащились от того, как это сделано»

Reading time20 min
Views12K


Демосцена — разновидность творчества на стыке компьютерной графики, музыки и, собственно, программирования, а также сложившаяся вокруг него субкультура. Первые демоэксперименты относятся к 1980-м — времени, когда в Европе и США появилось достаточное количество домашних компьютеров, обладатели которых стремились заставить машину выполнять несвойственные ей задачи. Обычно это были короткие интро к взломанным компьютерным играм, созданные на Commodore 64, Amiga, ZX Spectrum. Расцвет демосцены пришелся на 1990-е, тогда же она пришла и в Россию.

Пётр Соболев, также известный как frog, — один из организаторов компьютерного фестиваля ENLiGHT — первой в России демопати. В первой части интервью музейному проекту DataArt он вспоминает компьютеры 1980-х и рассказывает, как в нашей стране появились первые интро и демо.

Open-source реализации отечественных криптоГОСТов

Reading time2 min
Views62K
На выходных решил поискать open-source реализации отечественных криптографических стандартов. Прежде всего интересовали новые: хэш-функция Стрибог (ГОСТ Р 34.11-2012), Кузнечик (ГОСТ Р 34.12-2015) и ЭЦП (ГОСТ Р 34.10-2012 или 2001 (без 512-бит) ). Старый ГОСТ 28147-89 специально не искал, поскольку найти его реализацию никаких проблем нет уже давно.
Итак, давайте посмотрим, что же получилось. Сразу предупреждаю, что корректность реализаций не проверял.
Читать дальше →

Как запускается сервер: UEFI

Reading time9 min
Views32K

Ранее мы уже разбирали последовательность запуска сервера на примере устаревшего Legacy. Настало время познакомиться с UEFI поближе.

Первая версия того, что сейчас известно как Unified Extensive Firmware Interface (UEFI), разрабатывалась в 90-е годы прошлого тысячелетия специально под системы на Intel® Itanium® и называлась Intel Boot Initiative, а позже — EFI.

Желание «обновить» процесс загрузки было ожидаемо. PC-BIOS, именуемый ныне Legacy, предлагает работать в 16-битном real mode, адресует всего 1 МБ оперативной памяти, а загрузчик вместе с таблицей разделов должен размещаться в первых 512 байтах накопителя. Более того, PC-BIOS передает управление первому найденному загрузчику без возможности возврата назад. При этом обработку случаев с несколькими операционными системами возлагают на плечи загрузчика.
Читать дальше →

Уязвимости в коде. Как отличить опасную брешь от незначительной ошибки?

Reading time18 min
Views15K
Как обычно выглядит проверка кода приложений на уязвимости? Специалист по безопасности инициирует процедуру, код сканируется, в приложении обнаруживаются тысячи уязвимостей. Все — и безопасник, и разработчики — в шоке. Естественная реакция разработчика: «Да наверняка половина — это ложные срабатывания, а другая — некритичные уязвимости!»

Что касается ложных срабатываний, здесь все просто: можно взять и посмотреть непосредственно те места кода, где обнаружены уязвимости с подозрением на false positive. Действительно, какая-то их часть может оказаться ложными срабатываниями, (хотя явно не половина от общего числа).

А вот о том, что критично, а что нет, хотелось бы поговорить более предметно. Если вы понимаете, почему сейчас уже нельзя использовать SHA-1 и зачем экранировать «;», возможно, эта статья не откроет вам чего-то нового. Но если по итогам сканирования от найденных уязвимостей рябит в глазах, добро пожаловать под кат – расскажем, какие «дыры» чаще всего встречаются в мобильных и веб-приложениях, как они работают, как их исправить, а главное — как понять, что перед вами — опасная брешь или незначительная ошибка в коде.


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

Операционные усилители: 10 схем на (почти) все случаи жизни

Reading time15 min
Views569K
Всем привет!

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


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

Полнофункциональный драйвер SDHC карты памяти для Stm32f4 (часть 1)

Reading time14 min
Views104K

Для чего эта статья?


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

Создатели Pocket P.C. перевели аппаратное обеспечение девайса в open source

Reading time2 min
Views9.5K


Разработчики мини-компьютера Pocket Popcorn Computer (Pocket P.C.) заявили, что после поступления девайса в продажу под лицензией Creative Commons Attribution-ShareAlike 3.0 они опубликуют в открытом доступе файлы с дизайном печатных плат в формате PCB, схемы, модели для 3D-печати и сборочные инструкции.

Средства на разработку Pocket P.C получены благодаря успешной кампании по сбору средств на Kickstarter. В общей сложности было собрано $83 966, хотя организаторы поставили цель $50 000.
Читать дальше →

Анализ данных из последнего слива Intel

Reading time48 min
Views36K
Я порылся в 20 гигабайтах слитых данных с незащищённого CDN интела в поисках интересного и оценки серьёзности этой утечки.


КДПВ. Прототип ноутбука на Tiger Lake.

Краткое резюме


Большая часть слитой информации предназначена для OEM/ODM разработчиков и производителей, но заинтересует энтузиастов, исследующих BIOS и недокументированные режимы работы процессоров Intel. В них нет внутренней интеловской документации, критичной к обнародованию, или способной раскрыть секретные разработки. Также здесь не найти информации о неизвестных ранее уязвимостях.
Читать дальше →

Издеваемся над USB

Reading time3 min
Views113K

В очередной раз втыкая скоростную USB флешку в порт USB 3.0, я увидел надпись "Это устройство может работать быстрее...". Но подождите, я и так его воткнул в порт 3.0! Неужели контакт барахлит? И если так, то как флешка определяет, на какой скорости ей работать? Ведь современные ПК поддерживают целых три стандарта соединения — USB 1.1, 2.0 и 3.0. Можно ли «понизить» стандарт USB, насильно заставив устройство работать, к примеру, на USB 1.1? Не на все эти вопросы в сети удалось найти ответ, и я решил разобраться сам, по ходу столкнувшись с довольно неочевидными ситуациями.
Читать дальше →

Шпионские устройства для контактного и бесконтактного получения информации

Reading time7 min
Views54K


Делаем шпионское устройство своими руками из подручных средств


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

Что делать, если поймал HardFault?

Reading time6 min
Views38K
Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться.

Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он никак не обрабатывается, а просто остаётся висеть в бесконечном цикле обработчика, предусмотренном в startup файле производителя. В то же время программист пытается интуитивно найти причину отказа. На мой взгляд это не самый оптимальный путь решения проблемы.

В данной статье я хочу описать методику анализа тяжелых отказов популярных микроконтроллеров с ядром Cortex M3/M4. Хотя, пожалуй, «методика» — слишком громкое слово. Скорее, я просто разберу на примере то, как я анализирую возникновение тяжелых отказов, и покажу, что можно сделать в подобной ситуации. Я буду использовать программное обеспечение от IAR и отладочную плату STM32F4DISCOVERY, так как эти инструменты есть у многих начинающих программистов. Однако это совершенно не принципиально, данный пример можно адаптировать под любой процессор семейства и любую среду разработки.


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

Анализ кристалла сдвигового регистра у математического сопроцессора 8087

Reading time11 min
Views9.3K
Числа с плавающей запятой необходимы для научного программирования, однако первые процессоры напрямую поддерживали лишь операции с целыми числами. Но ранние микропроцессоры всё же могли производить операции с числами с плавающей запятой. Такие операции просто разбивались на множество целочисленных, манипуляции с экспонентой и дробной частью. Иначе говоря, поддержка плавающей запятой не сделала возможной операции с ней в принципе – она просто серьёзно их ускорила. Существует ещё один способ представления нецелых чисел – это числа с фиксированной запятой, у которых есть неизменное количество цифр после десятичного разделителя. С ними работать проще, однако с их помощью можно представить диапазон заметно меньшего размера.

Хотя операции с плавающей запятой на мейнфреймах были обычным делом уже в 1950-х и 1960-х годах, только в 1980-м Intel представила сопроцессор с плавающей запятой 8087 для микрокомпьютеров.

8087 не был первым чипом с поддержкой плавающей запятой. National Semiconductor представила MM57109 Number Cruncher Unit [«перемалыватель цифр»] – так его реально назвали – в 1977-м. Это был, по сути, чип от научного калькулятора на 12 цифр в новом корпусе, работающий с десятичными значениями в двоичном представлении, и требовавший ввода данных в обратной польской записи. Чип работал до абсурдного медленно: к примеру, на вычисление тангенса могло уйти до секунды. AMD представила свой первый чип с поддержкой плавающей запятой, Am9511, в 1978-м. Этот чип поддерживал 32-битные числа с плавающей запятой, и на вычисление тангенса тратил до 1,4 мс. В итоге Intel купила у AMD лицензию на Am9511 и продавала его как 8231. 8087 на 10 МГц, для сравнения, мог вычислить тангенс за 54 мкс, работая с 80-битным числом с плавающей запятой. Вот насколько быстродействие и точность 8087 были выше его предшественников.
Читать дальше →

Мегафон продолжает вмешиваться в мой HTTP-трафик в 2020 году, отправлять рекламу, даже после получения запретов на это

Reading time7 min
Views83K
Недавний пост «Вы видели людей, которые пользуются мобильными контент-подписками?» опять всколыхнул внутреннее недовольство отношением Мегафона ко мне и я решил рассказать про свою «войну» с зелёно-фиолетовым оператором и попытками оградиться от рекламы и вмешивания в мой HTTP-трафик.

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

Мотивация от оператора:
При заключении между нами договора, в нём был пункт, что Вы согласны на получение рекламы при использовании наших услуг.
Вместо выполнения Федерального Закона «О Рекламе», статья 18, п. 1, при обращениях к оператору с требованием прекратить распространять рекламу в мой адрес:
Рекламораспространитель обязан немедленно прекратить распространение рекламы в адрес лица, обратившегося к нему с таким требованием.
Мегафон подключает дополнительные услуги «отказа от рекламы» (у меня их с десяток), которые иногда не работают, и реклама продолжает приходить.



Например, после скриншота выше, сегодня получил очередную зелёно-фиолетовую рекламу.
Считаю что такого рода вещи должны предаваться гласности, так как дело не в том, что «проблема» решится (хотя до сих пор не решилась) для одного абонента, а в том что этот опыт поможет многим. Ведь по всем проблемным запросам смм Мегафона уводит клиента в личное общение и решений проблем не остаётся в паблике. Попробую это исправить.
С подписками, как оказалось, разобраться проще всего. Расскажу под катом про свой опыт и с ними, и с вмешательством в HTTP-трафик:

  • почему вы видите сайты с подписками, даже если кликнули по объявлению в выдаче Google,
  • размышления, много ли мобильные подписки приносят денег оператору,
  • как Мегафон вмешивается в HTTP-трафик,
  • про рекламу, от которой вы не можете отказаться,
  • чеклист того что можно сделать, для минимизации рекламы, подписок и вмешательств в HTTP-трафик.

МК-61: история, эмуляция, устройство

Reading time21 min
Views46K

Расцвет эпохи программируемых калькуляторов в нашей стране пришёлся на середину 80-х годов. Потом на смену относительно сытым и благополучным временам пришла эпоха бандитского капитализма, когда стране стало не до выпуска своей высокотехнологичной продукции бытового назначения, вот уже сменились поколения, но ностальгия по тем временам, когда мы бессонными ночами пытались сократить код программы хотя бы на пару байтов, чтобы уместить задуманную функцию, выискивали всё новые и новые недокументированные возможности, придумывая способы, как их можно использовать на практике, сочиняли целые циклы рассказов в качестве фона для наших игровых программ, не даёт забыть свой МК-61 со 105 байтами программной памяти. Поэтому хочу написать заметку о том, что собой представляли и как работали эти самые программируемые калькуляторы. Даже если эта тема сегодня периодически и поднимается, то не настолько часто, чтобы приесться уважаемому читателю, так что надеюсь поведать что-то новое.

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

Зачем принтеры ставят невидимые точки на документах

Reading time4 min
Views131K
3 июня 2017 года агенты ФБР нагрянули в дом 25-летней Реалити Леи Уиннер, которая работала в компании Pluribus International Corporation, подрядчике АНБ в штате Джорджия. Девушку (на фото) арестовали по обвинению в разглашении секретной информации, предположительно просочившейся в прессу. И действительно, к тому времени документ уже был в распоряжении онлайн-издания The intercept, а 5 июня 2017 года его опубликовали в открытом доступе.

В этой истории есть интересный момент. Агенты ФБР утверждали, что для вычисления источника утечки они тщательно изучили копии документа, предоставленные The Intercept, и якобы «заметили складки, свидетельствующие о том, что страницы были напечатаны и вручную вынесены из защищённого пространства».

Но анализ независимых специалистов из компании Errata Security показал истинную картину. Дело в том, что документ PDF из утечки содержал отсканированные копии бумажных документов очень хорошего качества. Включая точки-маркеры, которые скрыто проставляют принтеры на каждую отпечатанную страницу. Судя по всему, по этим точкам и вычислили Уиннер.

Микроша. Глава первая. Контроллер SD карты

Reading time7 min
Views18K


Многие помнят эту замечательную ПЭВМ. У меня такая появилась, когда мне было 11. Прошло 28 лет и сейчас я решил в порядке хобби сделать устройства расширения, которых мне так не хватало тогда.
Читать дальше →

Ультрафиолет: эффективная дезинфекция и безопасность

Reading time17 min
Views116K
Свойства ультрафиолета зависят от длины волны, а ультрафиолет разных источников отличается спектром. Обсудим, какие источники ультрафиолета и как применять, чтобы максимизировать бактерицидное действие, минимизировав риски нежелательных биологических эффектов.


Рис. 1. На фотографии не дезинфекция излучением UVC, как можно подумать, а тренировка использования защитного костюма с выявлением в лучах UVA люминесцирующих пятен учебных телесных жидкостей. UVA – мягкий ультрафиолет и не оказывает бактерицидного действия. Закрытые глаза – оправданная мера безопасности, так как широкий спектр используемой люминесцентной лампы UVA пересекается с UVB, который опасен для зрения (источник Simon Davis/DFID).
Разбираемся в подробностях и нюансах...

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Registered
Activity