Все потоки
Поиск
Написать публикацию
Обновить
177.18

Реверс-инжиниринг *

Расковырять и понять как работает

Сначала показывать
Порог рейтинга
Уровень сложности

Технологии информационного моделирования на стадии эксплуатации промышленного объекта

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

Всем привет! Меня зовут Настя и я инженер-конструктор в компании Bimeister. В данной статье хочу поделиться нашим опытом внедрения технологий информационного моделирования (ТИМ) на стадии эксплуатации в живых проектах цифровизации.

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

Читать далее

Виниловый проигрыватель «Вега ЭП-110»

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

В моду возвращаются виниловые пластинки. И в итоге, да, я поддался этой моде и привёз из деревни уже достаточно «уставший» винил — проигрыватель.

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

Поехали!

Axiom: Инвертор для двигателя мощностью более 100 кВт

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

Впервые в истории открытый проект Axiom даёт возможность точно управлять мощными 3-фазными двигателями. Сейчас это как никогда актуально. Миллиарды тратятся на приближение эры электромобилей.

Самое приятное, что аппаратное обеспечение и прошивка имеют открытый исходный код! 

Читать далее

Старый софт, LPT и современное железо

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

В своей прошлой статье я не был полностью честен. Перед тем, как получить рабочее устройство, я много раз проверял как мой код работает, перезаписывая его на многоразовую флеш AT28С64. И с самого начала знал что отлаживаться придется на железе, а потому встал вопрос программатора параллельных EEPROM.

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

Однако, у отца оказался программатор Omega. На самом деле это не совсем программатор, это базовый блок на основе которого, теоретически, можно собрать множество разных устройств используя разные адаптеры, но один из адаптеров (имеющихся в наличии) — это универсальный программатор Orange. Все это разработки cnc‑lab.com, там же можно найти описание этого железа http://cnc‑lab.com/omega.htm . Но есть одна небольшая загвоздка: у меня современные компьютеры с Windows 10 и Windows 11, а этот программатор использует LPT. И нужно было как‑то из этой ситуации выходить.

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

Читать далее

Разбор бинарных форматов. Часть 2

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

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

Читать далее

Исследование прошивки Mi Router 4A Giga Version. Получение интерфейса командной оболочки Linux

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

Приветствую вас, дорогие читатели! Сегодня я хотел бы рассказать вам о том, как я получил интерфейс командной оболочки Linux у wi-fi роутера Mi Router 4A Giga Version:

Читать далее

Разбор бинарных форматов. Часть 1

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

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

Читать далее

Форензика на НТО по информационной безопасности

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

Привет! Не так давно отгремела НТО по информационной безопасности для школьников. Для опытных участников CTF она не вызовет трудностей, однако для начинающих таски выдались более чем содержательные – поэтому хотелось бы ими поделиться, разобрать некоторые, а также по ходу дела порассуждать на тему формата. Если интересно – добро пожаловать под кат!

Погнали!

Создаем байт-код для JVM без компилятора

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

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

Читать далее

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

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


Всем привет! Меня зовут Марат и я занимаюсь разработкой высокодетальных 3D-моделей оборудования в компании Bimeister.

Расскажу про то, как мы создаем огромную базу 3D-моделей для промышленных предприятий и какие инструменты при этом используем.

Итак, сейчас у нас стоит задача разработать без малого 5000 детальных 3D-моделей оборудования, функционирующего в составе действующего нефтехимического промышленного комплекса. В дальнейшем, эти цифровые модели будут использоваться в нашей системе Bimeister, в составе эксплуатационной информационной модели предприятия.

Мы выбрали не самый легкий путь.

Читать далее

Реверс инжиниринг для самых маленьких на практике

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

Скомпилированное приложение является «чёрным ящиком». Чтобы туда заглянуть, восстановить алгоритм работы применяется реверс‑инжиниринг. Это непростой навык с высоким порогом входа. В статье мы попробуем взять дизассемблер, несложную задачку и пойдём в бой. Материал будет полезен тем, кому хочется с чего-то начать и погрузиться в тему реверса.

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

Читать далее

Извлекаем прошивку GameBoy по фотографии чипа

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

Привет всем!

Вам предлагается маленький быстрый туториал по восстановлению прошивки GameBoy. Начнём с фотографий, изображающих прошивку металлическими соединениями (mask ROM) от Nintendo GameBoy, и на выходе получим файл ROM, который можно будет дизассемблировать или эмулировать.

