Pull to refresh
1
0
Send message

Инсулиновые помпы, вскрытие микросхем и программно-определяемое радио

Reading time13 min
Views11K
Реверс-инижиниринг инсулиновой помпы для DIY-терапии

Примерно три года назад я услышал о веб-сайте, предлагающем награду за то, что очень близко моему сердцу: обратная разработка коммуникаций с инсулиновой помпой. Я уже помог создать систему для своей дочери под названием Loop, с помпой Medtronic, для который я осуществил реверс-инжиниринг коммуникаций (бóльшую часть основного протокола связи Medtronic декодировал Бен Уэст с помощью устройства Carelink USB, а я выяснил радиочастоты и провёл некоторую дополнительную работу над протоколом). Но помпу Medtronic требовалось отключать во время гимнастики на несколько часов. Бескамерная конструкция этой помпы Omnipod показалась мне интересной, и у меня были все инструменты для работы.

Система Omnipod состоит из небольшой одноразовой помпы, которая называется модулем (pod), и блока управления (PDM).


Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments8

Хакинг по-древнегречески: итоги online-этапа NeoQUEST-2019

Reading time10 min
Views3.1K

Подводим итоги online-этапа NeoQUEST-2019: под катом расскажем про задания, посмотрим на статистику их прохождения и похвалим победителей!


Дисклеймер: продукт может содержать в себе следы арахиса и спойлеры для тех, кто еще не проходил задания, но честно собирается (а такая возможность есть – сайт on-line этапа продолжает работать!). Не рекомендуется к употреблению, если вы еще не проявили достаточно упорства, чтобы получить все ключи самостоятельно.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments13

Погружение в драйвер: общий принцип реверса на примере задания NeoQUEST-2019

Reading time5 min
Views4.6K

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

На примере задания №2 из online-этапа NeoQUEST-2019 разберем общий принцип реверса драйвера Windows. Конечно, пример является довольно упрощенным, но суть процесса от этого не меняется — вопрос только в объеме кода, который нужно просмотреть. Вооружившись опытом и удачей, приступим!
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments2

2011 vs AM4. Динозавры против млекопитающих

Reading time3 min
Views26K
Это не столько самостоятельная публикация, сколько дополнение и, что главное, исправление моей прошлогодней 1155 vs 2011. В бой идут одни старики. Тогда у меня не оказалось на руках платформы AM4 для сравнения, и не столько сама статья, сколько некоторые мои комментарии к ней, оказались не вполне верны. Пришло время исправлять несправедливость.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments37

Безумие и успех кода Oracle Database

Reading time4 min
Views80K
На этой неделе пользователи Hacker News решили обсудить вопрос «Каков максимальный объем плохого — но при этом работающего — кода вам доводилось видеть?» (позже к ним присоединились и пользователи Reddit). В комментариях было рассказано немало «веселых» историй про то, с чем мы все время от времени сталкиваемся; но больше всего внимания привлек рассказ про код «передовой СУБД, которую используют большинство компаний, входящих в список Fortune 100».

Победителем в номинации «лавкрафтовские ужасы» заслуженно стал рассказ бывшего разработчика Oracle, который работал над Oracle Database в период разработки версии 12.2. Объем кодовой базы СУБД на тот момент составлял 25 миллионов строк на языке C — и стоило вам изменить лишь одну из этих строк, как ломались тысячи написанных ранее тестов.

За прошедшие годы над кодом успело потрудиться несколько поколений программистов, которых регулярно преследовали жесткие дедлайны — и благодаря этому код смог превратиться в настоящий кошмар. Сегодня он состоит из сложных «кусков» кода, отвечающих за логику, управление памятью, переключение контекстов и многое другое; они связаны друг с другом при помощи тысяч различных флагов. Весь код связан между собой загадочным макросом, который невозможно расшифровать, не прибегая к помощи тетради, в которую приходится записывать, чем занимаются релевантные части макроса. В итоге, у разработчика может уйти день или два только на то, чтобы разобраться, чем же в действительности занимается макрос.
Читать дальше →
Total votes 82: ↑81 and ↓1+80
Comments160

