Eleven

Eleven

Застосунок для реверс-інженерії, побудований навколо агентів, для macOS.

[English](README.md) · [简体中文](README_zh.md) · [繁體中文](README_zh-TW.md) · [日本語](README_ja.md) · [한국어](README_ko.md) · [Türkçe](README_tr.md) · [Русский](README_ru.md) · [Tiếng Việt](README_vi.md) · [ไทย](README_th.md) · [Deutsch](README_de.md) · [Español](README_es.md) · [Français](README_fr.md) · **Українська** · [Polski](README_pl.md) · [Português (Brasil)](README_pt-BR.md) · [العربية](README_ar.md) · [فارسی](README_fa.md) · [Bahasa Indonesia](README_id.md) · [Italiano](README_it.md)

Головний екран Eleven

Eleven це застосунок для реверс-інженерії, побудований навколо агентів. Додайте застосунок, бінарний файл, шейдер або модель і запитайте, що він робить. Будь-який агент, який підтримує [Agent Client Protocol](https://agentclientprotocol.com), може читати код, переходити за посиланнями, перейменовувати функції, залишати нотатки та пропонувати патчі, поки ви спостерігаєте й ухвалюєте зміни в тому самому вікні. Аналіз виконується в [Ghidra](https://ghidra-sre.org) через [REA](https://github.com/morluto/rea). Інтерфейс написано на React і рендериться нативно на GPUI за допомогою [GPUIX](https://www.npmjs.com/package/@gpuix/react). ## Можливості - **Власний агент.** Aster, Claude, Codex, Gemini, Cursor, Copilot, OpenCode і будь-який інший агент ACP. Запускайте кілька в одному проєкті, кожен у власному чаті. - **Агенти керують вікном.** Eleven надає власні інструменти MCP, тож агент може відкрити функцію, змінити подання, перейменувати, додати нотатки та запропонувати патчі. - **Контроль залишається у вас.** Кожна зміна, ваша або агента, записується разом з автором і може бути скасована. Байтові патчі від агентів надходять як пропозиції, які ви приймаєте або відхиляєте. - **Mach-O, ELF і PE.** Функції, псевдокод, асемблер, граф потоку керування, перехресні посилання, рядки, сегменти та шістнадцятковий код. - **Проєкти.** Проєкт це один застосунок або бінарний файл. Його чати, перейменування, закладки, нотатки та патчі зберігаються після повторного відкриття. - **Патчі.** Редагуйте байти за адресою та записуйте пропатчену копію. Оригінал ніколи не змінюється. - **Порівняння.** Порівнюйте дві збірки за функціями та дивіться, що змінилося в псевдокоді. - **Налагодження.** Запускайте програму під LLDB, ставте точку зупинки на функції, яку переглядаєте, виконуйте кроки та читайте локальні змінні. - **Шейдери, моделі та профілі GPU.** Шейдери Metal і файли моделей ML відкриваються в робочому середовищі та пов'язані з кодом, який їх завантажує. Профілюйте за допомогою Instruments. - **Playbooks.** Вбудовані навички, як-от перший огляд, найменування функцій, трасування функції та карта мережі, працюють з будь-яким агентом. - **Експорт.** Інвентаризація псевдокоду, асемблера та класів Objective-C. ## Встановлення Eleven працює на macOS 14 або новішої версії на Apple Silicon. ```sh curl -fsSL https://raw.githubusercontent.com/Zfinix/eleven/main/install.sh | sh ``` Це встановлює `Eleven.app` у `/Applications`. Збірки ще не нотаризовані, тому інсталятор сам знімає карантин завантаження. Eleven також потребує: - **Ghidra 12.x.** Завантажте її з [ghidra-sre.org](https://ghidra-sre.org) і розпакуйте в `~/.local/share` або `~/Applications`, чи задайте `GHIDRA_INSTALL_DIR`. - **JDK, 21 або новіший.** `brew install openjdk@21` підійде. Eleven знаходить його самостійно. - **Агент.** Виберіть його під час першого запуску. Eleven встановлює адаптери ACP за вас, коли вони потрібні. ## Збірка з вихідного коду Потрібні [Bun](https://bun.sh), Node 20 або новіший, Ghidra і JDK, як зазначено вище, а також копія REA 6.x поряд із цим репозиторієм (`../rea`) або `ELEVEN_REA`, що вказує на неї. ```sh git clone https://github.com/Zfinix/eleven git clone https://github.com/Zfinix/rea cd eleven/app bun install bun run dev ``` | Команда | Що вона робить | | --- | --- | | `bun run dev [file]` | Запускає застосунок з гарячим перезавантаженням і за потреби відкриває файл | | `bunx tsc --noEmit --noUnusedLocals` | Перевіряє типи в застосунку, тестах і скриптах | | `./script/test` | Запускає набір тестів по одному файлу за раз | | `./script/bundle-macos` | Збирає `build/Eleven.app` | | `./script/package` | Збирає, підписує та пакує реліз | ## Середовище Усі вони необов'язкові. Eleven самостійно знаходить звичайні місця встановлення. | Змінна | Призначення | | --- | --- | | `GHIDRA_INSTALL_DIR` | Яку інсталяцію Ghidra використовувати | | `JAVA_HOME` | JDK для запуску Ghidra | | `ELEVEN_REA` | REA замість вбудованої | | `ELEVEN_LLDB_DAP` | `lldb-dap` для налагоджувача | | `ELEVEN_SUPPORT` | Де Eleven зберігає проєкти й налаштування | | `ELEVEN_SIGN_IDENTITY` | Ідентичність підписування коду для `./script/package` | ## Документація - [Інструменти MCP](docs/mcp-tools.md): усі інструменти, доступні агентам у Eleven, що кожен приймає та повертає, дозволи й приватність. - [Навички](docs/skills.md): вбудовані сценарії та як написати власні. ## Структура репозиторію - `app/` це застосунок: React і TypeScript на GPUIX. - `crates/` це ранній прототип на Rust, збережений для довідки. Застосунок його не використовує. - `launch/` це відео запуску, створене в Remotion. - `install.sh` це інсталятор. Дивіться [AGENTS.md](AGENTS.md), щоб дізнатися, як організовано код і яких правил він дотримується. ## Ліцензія Eleven випущено за [Apache License 2.0](LICENSE). Сторонній код, що входить до складу, перелічено в [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). Логотипи агентів належать їхнім власникам і використовуються лише для їх позначення.