Как стать автором
Обновить
0
0

Инженер

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

Взлом аппаратного ключа методом veni, vidi, vici

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров17K

К одному очень дорогому оборудованию для работы управляющей программы нужен аппаратный ключ с зашитой датой, указывающей, когда право использования оборудования кончается. За ключи исправно платили заграничному вендору, но после санкций это стало невозможным и оборудование стало простаивать. Важно, что интернет не использовался для активации ключа. Значит всё необходимое в ключ зашито. Если корпус ключа открыть, то видна одна микросхема FT232R с небольшой обвязкой.

Задача: Сделать так, чтобы можно было пользоваться оборудованием. Дистрибутив софта, требующего ключ, есть. Работает он под Windows. Просроченный ключ есть. Оборудованию около 10 лет.

Ниже описан путь решения со всеми ошибками.

Прочитать историю
Всего голосов 155: ↑152 и ↓3+182
Комментарии26

Реверсим и улучшаем SATA контроллер

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

Вы когда-нибудь задумывались, как много вокруг умной электроники? Куда ни глянь, натыкаешься на устройство, в котором есть микроконтроллер с собственной прошивкой. Фотоаппарат, микроволновка, фонарик... Да даже некоторые USB Type C кабели имеют прошивку! И всё это в теории можно перепрограммировать, переделать, доработать. Вот только как это сделать без документации и исходников? Конечно же реверс-инжинирингом! А давайте-ка подробно разберём этот самый процесс реверса, от самой идеи до конечного результата, на каком-нибудь небольшом, но интересном примере!

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

Пишем одностраничное приложение с помощью htmx

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров14K

JS-библиотеку htmx воспринимают как средство, которое спасает интернет от одностраничных приложений. Всё дело в том, что React поглотил разработчиков своей сложностью (так говорят), а htmx предлагает столь желанное спасение.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+42
Комментарии5

Изменение голосового меню портативной колонки

Время на прочтение3 мин
Количество просмотров66K
Приветствую уважаемый читатель! В этой статье я постараюсь рассказать как мне удалось модифицировать прошивку портативной колонки, при том, что я не являюсь программистом. Наверняка для кого то идея окажется не новой, но когда я столкнулся с этой задачей быстрого ответа не нашел. В конце статьи я запилил видео, если кому окажется лень читать.

Всего голосов 19: ↑18 и ↓1+17
Комментарии10

Альтернативный список заблокированных в РФ ресурсов Re:filter

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

В этой статье я хочу описать работу над проектом альтернативного списка заблокированных адресов Re:filter: проблему с которой я столкнулся будучи пользователем существующих списков заблокированных ресурсов, шаги к решению и полезные на практике результаты этой работы.

Получилось реализовать в достаточно компактные списки доменов и адресов, которые не перегрузят среднестатистическое устройство, но при этом список будут разделять заблокированные ресурсы и не позволят, например, пускать через VPN трафик на незаблокированные ресурсы, а значит не нарушат работу сервисов, онлайн игр и т.д. непредсказуемым образом

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

Простой АМ/ЧМ радиоприёмник с феноменальной чувствительностью

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров27K


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

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

И это далеко не всё, на что способна дешёвая программируемая микросхема KT0936M, о которой я расскажу много интересных подробностей.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+50
Комментарии34

Изобретаем библиотеку vusb

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

Введение


После прочтения названия может возникнуть закономерный вопрос: зачем в наше время изучать программную реализацию low-speed USB, когда существует куча дешевых контроллеров с аппаратным модулем? Дело в том, что аппаратный модуль, скрывая уровень обмена логическими уровнями, превращает протокол USB в своеобразную магию. Для того же, чтобы прочувствовать как эта «магия» работает, нет ничего лучше, чем воспроизвести ее с нуля, начиная с самого низкого уровня.


