Перейти к содержимому
Оригинал
宝玉· @dotey · X·· 4 часа назадИзбранное редакциейОценка ИИ74
Краткий обзор ИИ

Открытый проект REA (Reverse Engineer Anything) подключает инструменты обратной разработки к таким ИИ-агентам для разработки, как Claude Code, Codex, Cursor, Gemini CLI, Grok Build, — в виде сервиса MCP. Установка занимает одну строку: npx rea-agents setup. Перед изменением конфигурации сначала создаётся резервная копия и запрашивается подтверждение пользователя.

Почему это важно

REA подключает инструменты обратной разработки к таким агентам, как Claude Code, Codex, Cursor, и приводит три проверяемых примера восстановления, чтобы можно было оценить, применим ли такой анализ в собственном проекте.

Полный текст · Перевод ИИ

REA: поручаем ИИ-агенту реверс-инжиниринг софта без исходного кода

Открытый проект REA (Reverse Engineer Anything) подключил инструменты обратного анализа к ИИ-агентам для разработки — таким как Claude Code, Codex и Cursor. Если в чужом приложении понравилась какая-то полезная функция, можно поручить агенту разобрать эту программу, объяснить, как она реализована, подкрепить это доказательствами и написать похожую функцию в своём проекте. Обратный анализ — это когда исходного кода нет, а нужно восстановить, как устроена скомпилированная программа.

REA сам по себе — это MCP-сервис. MCP — это универсальный интерфейс, через который ИИ-агенты вызывают внешние инструменты: подключив его, агент прямо в диалоге сможет вызывать аналитические функции REA. Для установки нужна одна команда — npx rea-agents setup. Она регистрирует REA в таких агентах, как Claude Code, Codex, Cursor, Gemini CLI, Grok Build, а перед изменением конфигурации сначала делает резервную копию и просит подтверждения. Если агент не нужен, можно запускать команды прямо в терминале.

Анализировать можно многое. Нативные программы — те, что компилируются напрямую в машинный код — разбирают с помощью дизассемблеров Hopper, Ghidra или IDA: они восстанавливают машинный код в ассемблер и псевдокод, близкий к C. Приложения на Electron — десктопные программы, сделанные на веб-технологиях, например Notion — можно просто распаковать из ASAR-архива внутри установочного пакета и разобраться с модулями и межпроцессным взаимодействием, без дополнительных инструментов. Кроме того, поддерживаются .NET-программы, Android APK, прошивки, сайты, записи сетевого трафика, байткод смарт-контрактов Ethereum, а также запись поведения программы во время выполнения на Linux и macOS.

Анализ идёт локально: REA не загружает целевую программу, но результаты анализа уходят провайдеру модели, стоящей за ИИ-агентом. Как он распорядится данными — смотрите в политике конкретного сервиса.

В проекте три примера. Первый — классическая игра-арканоид DX-Ball: начиная с вызова воспроизведения звукового эффекта и до функции расчёта левого и правого каналов по положению мяча, неполный псевдокод восстановлен в C-код; результаты 3205 наборов тестов совпали с оригиналом, а скомпилированные 63 байт оказались в точности такими же, как в оригинале. Второй — десктопная версия Notion: прослежен весь путь копирования и вставки — от интерфейса через предзагрузочные скрипты и межпроцессное взаимодействие до главного процесса. Третий — игра «Touhou» (TH4) для старого японского компьютера PC-98: из 16 инструкций восстановлен алгоритм расчёта угла кольца пуль в данмаку.

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

В README указано, что у проекта уже 50000 звёзд на GitHub. Пакет npm впервые опубликовали в июле этого года, а последняя версия 6.3.0 вышла только сегодня.

Перед использованием учтите два момента. Проект заявляет, что поддерживает только легальные исследования в области обратного инжиниринга, а ответственность за получение разрешений и соблюдение норм лежит на самом пользователе: реверс чужого ПО может нарушать пользовательское соглашение или законы об авторском праве. Кроме того, проект заявляет, что никогда не выпускал и не поддерживал никакие криптовалюты, и любые токены, использующие имя REA, к нему отношения не имеют.

https://github.com/morluto/rea

Источник: 宝玉 · x.com