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

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

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

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

Восставший из коррозии: реинкарнация одного «роботрона»

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

Вместо двух десятков мелких корпусов RAM и ROM я поставил по одной микросхеме памяти каждого типа, так как теперь это не дефицит. Особый интерес представлял последовательный порт RS-232 — на оригинальной плате он не был распаян, хотя функционал работы с ним в прошивке был! А значит, очень высок шанс, что интерфейс заведется.

Проект замерзает еще на пару лет, пока один из подписчиков, тов. Folk, не взялся за отрисовку платы в KiCAD. Месяц неспешной работы, и к январю 2022 года рождается она — новая плата для «Роботрона». Разрабатывалась плата один в один по габаритам старой, даже основные детали были на тех же самых местах. И тут я допустил три стратегических просчета...

Полная история восстановления и даже апгрейда Robotron S6130в статье Артёма Кашканова.

Теги:
+1
Комментарии0

Пользователь Reddit рассказал, что проанализировал с помощью нейросети Claude 3.7 EXE-файл на Visual Basic 27-летней давности и смог с помощью простого промта провести реверс-инжиниринг программы так, чтобы нейросеть переписала её на Python.

Это была старая программа на Visual Basic 4, написанная в 1997 году. Запуск exe-файла VB4 в 2025 году может стать настоящим кошмаром совместимости, требующим поиска устаревших DLL и сложных обходных путей.

Пользователь загрузил файл exe в Claude 3.7 с таким запросом: «Можете ли вы сказать мне, как запустить этот файл? Было бы неплохо преобразовать его в Python».

Claude 3.7 проанализировала двоичный файл, извлекла токены VB (VB не является языком, полностью компилируемым в машинный код, что делает эту задачу намного проще, чем что‑то из C/C++), идентифицировала элементы пользовательского интерфейса и даже извлекла звуковые файлы.

Затем нейросеть сгенерировала полный эквивалент приложения на Python с помощью Pygame. По словам автора, код заработал с первой попытки, и весь процесс занял менее пяти минут.

Теги:
+7
Комментарии1

Что поменяется после принятия закона о белых хакерах

Коротко:

Пользователи, которые приобрели ПО, смогут проводить пентесты для поиска ошибок и уязвимостей. Теперь это не будет нарушением авторского права. Правда, об обнаруженных в софте недостатках придется сообщать его владельцам в течение пяти рабочих дней, если их данные есть в открытом доступе. А вот взять и рассказать о недоработках, например, на Хабре, просто так нельзя.

Чуть подробнее:

Текущее законодательство разрешает пользователям изучать и менять ПО, чтобы понять, как оно работает, или исправить ошибки. Однако это разрешение не распространяется на тестирование безопасности. Например, чтобы провести пентест при аттестации объектов инфраструктуры, нужно привлекать лицензиатов ФСТЭК, но даже они сталкиваются с рядом рисков из-за актуальных формулировок.

По мнению экспертов в сфере ИБ, в текущем виде законопроект легализует «домашний хакинг». При этом он оставит в серой зоне тестирование облачных решений, а также, например, сайтов и порталов заказчика, если они расположены не на собственной инфраструктуре.

Пока законопроект принят только в первом чтении. До вступления в силу в нем могут произойти изменения. Подробности читайте в Академии Selectel.

Теги:
Всего голосов 7: ↑7 и ↓0+12
Комментарии0

Есть (были) такие термопринтеры Paperang. Вот только оказалось, что под капотом там несколько протоколов. Изначально пакеты обрамлялись байтами 0x02 ... 0x03.

Насчитал еще три варианта: с первыми байтами 0x07 , 0xA5 и вариант общения по IPP.

Разбирался с Paperang P2.

{0xA5, 0x01} - префик

два байта длины

полезная нагрузка

crc32(4 байта)

0x5A - суффикс

{5,0x19,1,0,0}

5 - команда относится к термопечати

25 - начало передачи растра изображения

третий байт может быть 1/2/3 - АХЗ. В респонсе обычно 2. В данных, которые посылаются на принтер 1 (из андроид приложения) или 3 ( драйвера под винду)

int16(0) - длина аргументов

Сам растер засылается по типу матрешки. (тип,длина,((тип,длина,данные),(тип,длина,((тип,длина,(данные))))))

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0