С этой целью попробуем изготовить на основе контроллера ATmega8 устройство, прикидывающееся USB-HID'ом. В отличие от распространенной литературы, мы пойдем не от теории к практике, от самого нижнего уровня к верхнему, от логических напряжений на выводах, и закончим «изобретением» той самой vusb, после каждого шага проверяя, работает ли код как ожидалось. Отдельно отмечу, что не изобретаю альтернативу этой библиотеке, а напротив, последовательно воспроизвожу ее исходный код, максимально сохраняя оригинальную структуру и названия, поясняя, для чего служит тот или иной участок. Впрочем, привычный для меня стиль написания кода отличается от стиля авторов vusb. Сразу же честно признаюсь, что помимо альтруистического интереса (рассказать другим сложную тему) имею и корыстный — изучить тему самостоятельно и через объяснение выловить для себя максимум тонких моментов. Отсюда же следует, что какой-то важный момент может быть упущен, или какая-то тема не до конца раскрыта.


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


Также отмечу, что рассматривается только low-speed USB, даже без упоминания, чем отличаются более скоростные разновидности.

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

3 самых очевидных способа вручную обнаружить текст от большой языковой модели

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров47K

На написание и публикацию этого текста меня побудила необходимость быстро объяснить, как определять текст от больших языковых моделей (БЯМ). Важно, что речь идёт только про выявление очевидных случаев, а не бронебойное детектирование.

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

Читать далее
Всего голосов 82: ↑78 и ↓4+99
Комментарии87

Systemd для начинающих: разбор юнитов и их функций

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

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

Systemd — это init процесс, который запускается при загрузке ядра операционной системы linux и его задачей является форкать другие процессы. Информацию о том, какие процессы необходимо исполнить он берет из, так называемых “юнитов” (systemd unit - https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html). Юниты бывают различных типов, каждый из которых выполняет определенную задачу.

Читать далее
Всего голосов 18: ↑15 и ↓3+14
Комментарии4

Введение в аннотации типов Python

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

Введение



Автор иллюстрации — Magdalena Tomczyk


Вторая часть


Python — язык с динамической типизацией и позволяет нам довольно вольно оперировать переменными разных типов. Однако при написании кода мы так или иначе предполагаем переменные каких типов будут использоваться (это может быть вызвано ограничением алгоритма или бизнес логики). И для корректной работы программы нам важно как можно раньше найти ошибки, связанные с передачей данных неверного типа.


Сохраняя идею динамической утиной типизации в современных версиях Python (3.6+) поддерживает аннотации типов переменных, полей класса, аргументов и возвращаемых значений функций:



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


Меня зовут Тихонов Андрей и я занимаюсь backend-разработкой в Lamoda.


В этой статье я хочу объяснить основы использования аннотаций типов и рассмотреть типичные примеры, реализуемые аннотациями из пакета typing.

Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии50

Telegram Боты на Aiogram 3.x: Первые Шаги

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров26K

Привет, друзья!

За свою практику программирования я успел написать множество малых, средних и крупных проектов, преимущественно в формате Telegram-ботов. Моя история началась с популярной на то время версии aiogram 2.24 (тех, кто в теме, поймут), а сейчас я полностью перешел на версию 3.x, о чем нисколько не жалею.

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

Сегодня мы научимся:

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

Как мы перенесли web-сервис в Телеграм Mini Apps

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров10K

До лета 2023 года перед разработчиками Точка.Нетворк стояла проблема: CJM становился сложным, и это затрудняло работу над продуктом. В итоге мы придумали решение — полностью отказались от веба и сосредоточили развитие платформы только в Mini Apps от Телеграма. Без этого было бы невозможно развивать продукт дальше.

В статье расскажу, как и почему мы отказались от веб-версии Точка.Нетворк — локального сообщества предпринимателей — и переместились в Телеграм.

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

И решили мы подружить Baresip и Nodejs

Время на прочтение3 мин
Количество просмотров18K
Что же такое Baresip? Как сказано на сайте проекта это кроссплатформенный, модульный SIP агент с поддержкой аудио и видео.

А причем тут nodejs? Да так вышло что в большом проекте написанном на nodejs и использующем Freeswitch и его модуль portaudio в связи с некорректной работой последнего потребовалось внедрить другой sip клиент для аудио звонков.

Выбор в ходе технического совещания одного из наших разработчиков с гуглом пал на Baresip.

Подробности
Всего голосов 13: ↑12 и ↓1+11
Комментарии9

