![](https://habrastorage.org/webt/ot/a7/ms/ota7ms8glfwa9diwq-l3ywvevcq.jpeg)
Совсем недавно на хабре появилась следующая новость: На GitHub опубликован исходный код MS-DOS 4.00 под лицензией MIT. Раз появились исходные коды, стало сразу интересно: а можно ли собрать эту операционную систему?
User
Возможно, вы уже сталкивались с одноразовыми электронными сигаретами, у которых есть яркий цветной ЖК-экран. Нет смысла говорить о том, насколько это вредно для экологии, когда на свалки и просто на обочину дорог выкидываются устройства с нормальными литий-ионными батареями. Я сам не курю, но интересные вейпы собираю. И вот недавно смог заняться реверс-инжинирингом одной модели с ЖК-дисплеем. Об этом и расскажу.
Привет, Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++
Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на экран "Hello World!". И при этом практически нет ни одной статьи о создании того же самого, но только для UEFI, хотя будущее именно за ним, ведь BIOS уже давно устарел! Это я и хочу исправить в этой статье.
Хочу поделиться собственным опытом вывода изображения на монитор через VGA интерфейс. Я понимаю, что подобная задача решалась много раз, разными людьми, на разном оборудовании. Поэтому призываю всех причастных к этой теме отписаться в комментариях о своих вариантах реализации и особенностях разработки.
Цикл статей, начинаемый этой публикацией, посвящён внутреннему устройству процессоров нескольких отечественных моделей ЕС ЭВМ, начиная с самой младшей из них — ЕС-1020.
В данной статье будет сказано несколько слов о причинах появления ЕС ЭВМ (исторические вопросы довольно подробно описаны в других источниках, поэтому я не буду здесь повторять других авторов, а желающих подробнее ознакомиться с этой темой адресую, например, в «Виртуальный компьютерный музей»), но в первую очередь будет дан краткий обзор основных особенностей архитектуры IBM System/360, реализованной в ЕС ЭВМ: без знакомства с архитектурой затруднительно понять причины и назначение довольно многих технических решений, принятых при её реализации. Собственно схемотехника начнётся со следующей статьи.
float Q_rsqrt( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // зловещий хакинг чисел с плавающей запятой на уровне битов
i = 0x5f3759df - ( i >> 1 ); // какого чёрта?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // первая итерация
// y = y * ( threehalfs - ( x2 * y * y ) ); // вторая итерация, можно удалить
return y;
}
Несколько лет назад фирма Casio модифицировала популярную модель Casio fx-991ES Plus второй редакцией, которая получила довесок в имени "2nd edition". Кроме небольших, скорее косметических улучшений, во второй версии добавили генерацию QR-кода, считав который телефоном и пройдя по сслыке можно было бы проверить калькулятор на подлинность.
Однако, для меня стало сюрпризом, когда я решил проверить QR-код, генерируемый калькулятором, а сайт сказал, что калькулятор-то оригинальный, несмотря на то, что он подделка.
Мастерство поддельщиков достигло больших высот. Раньше, взяв какой-нибудь клон Sharp EL-506P и положив рядом с оригиналом, можно бы довольно быстро понять, что есть что.
Купил на пробу светодиодов со встроенным драйвером сразу двух вариантов, в варианте отдельного драйвера и в варианте светодиода. Понимая что радиолюбитель не мигавший красиво диодиками не радиолюбитель. Распаял и я свою примитивную мигалочку, по сути отладочную плату.
Кому-то нравится украшать дом электронными фоторамками, а кому-то — цифровым прогнозом погоды. Если вы из их числа, то читайте, как собрать своё собственное метео-табло.
Когда-то работа в фоне была простой. Теперь в Android есть множество ограничений: работа в фоне, доступ к файловой системе, разрешения на которые надо получить одобрение модераторов Google Play и другие. Со всеми ними разработчикам приходится работать. Недавно я выступил с докладом на эту тему на конференции DUMP, а теперь написал текст на его основе для Хабра. Давайте вспомним, с чего все начиналось и как менялись требования с каждой новой версией Android.
Знай своего врага ― одна из максим, которой руководствуются специалисты по информационной безопасности. Она касается и зловредов. Существуют сотни инструментов, которые помогают исследовать вредоносное ПО. К счастью, многие из них бесплатны и имеют открытый исходный код.
Под катом мы собрали онлайн-сканеры подозрительных файлов, некоторые инструменты для статического и динамического анализа, системы для описания и классификации угроз и, конечно, репозитории с малварью, которую можно исследовать.
В статье алгоритмическая оптимизация функции sin() для бюджетных микроконтроллеров stm32, повышающая производительность в 10 и более раз.
Тригонометрические функции, характеризующиеся высоким потреблением процессорного времени, могут негативно влиять на выбор бюджетных микроконтроллеров ( без модуля FPU ) для задач, где важна скорость счёта, например, контроль пространственного положения.
Многие современные телевизоры имеют скрытые сервисные меню, через которые можно посмотреть и изменить различные параметры, недоступные в обычном пользовательском меню. В телевизорах LG есть 2 основных сервисных меню - InStart и EzAdjust, которые можно вызвать посылкой "секретных" ИК кодов, отсутствующих на обычном пульте. Подробности о том, как открыть эти меню, легко найти в интернете, не буду на этом останавливаться, один из вариантов - в этой статье. К сожалению, многие интересные опции в сервисных меню были недоступны для изменения.
В меню InStart меня заинтересовала строка Access USB Status. Гугление не давало никакой информации о том, что это за Access USB, но интуиция подсказывала, что это что-то интересное.
В телеге давно есть опциональная фича live location sharing, который показывает точное расстояние до людей поблизости. Если использовать GPS спуфинг и трилатерацию (не путать с триангуляцией), то можно узнавать координаты людей в любой точке планеты с точностью до метра. Телега проигнорировала сообщение об этой "фиче", поэтому автор выложил всё на github.