Игорь Антаров из Moscow Tesla Club борется с 20 мифами о Тесле и электромобилях

Reading time19 min
Views42K


Сегодня кажется, если написать на транспаранте «Тесла» и выйти на улицу — тебя скрутят за несогласованный одиночный пикет. Отношение к Тесле переросло из потребительского взгляда на продукт в идеологию и политическую позицию. Теслу обсуждают словами «верю-не-верю». Мнение о ней тут же увязывают со взглядами на жизнь. Если сказать незнакомцу «я верю в Теслу», он сразу поймет, что я думаю про Трампа и Путина, и какой смузи люблю больше всего.

Все это очень-очень странно. Ведь мы просто говорим про машину, которая немного непривычно устроена под капотом.

Нам с baragol хотелось поговорить про Теслу так, чтобы раз и навсегда. Поэтому мы пошли к людям, которые знают о ней лучше всех в России — к ребятам из Moscow Tesla Club.

Они открылись больше пяти лет назад и за это время через них в Россию попали почти все Теслы, которые сейчас ездят по нашим дорогам. Они на короткой ноге с инженерами из Калифорнии и однажды чуть не открыли официальный сервис Теслы в Москве. Но ограничились просто званием «Клуб» — вроде и не дилер, и не сервис, и не магазин, а вроде и да.

Мы попытались затронуть все спорные, противоречивые и острые моменты, но при подготовке этого материала меня не покидало ощущение, что от концентрации любви нашего собеседника к Тесле, скептичных читателей будет просто тошнить электричеством. Поэтому если от слова «Маск» где-то внутри у вас зреет «как же задолбали эти…», лучше почитайте, как в Калининграде делают плазменные двигатели.
Total votes 115: ↑97 and ↓18+79
Comments490

Как втиснуть 16 ГБ памяти на материнскую плату, которая не поддерживает такой объём

Reading time10 min
Views127K
Некоторое время назад я поставил на один из своих компьютеров 16 ГБ памяти. На нём стоит материнка Foxconn P55MX с Core i5 750. Можно было бы и заменить этот старый CPU, но он пока нормально работает и делает всё, что мне нужно.

Вот что интересно. Материнская плата официально не поддерживает 16 ГБ RAM. Спецификации на вышеупомянутой странице указывают, что поддерживается максимум 8 ГБ. На плате только два слота, поэтому у меня возникло подозрение, что планки 8 ГБ просто были редкостью в то время, когда вышла материнская плата. Я всё равно решил попробовать. Во многих случаях материнские платы поддерживают больше RAM, чем официально заявляет производитель.
Читать дальше →
Total votes 222: ↑220 and ↓2+218
Comments187

Успехи первой фазы испытаний вакцины против колоректального рака

Reading time2 min
Views14K


Ранние результаты первого этапа испытания уникальной вакцины против колоректального рака у человека оказались многообещающими. Недавно опубликованная работа с изложением результатов испытаний первой фазы показала, что вакцина безопасна и стимулирует иммунную реакцию, прокладывая путь к более крупным испытаниям на человеке.
Колоректальный рак является вторым по величине раком убийцей в мире. Его не только сложно вовремя выявить, но и многие современные приёмы лечения являются мало эффективными. Почти половина пациентов после хирургической резекции, всё равно не выживают из-за склонности рака к рецидивам.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments24

Резервное копирование, часть 1: Назначение, обзор методов и технологий

Reading time12 min
Views23K
Backup? I don't need backup!!

Зачем же нужно делать резервные копии? Ведь оборудование весьма и весьма надежное, к тому же есть «облака», которые по надежности лучше физических серверов: при правильной настройке «облачный» сервер запросто переживет отказ инфраструктурного физического сервера, а с точки зрения пользователей сервисов, будет небольшой, еле заметный скачок времени обслуживания. К тому же дублирование информации зачастую требует оплатить «лишнее» процессорное время, дисковую нагрузку, трафик сети.
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments10

ВИЧ – методы лечения от первых лекарств до сегодняшнего дня

Reading time10 min
Views32K