Как получить радиолюбительский позывной в 2024 году

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров27K

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

Читать далее
Всего голосов 62: ↑61 и ↓1+78
Комментарии71

Ретрогейминг без ностальгии. Как, зачем и для кого я сделал авторскую игровую консоль

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров13K

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

Читать далее
Всего голосов 33: ↑27 и ↓6+28
Комментарии110

Обзор криминалистических артефактов Windows

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров12K

При расследовании инцидентов информационной безопасности на хостах под управлением Windows, специалистам приходится искать свидетельства и доказательства вредоносной активности. В типичной ситуации аналитик сталкивается с физическим диском или его образом, содержащим множество артефактов операционной системы, которые не всегда легко интерпретировать. Иногда стандартный набор артефактов может не обеспечить полный ответ на вопрос: «Что произошло в системе?». Например, если настройки аудита неправильно настроены, то необходимые события в журналах безопасности могут не записаться, или злоумышленник может успеть очистить наиболее популярные артефакты, или данные в процессе сбора или передачи могут повредиться.

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

Подробнее
Всего голосов 7: ↑7 и ↓0+8
Комментарии1

WebTTY: Доступ по SSH через браузер, даже там, где порт закрыт

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров16K

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

Одним из таких решений является WebTTY — мощный инструмент, который обеспечивает доступ к терминалу удаленного сервера через веб-браузер, используя технологию WebRTC и веб-технологии для создания безопасного и зашифрованного соединения. Это решение позволяет обойти ограничения, такие как заблокированные стандартные SSH-порты, и предоставляет простой и удобный способ взаимодействия с командной строкой сервера без необходимости открытия дополнительных портов, что особенно полезно в средах с жесткими сетевыми ограничениями или за фаерволами.

В этой статье мы рассмотрим, как WebTTY может быть использован для доступа к SSH-портам через браузер, даже если они закрыты, как его можно настроить и когда его можно использовать. Основана цель данного материала – познакомить вас с таким вариантом подключения и показать, как использовать данный инструмент. Надеюсь, что представленные примеры и объяснения помогут вам оценить его возможности и найти полезные применения в вашей практике.

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

Telegram bot, взаимодействующий с API OpenAI без проксирования. Разработка на Python

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров8.7K

Создадим бота, использующего API OpenAI. И так развернем его на сервере, чтобы не настраивать проксирование запросов к API OpenAI (который заблокирован для пользователей из России), и не использовать иностранные VPS.

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

Serverless telegram бот в Excel

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров8.8K

Это история про камингаут телеграм‑бота, у которого нет VDS и он бомжует: одной ногой — в гугло‑облаке, другой — в Excel.

Да, жизнь бывает сложнее учебника по ботоводству. Например, для целей ботоводства гугло‑облако все еще может выглядеть надежнее, проще и удобнее VDS. И если в мире людей не зазорно бомжевать по съемным хатам, то кто осудит бомжебота за отказ от VDS?

Не станем особо заморачиваться на сравнении преимуществ и недостатков хостинга с и без VDS. Только напомним не только лишь для школьников, что у гугло‑сервисов все еще весомые бесплатные лимиты и их датацентрам пока еще не грозят негативные последствия того‑чего‑нельзя‑называть.

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

User-боты в Telegram: Простая автоматизация с Python (Pyrogram). Первые шаги

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров16K

Давно хотел рассказать вам о такой интересной теме, как User-боты в Telegram, и, наконец-то, мои руки дошли до этого. Сегодня мы разберемся, что это за зверь такой, как его приручить, и, самое главное, познакомимся с мощным Python фреймворком для работы с юзер-ботами – Pyrogram.

Итак, что же такое User-бот в Telegram? Проще говоря, это бот, который ведет себя как обычный пользователь, используя ваш личный аккаунт, а не официальный API Telegram. Такой бот может участвовать в чатах, отправлять и получать сообщения, управлять группами и каналами, делать рассылки и даже выполнять административные задачи.

Это как если бы вы сами сидели за компьютером или телефоном, но все действия выполняет запрограммированный бот.

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

Читать далее
Всего голосов 9: ↑9 и ↓0+11
Комментарии32
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность