Как стать автором
Обновить
-12
0
Сергей @BiosUefi

BIOS инженер

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

Аппроксимация синуса: полиномы Чебышёва vs. ряды Маклорена

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

В комментариях к моей статье про быстрое вычисление синуса был задан вопрос: "А чем не устроило разложение в ряд Тейлора?"

Краткий ответ таков: хоть приближение при помощи рядов Тейлора (точнее - рядами Маклорена) и даёт меньшую ошибку при том же количестве вычислений, но оно не позволяет разбить аргумент на произвольное количество интервалов и тем самым увеличить точность вычислений.

Читать далее
Всего голосов 11: ↑8 и ↓3+5
Комментарии28

Создаем процессорный модуль под Ghidra на примере байткода v8

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

В прошлом году наша команда столкнулась с необходимостью анализа байткода V8. Тогда еще не существовало готовых инструментов, позволявших восстановить такой код и обеспечить удобную навигацию по нему. Было принято решение попробовать написать процессорный модуль под фреймворк Ghidra. Благодаря особенностям используемого языка описания инструкций на выходе мы получили не только читаемый набор инструкций, но и C-подобный декомпилятор. Эта статья — продолжение серии материалов (1, 2) о нашем плагине для Ghidra.

Между написанием процессорного модуля и статьи прошло несколько месяцев. За это время спецификация SLEIGH не изменилась, и описанный модуль работает на версиях 9.1.2–9.2.2, которые были выпущены за последние полгода.

Сейчас на ghidra.re и в приложенной к Ghidra документации есть достаточно хорошее описание возможностей языка — эти материалы стоит почитать перед написанием своих модулей. Отличными примерами могут быть уже готовые процессорные модули разработчиков фреймворка, особенно если вы знаете описываемую в них архитектуру.

В документации можно прочесть, что процессорные модули для Ghidra пишутся на языке SLEIGH, который произошел от языка SLED (Specification Language for Encoding and Decoding) и разрабатывался целенаправленно под Ghidra. Он транслирует машинный код в p-code (промежуточный язык, используемый Ghidra для построения декомпилированного кода). Как у языка, предназначенного для описания инструкций процессора, у него достаточно много ограничений, которые, однако, можно купировать за счет механизма внедрения p-code в java-коде.

Исходный код созданного процессорного модуля представлен на github. В этой статье будут рассматриваться принципы и ключевые понятия, которые использовались при разработке процессорного модуля на чистом SLEIGH на примере некоторых инструкций. Работа с пулом констант, инъекции p-code, анализатор и загрузчик будут или были рассмотрены в других статьях. Также про анализаторы и загрузчики можно почитать в книге The Ghidra Book: The Definitive Guide.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии0

Traefik, docker и docker registry

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

Под катом вы увидите:

• Использования Traefik в качестве обратного прокси для маршрутизации трафика внутрь docker контейнеров.

• Использование Traefik для автоматического получения Let’s Encrypt сертификатов

• Использование Traefik для разграничения доступа к docker registry при помощи basic auth

• Все перечисленное выше будет настраиваться исключительно внутри docker-compose.yml и не потребует передачи отдельных конфигурационных файлов внутрь контейнеров.

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

Помимо этого в интернете мало информации на тему использования traefik для контроля доступа к docker registry. Описанную ниже технику можно использовать для контроля доступа к любому приложению, реализующему Rest API.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии17

Учёные научились общаться со спящими людьми

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

Учёные идентифицировали новый феномен под названием «интерактивный сон», в пределах которого спящий человек, испытывающий осознанное сновидение, может следовать инструкциям, отвечать на простые вопросы и даже решать базовые математические задачи.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии20

Поддержка процессоров Apple M1 в .NET

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

17 ноября Apple официально представила устройства на базе своего нового ARM-процессора Apple M1. Естественно, это событие не могло быть не замечено со стороны компании Microsoft, которая с 2014 года начала активную экспансию .NET на новые платформы. Давайте посмотрим, что нас ждет в связи с этим в ближайшее время!

Быть ли поддержке Apple M1 в .NET?
Всего голосов 16: ↑16 и ↓0+16
Комментарии62

Вы всё ещё меряете FSB сотнями?