Гаджет GameBoy для этого хорошо подходит, поскольку в нём используется так  называемая «постоянная память, программируемая перемычками» (Via ROM). Это означает, что отдельные биты кодируются металлическими перемычками между слоями, и эти биты можно считывать с поверхности чипа. Кроме того, сама прошивка достаточно невелика, и поэтому я смог включить её в репозиторий на Github, тем самым сэкономив вам недели времени, которые вы могли бы потратить на исправление мелких побитовых ошибок.

Привет из Ноксвилла,

— Трэвис Гудспид

Читать далее

Разбираем протокол Dyson. Интеграция с Home Assistant

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

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

В моём случае случилось так, что был приобретён очиститель воздуха Dyson Air purifier TP07, который должен стоять на страже чистоты воздуха в одной из комнат. Он исправно несёт свою службу, вот, только просто подключить его к Home Assistant (HA) не представляется возможным. В купленной модели отсутствует модуль Wi-fi. Что же делать? Будем ревёрсить. В данной статье будет разобран формат диагностических данных очистителя Dyson, которые можно считать и направить в HA.

Читать далее

Ближайшие события

Анализ STL моделей с использованием Python

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

В программных продуктах для работы с STL, таких как Geomatix Design X, Wrap, NX и др., функционал обязательно включает сегментацию STL модели на отдельные грани. В свободно распространяемом ПО, однако, инструменты для сегментации зачастую отсутствуют. В данной статье хочу рассказать о реализованном мной на Python алгоритме разбиения STL на отдельные грани.

Читать далее

Использование метода супер разрешения (Super Resolution) при 3d сканировании или можно ли прыгнуть выше головы

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

Как отсканировать в 3D крыло овода с разрешением 10 микрон на недорогом оборудовании. Используется метод Super Resolution - увеличение разрешения за счёт обработки большого количества сканов, снятых с разных ракурсов.

Читать далее

Разбираем bluetooth протокол RGB лампы

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

В данной статье рассмотрим опыт реверс-инжиниринга bluetooth протокола, при помощи которого android приложение управляет цветами и эффектами работы закатной лампы. В результате будет написан небольшой генератор шфированных AES'ом сообщений на C#.

Читать далее

Настройка звукового сигнала запуска на iMac G3 1999 г. в

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

Чтобы изменить звук запуска iMac Slot Loading (модель PowerMac2,1), достаточно старой советской... нужно немного попотеть: изучить ЯП Forth, cделать реверс-инжиниринг пакета обновления, найти и расшифровать файлы, в которых записан звук, подделать контрольную сумму файлов, которые будут загружаться на компьютер. Впрочем, давайте обо всё по порядку.

Читать далее

«Хакер»: Используем отладчик для анализа 64-разрядных программ в Windows

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

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

Читать далее

Как я заставил работать Netflix на Asahi Linux

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

Год назад я купил макбук. Полгода назад macOS на нем сказала "ой, все", и он окирпичился. Я решил не переустанавливать систему, а попробовать Asahi Linux, и пока что не пожалел об этом. Хотя одна вещь все же раздражала — не работали Netflix и официальное приложение Spotify.

Если честно, Netflix мне не очень-то и нужен — у BitTorrent сейчас намного лучше UX. Но к Spotify я очень привязался, и предпочитаю интерфейс именно у официального клиента, хотя многим это и покажется странным. Но официального клиента Spotify для Linux на архитектуре aarch64 пока что не существует.

Итак, мы начинаем наш челлендж попробуй не нарушить DMCA 2023! Наша задача — понять, как смотреть Netflix на Asahi Linux, не обходя и не ломая DRM. (Без этого условия решения уместится в 280 знаков).

Читать далее

Обратное проектирование дисплея e-ink

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


Этот ценник, но чёрно-белый, без красного цвета


Одному из членов нашего сообщества удалось приобрести на eBay несколько дисплеев e-ink. Эти дисплеи используют в магазинах, где на них указывается цена товаров, которые можно купить. По сравнению с бумажными ценниками такой дисплей имеет два ключевых преимущества: текст на e-ink дисплеях может обновляться автоматически и может иметь более замысловатую графику. От обычных ЖК-экранов e-ink отличается тем, что энергия расходуется только при изменении содержимого. Это позволяет оснастить ценники батареей небольшой ёмкости и работать без замены батареи несколько лет.

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

Вклад авторов