Прежде, чем приступить к изложению материала, хотелось бы сказать несколько слов о себе: участник сообществ по борьбе с отрицанием ВИЧ („ВИЧ/СПИД диссидентством“): в 2016-2018 годах „ВИЧ/СПИД диссиденты и их дети“, с 2018 года – „ВИЧ/СПИД отрицание и альтернативная медицина“.


Моё – и далеко не только моё – мнение состоит в том, что большинство случаев отказа от лечения ВИЧ-инфекции вызвано банальным непониманием того, что это контролируемая хроническая инфекция, а также стигматизацией людей, живущих с ВИЧ – применением к ним распространённого клише, что ВИЧ – болезнь низших слоёв общества либо же наоборот, „культурной элиты“. Это давно не так – в России примерно 1% населения живёт с ВИЧ, и ситуация не планирует становиться лучше.


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

Читать дальше →
Total votes 88: ↑87 and ↓1+86
Comments110

Белые пятна в работе с SSH

Reading time7 min
Views35K
SSH — очень мощный и гибкий инструмент, но, как показывает практика, не все понимают, как он работает, и правильно его используют. Слово Secure входит в аббревиатуру SSH и является одним из ключевых аспектов протокола, но часто именно безопасности уделяется недостаточное внимание. В этой статье я хочу рассказать о нескольких типичных ошибках при работе с SSH, а также о моментах, о которых часто забывают.

image
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments54

Насколько хорошо защищены ваши SSH-сессии?

Reading time5 min
Views25K


Выполнение повседневных задач системного администратора считается безопасным при работе через SSH сессию. В данной статье речь пойдет про современные инструменты для проведения MITM-атак на протокол SSH и как защититься от них.
Читать дальше →
Total votes 51: ↑47 and ↓4+43
Comments34

Алгоритм установления соединения в протоколе SSH

Reading time5 min
Views105K
(Начальное название статьи «Алгоритм работы протокола SSH» было изменено по рекомендациям Vindicar, Karroplan и других участников хабросообщества)

Периодически читая статьи, посвящённые SSH, обратил внимание, что их авторы порой не имеют понятия, как работает этот протокол. В большинстве случаев они ограничиваются рассмотрением темы генерации ключей и описанием опций основных команд. Даже опытные системные администраторы часто несут полную ахинею при обсуждении вопросов работы SSH, выдавая опусы в стиле: передаваемые данные шифруются открытым SSH-ключом клиента, а расшифровываются закрытым, или: для шифрования данных при передаче используется алгоритм RSA.

Попытаюсь внести немного ясности в работу протокола SSH, а заодно рассмотреть роль алгоритма RSA и ключей авторизации пользователя…

image
Читать дальше →
Total votes 65: ↑56 and ↓9+47
Comments52

Можно ли рендерить реалистичные изображения без чисел с плавающей запятой?

Reading time19 min
Views23K

Введение




«Что получится, если мы заменим числа с плавающей запятой на рациональные числа и попытаемся отрендерить изображение?»

Такой вопрос я задал себе после размышлений над твитом исследователя и преподавателя компьютерной графики Моргана Макгвайра. Он рассуждал о том, насколько сильно студенты компьютерных наук удивляются, когда впервые узнают, что для хранения привычных нам чисел с плавающей запятой в современных компьютерах нужно идти на компромиссы. И эти компромиссы делают сложными простые задачи, например, проверку принадлежности точки треугольнику. Проблема, разумеется, заключается в том, что проверка нахождения четырёх точек в одной плоскости (копланарности) с помощью определителя или какого-нибудь векторного умножения (а на самом деле это одно и то же) никогда не даст значение, точно равное нулю, чего требуют эти математические методы. Даже если бы настоящие вычисления нахождения на одной плоскости были бы точны, те же компромиссы с точностью почти с вероятностью в 1,0 дали бы ответ, что сами четыре точки не копланарны.

Это зародило во мне мысль — если допустить, что все входящие данные рендерера (координаты вершин, 3D-преобразования и т.д.) были бы заданы как рациональные числа, то создавали бы все операции, от создания луча, обхода ускоряющей структуры и до пересечения лучей с треугольниками только рациональные числа? Если это было бы так, то мы бы смогли выполнять проверку копланарности совершенно точно! Возможно, вы зададитесь вопросом, почему 3D-сцена, выраженная в рациональных числах должна давать результаты тоже только в рациональных числах…


Простая сцена, трассировка пути в которой выполнена рациональной арифметикой. Здесь используется система чисел «с плавающей чертой дроби», а не числа с плавающей запятой.
Читать дальше →
Total votes 98: ↑98 and ↓0+98
Comments60

Рудольфу Свореню — 89! Как книга «Электроника шаг за шагом» — изменила жизнь людей

Reading time25 min
Views64K
Про Рудольфа Свореня (автора книги «Электроника шаг за шагом») мы делали несколько постов. И в частности про кампанию по переизданию этой культовой книги. В анкету на предзаказ уже отметилось почти 500 человек, охват удивительный — города от Калининграда, до Сахалина. Из Канады и США. Из эстонского Таллина. Киев, Харьков. Минск. Вильнюс. Несколько заявок из Казахстана.

И в частности некоторые отзывы:

"Читал несколько раз и каждый раз обнаруживал что-то новое. Даже после «искусства схемотехники», которая по сути является ВУЗовским учебником, перечитывать «Шаг за шагом» было поучительно. Как она на меня повлияла: начинал как электронщик, но сейчас работаю DSP-программистом. Если бы не прочитал её и не подхватил бы её дух — вряд ли стал бы разработчиком. Благодаря этой книге я проникся системой ценностей инженеров и стал инженером."

"Читал почти все книги. Изменила жизнь..."

"Мой первый электро букварь :)"

"Эта книга дала мне билет в будущее, если бы в своё время она не попала мне в руки, я не знаю чем бы я сейчас занимался."

"Прочитана до дыр. Книга дала серьезный толчок для дальнейшего развития в этой области. Именно из-за этой книги я связал свою жизнь с электроникой. Спасибо!"

"Электроника шаг за шагом — вдохновляет к творчеству."

В это воскресенье 29 мая — у Рудольфа Анатольевича был День Рождения — 89 лет!, в честь этого дня — мы решили сделать небольшой подарок — и попросили людей написать отзыв о том, как именно книги Р.А. повлияли на их жизнь — на выбор будущей профессии. И для тех кто не читал книгу — было бы интересно узнать, что же такого особенного в этой книге что она смогла объединить стольких людей?
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments14

Рудольф Сворень — человек легенда (автор классики — «Электроника шаг за шагом»)

Reading time7 min
Views43K
Сегодня день Космонавтики — в такие дни мы всегда испытываем гордость за страну, за людей, благодаря кому наша страна (в то время Советский Союз) достигла таких высот. Каждое достижение — это результат работы многих людей, работы энтузиастов — людей влюбленных в своё дело. И человек о котором мы сегодня хотим рассказать — так же внес свой вклад в развитие просвещения, знаний и зарождение любви к техническому творчеству среди молодежи.

Книга “Электроника шаг за шагом” — возможно знакома многим, кто увлекся электроникой в детстве, многие отмечают простоту и доступность материала. Её автор — Рудольф Сворень, человек знаменательный, но мало известный современниками. И мы хотели бы опубликовать его воспоминания.

Благодаря этому человеку — возможно, мир узнал о запуске искусственного спутника до самого события, и радиолюбители смогли подготовиться и принять сигналы — что для многих было запоминающимся событием на всю жизнь, и объединяющим людей из многих стран.

Этот человек чьи книги по основам радио-электроники выпускались миллионными тиражами в СССР, и внесли вклад в появление увлеченных электроникой людей.

Материалы публикуются впервые. Руслан — это tirus — благодаря его усилиям, удалось установить контакт с Рудольфом Анатольевичем (в США).


Дорогой Руслан! Я обещал Вам рассказать о том, как из радиоинженера получился профессиональный журналист и сейчас попробую это сделать. Начну с конца – в январе 1950 года (в возрасте 23 года) я окончил Одесский электротехнический институт связи (ОЭИС) с профессией «Инженер-электрик радиосвязи». По законам того времени получил назначение на работу в городе Фрунзе (ныне Бишкек) в Министерстве связи Киргизии. Перед отъездом из Одессы я поженился с пианисткой Екатериной Заславской, которая жила с братом, матерью и отчимом (отец погиб на фронте) в одной комнате на первом этаже старого одноэтажного дома недалеко от одесского вокзала. Мы с Катей прожили вместе более 50 лет.

Первое время во Фрунзе я работал дежурным инженером на местном средневолновом радиовещательном передатчике. Довольно быстро привык к непривычному – к совершенно непонятным мне радиопередачам на киргизском языке, к мощным усилительным лампам метровых размеров с водяным охлаждением, к высокой передающей антенне (высотой метров двести), к жестким правилам техники безопасности. Скажем к тому, что определенный тип объявлений (например, «На антенне работают люди») имеет право снять только лично тот человек, который объявление повесил. Я запомнил это на всю жизнь.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments36

Космос и Гена

Reading time8 min
Views14K
Гена родился в Советском Союзе. Хоть уже и на закате великой империи, но успел насмотреться на портрет Ленина на фоне красного флага, расположенный на первом развороте букваря. И, конечно, Гена обожал все, что касалось космоса. Гордился, что живет в стране, имеющей самый внушительный список достижений в космонавтике, каждый пункт которого начинался со слова «первый».

Гена не помнит, при каких обстоятельствах, но к нему попала большая книга об устройстве различных механизмов. Кроме информации о работе барабана комбайна, там рассказывалось о трудах Циолковского и принципе работы реактивного двигателя. Теперь Гене стало еще интереснее – начало казаться, что, возможно, когда-нибудь, он и сам сможет принять какое-то участие в космонавтике.
Читать дальше →
Total votes 82: ↑67 and ↓15+52
Comments82

Введение в реверс-инжиниринг: взламываем формат данных игры

Reading time48 min
Views25K

Введение


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

Развитие навыков реверс-инжиниринга — в основном вопрос практики. Накапливая опыт, вы выстраиваете интуитивное понимание того, что нужно исследовать в первую очередь, какие паттерны необходимо искать, и какие инструменты удобнее использовать.

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

Небольшая предыстория


Всё это началось, когда я пытался воссоздать игру Chip's Challenge на Linux.

Изначально Chip's Challenge была выпущена в 1989 году для ныне забытой портативной консоли Atari Lynx. Для того времени Atari Lynx была впечатляющей машиной, но она вышла в одно время с Nintendo Game Boy, которая в конце концов захватила рынок.

Chip's Challenge — это игра-головоломка с видом сверху и тайловой картой. Как и в большинстве таких игр, цель каждого уровня заключается в том, чтобы добраться до выхода. В большей части уровней выход охраняется разъёмом для чипа, который можно миновать, только собрав определённое количество компьютерных чипов.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments8

Начинаем изучать микроконтроллеры на примере STM32F030f4p6

Reading time14 min
Views57K


0. Перед прочтением статьи


Данная статья преследует следующие цели:

  1. показать, как работать конкретно с этой платой;
  2. показать подход, с помощью которого можно написать программу мигания светодиодом, опираясь исключительно на документацию и логику;
  3. изложить материал языком, понятным человеку, слабо знакомому с микроконтроллерами.

Код получится минималистичным с точки зрения использования дополнительных файлов — мы не будем подключать ни один файл, кроме тех, что нужны для сборки пустой, но валидной, прошивки. Т.е. на базе кода прошивки, которая работает, но ничего полезного не делает.
Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments63

Linux Programming Interface

Reading time5 min
Views30K
Здравствуйте, уважаемые читатели! С наступающими вас праздниками.

В последней апрельской публикации мы хотели бы рассказать вам о замечательной книге Майкла Керриска «Linux Programming Interface», которая в очередной раз вернулась в наше поле зрения благодаря превосходным продажам другой литературы по Linux:



Конечно, сложная книга о системном программировании объемом 1500+ страниц — литература, прямо скажем, на любителя. Но, поскольку отзывы о ней до сих пор восторженные, а нам потратиться на Linux завсегда не жалко предлагаем почитать ее обзор, опубликованный в далеком 2011 году.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments7

Information

Rating
Does not participate
Registered
Activity