Время на прочтение2 мин
Количество просмотров11K
Очень многие именно так и поступают последние 15-20 лет. Сотня или больше.

Что есть, Front Side Bus (FSB, системная шина)?
Шина, обеспечивающая соединение между x86/x86-64-совместимым центральным процессором и внутренними устройствами. Её опроная частота используется, с мультипликатором, процессором.

Весь инструментарий(я знаком с HwInfo64 и CPU-Z) именно на это (сотни) и заточен. Но вот, появился у меня процессор на котором я вижу частоту шины 25МГц.

image

Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии0

Микрокод и уязвимости в процессорах

Время на прочтение2 мин
Количество просмотров7.3K
Отсутствие уязвимости в CPU лучшее что может быть, но как проверить есть ли они, эти уязвимости? Как выясняется в современных процессорах они буквально "пачками". И счастливому обладателю «уязвимостей» в лучшем случае предлагается ползать по таблицам и искать каким из них подвержен его процессор. А с течением времени количество найденных дыр только растет.

Простейшим решением предлагается обновление БИОСа/UEFI с установкой новой версии микрокода. Но решает ли оно все проблемы, или собственно хотябы их часть?
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии0

Страшные сказки на ночь, о PCI шине

Время на прочтение3 мин
Количество просмотров22K
Всеобщая эйфория от появления на рынке новых процессоров, не дает достаточно времени кинуть взгляд, а что же там у них «под капотом». Те же их стороны, которыми обычно восхищаются кликатели и кнопкодавы, вовсе не отражают реальное положение дел на железном фронте.

А тучи, тем временем, сгущались. Да, процессоры стали быстрее. Да, действительно, там стало больше ядер. И последнее, как раз, является серьезной архитектурной проблемой. По крайней мере, для наметившегося лидера гонки.

Кто сейчас помнит такой архаизм как «Архитектура»? Мало кто. Слово в станкостроении стало в IT практически ругательным. А ведь когда-то, в былые времена, книга «PCI System Architecture „ и прочие, зачитывалась до дыр, на экране. И что же там такого страшного, в этом осколке прошлого, накарябано о PCI, что может нас ввести в глубокую задумчивость, полную вселенской грусти?
Читать дальше →
Всего голосов 56: ↑47 и ↓9+38
Комментарии61

7 слов в английском, которые встречаются в СМИ реже чем 3 случая на 100 миллионов

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


В английском языке уже больше миллиона уникальных слов — именно такие результаты дал масштабный анализ литературы, который совместно проводили Гарвардский университет и компания Google.

Лексикон языка увеличивается в среднем на 8500 новых слов каждый год. С такой же скоростью слова устаревают и выходят из использования. В английском языке уже десятки тысяч «мертвых слов», которые остались только в словарях.

Но большинство все же считаются активными — их используют не часто, но они живы. В этой статье мы расскажем о самых редких словах, которые используются в современных СМИ и литературе реже чем 3 случая на 100 миллионов. То есть, не чаще одного раза во всех газетах и журналах США за весь год. Поехали.
Читать дальше →
Всего голосов 49: ↑40 и ↓9+31
Комментарии35

Введение в ELF-файлы в Linux: понимание и анализ

Время на прочтение11 мин
Количество просмотров89K
Есть в мире вещи, которые мы принимаем как нечто само собой разумеющееся, хотя они являются истинными шедеврами. Одними из таких вещей являются утилиты Linux, такие, как ls и ps. Хотя они обычно воспринимаются как простые, это оказывается далеко не так, если мы заглянем внутрь. И таким же оказывается ELF, Executable and Linkable Format. Формат файлов, который используется повсеместно, но мало кто его понимает. Это краткое руководство поможет вам достичь понимания.



Прочтя это руководство, вы изучите:

  • Зачем нужен формат ELF и для каких типов файлов он используется
  • Структуру файла ELF и детали его формата
  • Как читать и анализировать бинарное содержимое файла ELF
  • Какие инструменты используются для анализа бинарных файлов
Читать дальше →
Всего голосов 41: ↑37 и ↓4+33
Комментарии15

Информация

В рейтинге
5 091-й
Откуда
Grünwald, Bayern, Германия
Дата рождения
Зарегистрирован
Активность