1.7.8559
July - New Stable
Новый релиз - 1.8 (RU/EN)
Что же у нас нового?
Mini-apps aka Мини-приложения на базе EyeAuras
Последние несколько месяцев работа в основном велась над C# скриптингом, там было множество изменений, в основном направленных на упрощение разработки и совместимость с разными NuGet-пакетами. Направление разработки постепенно смещается в сторону улучшения пользовательского опыта при работе со скриптами, хочется, чтобы было максимально просто и легко создавать новые мини-приложения, которые будут делать что-то полезное, будь то какая-то мелкая автоматизация или полноценный бот. Под капотом они будут использовать обширные возможности EyeAuras, ну а как это выглядит снаружи - это ВАШ выбор.
Для этого уже есть целый набор функционала, такой как:
- Паки - возможность запаковать ваше приложение в портативный ZIP-архив -- Сюда входят такие вещи как возможность встроенный механизм обновлений, откатов, сохранения настроек и т.п. Все то, что годами добавлялось в EyeAuras доступно и вам.
- Защита скриптов - код, который вы написали будет защищен от сторонних глаз -- Критично для большинства платных приложений. И вам самому не придется даже задумываться о том, как же это работает под капотом.
- Саблицензии - если ваше мини-приложение не бесплатно, вы можете легко прикрутить систему саб-лицензий, которые будут использовать инфраструктуру EyeAuras для оплаты/отслеживания лицензий, а доход получать будете вы
Однако это еще не все - в этот список вскоре добавится и поддержка оплаты криптовалютами, и полное скрытие интерфейса EyeAuras, да и в целом многое, многое другое. Задача максимально сократить время, которое проходит от зарождения идеи до момента, когда у счастливых пользователей запущена ваше мини-приложение.
Я расчитываю, что именно мини-приложения смогут стать основным средством финансирования всех других разработок в EyeAuras(о них ниже). Время покажет насколько этот расчет верен.
А что будет с деревьями поведения, макросами, аурами?
Ничего плохого - да, ближайшие месяцы скорее всего будут потрачены на скрипты, однако в планах:
Полный перевод EyeAuras на новый UI-фреймворк, включая ауры, триггеры и действия
Вот эти подвисания при переключении между аурами уйдут наконец-то в закат. И загрузка ускорится примерно на 3-5 секунд. Переход займет примерно год.
Добавление еще одного средства автоматизации - Blueprints aka Чертежи
У нас уже есть Ауры, Макросы, Деревья поведения и Скрипты. Все они хороши для решения каких-то отдельных задач: деревья для создания полноценных ботов, ауры для маленьких простых автоматизаций по типу авто-банок, макросы для автоматизации четко заданной последовательности действий. Ну а скрипты - универсальный молоток, для которого всё вокруг - гвозди. На этом этапе нет проблемы, которую было бы нельзя решить инструментами, которые уже имеются в наличии.
Однако! Всегда есть куда расти. Если вы знакомы с Unreal Engine, то наверняка уже поняли о чем речь. Есть желание совместить то, что уже реализовано в Аурах и Деревьях поведения и получить еще одно средство визуального программирования - Blueprints. Основная идея в том, чтобы позволить пользователям на одном полотне, схожем с тем, где вы сейчас строите Деревья поведения, размещать еще и Ауры. И настраивать реакции на срабатывания этих аур. И тогда у вас будет в одном месте собрано все-все-все, что нужно для построения логики. Одновременно у вас перед глазами и какие-то события, и последовательности действий, которые произойдут, и все стандартные вещи типа циклов. При этом никто не мешает вызывать и деревья поведения/макросы прямо из чертежей.
Эта разработка займет многие месяцы, однако первые наработки я думаю мы увидим уже в этом году.

EyeAuras SDK (NuGet package)
Это логическое продолжение идеи с мини-приложениями. Однако во главу ставится ваша программа, а EyeAuras превращается просто в здоровенный набор инструментов, которыми вы можете пользоваться. Хотите захватывать экран? Пожалуйста. Симулировать ввод одним из десятка методов? Тоже можно. А может быть хотите встроить только C# скрипты и дать возможность пользователям писать свой код? Проверенная годами инфраструктура скриптов к вашим услугам, они уже несколько лет служат верой и правдой. Абсолютно весь функционал, который присутствует в EyeAuras, без исключений, доступен в виде подключаемых модулей.
Все технические моменты уже решены и уже есть первые версии SDK, которые можно просто подключить к C# программе как NuGet пакет. Осталось решить вопросы с лицензированием и распространиением. SDK будет платным - вы единожды приобретаете его и дальше используете как хотите и сколько хотите, никакой завязки на инфраструктуру EyeAuras не будет, это полностью автономный продукт.
Постараюсь опубликовать все детали во второй половине года.
Интеграция с DMA / FPGA EN / RU
📎 Больше информации, примеры и скрипты — здесь
DMA (Direct Memory Access) — это технология, которая позволяет считывать или записывать данные напрямую в оперативную память компьютера, минуя CPU и операционную систему. Это делает возможным доступ к памяти любого процесса, даже если он защищён античитами и механизмами вроде Kernel Patch Protection (KPP), Hypervisor Protected Code Integrity (HVCI), User-mode hooks и т.д.
Что это даёт?
С DMA ты получаешь:
- Полный доступ ко всей памяти системы (включая ядро и защищённые процессы) - можно как читать, так и писать
- Возможность анализа античит-защищённых игр без риска быть замеченным
- Поддержку скриптов на C# поверх железа — ты работаешь с памятью так же, как и с обычным
ReadProcessMemory, но за кулисами идёт работа с реальной шиной PCIe. И всё это теперь доступно в привычном C#-скриптинге EyeAuras — без изучения HDL, PCIe, виртуализации или драйверов.
Статус и планы
- ✅ Базовое чтение/запись с DMA
- ✅ Поддержка распознавания модулей (EXE/DLL) по виртуальным адресам
- ✅ Интеграция с
IMemoryиIProcessAPI - ⏳ Расширенная отладка и диагностика - важно, когда что-то идет не так или кривая прошивка устройства (в разработке)
- ⏳ Ускорение операций чтения/записи
- ⏳ Возможность делать DLL-inject в целевой процесс через DMA-плату
Интеграция с ImGui EN / RU
Начата работа над нативной интеграцией с ImGui — это альтернативный способ создания пользовательских интерфейсов в EyeAuras, дополняющий существующие Blazor-компоненты.
ImGui (или "Immediate Mode GUI") — это легковесная и быстрая UI-библиотека, изначально созданная для инструментов в игровых движках. Она используется в десятках AAA-игр и игровых редакторов благодаря своей простоте, минимальной инициализации и высокой отзывчивости. ImGui ориентирован не на декларативный подход, как WPF или HTML, а на "императивный" — UI пересоздаётся каждый кадр, что очень удобно для визуализации отладочной информации и каких-то простеньких интерфейсов.
Для EyeAuras это значит:
- Максимально быстрый рендеринг интерфейса без необходимости собирать HTML/DOM/JS.
- Лёгкость для начинающих: базовая ImGui-панель может быть создана буквально из 10 строк кода.
- Возможность быстро визуализировать состояние бота: отрисовать текст, чекбоксы, кнопки, графики, отладочные метки, и всё это — без отдельной компиляции проекта.
- Подходит для создания мини-приложений в одном
.csx-файле, где всё — и логика, и UI — содержится в одном месте.
Вот пример(этот код разобран в гайде EN / RU):
AddNewExtension<ImGuiContainerExtensions>();
var osd = GetService<IImGuiExperimentalApi>()
.AddTo(ExecutionAnchors);
osd.AddRenderer(() =>
{
ImGui.Begin("My UI");
ImGui.Text("Control window flags and interaction behavior.");
var isActive = Trigger.TriggerValue ?? false;
if (ImGui.Checkbox("Is Active", ref isActive))
{
Trigger.TriggerValue = isActive;
}
ImGui.SameLine();
ImGui.TextDisabled("(Gets/Sets whether Trigger is active or not)");
ImGui.Separator();
if (Trigger.IsActive == true)
{
ImGui.TextColored(new Vector4(0f, 1f, 0f, 1f), "Trigger is currently ACTIVE");
}
else
{
ImGui.TextColored(new Vector4(1f, 0f, 0f, 1f), "Trigger is currently INACTIVE");
}
ImGui.End();
});
Этот подход отлично подойдёт тем, кто только начинает программировать, но уже хочет быстро создавать удобные интерфейсы для автоматизации. Немного шаблонного кода всё же нужно для старта, но дальше — всё становится интуитивно и предсказуемо. А ChatGPT может помочь с примерами, генерацией UI и логикой.
Теперь стало возможным создание мини-приложений, полностью реализованных в одном .csx-файле — всё, включая UI, действия, логику и даже отладочные элементы.

Аппаратный симулятор ввода — Usb2kbd EN / RU
Usb2Kbd — это эмулятор аппаратного ввода, поддерживается в EyeAuras с примерно 2021 года.
Теперь вы можете собрать свой собственный примерно за 10$ — всё, что нужно, это небольшое устройство с AliExpress или Amazon.
Вот подробная пошаговая инструкция: на русском / на английском
Также была улучшена техническая часть и переработано окно настроек.

Behavior Trees/Macros
Behavior Trees/Macros — Action-узлы теперь с выходами
Теперь все action-узлы (Wait, MouseMove, KeyPress и др.) имеют Outputs.
Логика такая же, как у других узлов — связанный узел выполняется только если текущий завершился успешно.

Behavior Trees/Macros - Свойства по умолчанию
Теперь можно задать Target Window и Input Simulator отдельно для каждого дерева/макроса. Вы все еще можете использовать настраивать их и на уровне папки, как это было раньше, это расширение, а не замена функционала

C# Scripting - все улучшения, связанные со скриптами
C# Scripting - Ссылки на другие скрипты из BT/Macro
Теперь можно "ссылаться" из BT/Macro на другую ауру, содержащую C# Script действие — аналогично тому, как в программировании ссылаются на другой проект.
Все классы и типы из того скрипта становятся доступными для использования в BT.
Фича существовала давно, но была "спрятана", так как не была завершена и не работала так, как хотелось.

В чём польза?
Теперь можно иметь C#-класс, который анализирует игру (через Computer Vision или чтение памяти) и передаёт данные BehaviorTree для принятия решения.
Вместо захламления дерева проверками и 50 переменными, можно иметь один класс, например TheGame, который будет оборачивать логику получения данных.
Пример бота, который использует эту схему работы
Больше информации доступно по ссылке
C# Scripting — Razor: декларация пространства имён более не нужна
Проще будет показать на примере - предположим, вы создали новый компонент в скрипте.
UserComponent.razor
@namespace GameGrind
@inherits BlazorReactiveComponent
<!-- ваш Razor/HTML код -->
UserComponent.cs
namespace GameGrind;
public partial class UserComponent : BlazorReactiveComponent {
// какой-то код
}
Обратите внимание на случайное пространство имён (GameGrind), которое раньше автоматически вставлялось при добавлении нового Razor-компонента.
Это небольшая, но крайне неудобная особенность: такой код было трудно перекинуть в другой скрипт EyeAuras — нужно было либо менять namespace, либо жить с разными несвязанными пространствами имён в коде.
Теперь это необязательно — можно опускать декларацию namespace как в .razor, так и в .cs файлах. EyeAuras автоматически вставит нужное пространство имён при компиляции. Меньше кода = меньше головной боли.
C# Scripting — добавлены два новых примера с ML + OSD
Исправлена проблема, при которой ComputerVision API не мог загружать модели/изображения по HTTP-ссылкам, и созданы два примера:
Aim Trainer 2D ML Aimbot+ESP
В этом примере показано, как:
- найти окно по заголовку
- создать
ComputerVision, которую можно использовать для поиска изображений, ML, OCR и прочего - создать
SendInputдля эмуляции ввода - создать
OnScreenCanvasдля рисования на экране - найти объект с помощью предобученной ML-модели
- навести мышь и кликнуть по центру объекта
- нарисовать позицию текущего окна/объекта на экране через OSD
Фактически, этих трёх инструментов достаточно, чтобы собрать полноценного бота :) Всё уже есть из коробки.

Aim Trainer 2D ML Aimbot+ESP ImGui
Почти то же самое, что и выше, но используется ImGui — очень мощная библиотека для рисования, с помощью которой можно создавать как полноценные UI, так и отрисовывать боксы/текст/прочее прямо на экране.
Производительность
Обновление до .NET 8
.NET — это платформа, на которой построен EyeAuras. Влияет на всё: запуск, память, работа с данными.
.NET 8 выбран из-за новой системы управления памятью, которая по тестам превосходит все прошлые версии и которая пока находится в стадии тестирования внутри Microsoft, так что в самом современном .NET 10 ее все еще нет. EyeAuras всегда выбирал увеличенное потребление памяти для получения большей производительности, так что для нас быстрый механизм сбора памяти - не роскошь, а необходимость. В этой версии мы все еще используем СТАРЫЙ механизм, но как только будет понятно, что версия стабильна - мы включим новый. Это должно дать измеримые улучшения во всех местах программы.

Редактор свойств папок — переработка
Теперь он использует новый UI фреймворк - стал более быстрым и отзывчивым.
Старый редактор

Новый

Оптимизации Macros UI
Серьёзно переработан рендеринг макросов. Это незаметно для маленьких (меньше 50 нод) макросов, чем больше макрос - тем больше будет заметна разница. Это НЕ финальные изменения в этой части.
Перекрытие панелей — исправлено!
Выношу это в отдельный раздел, так как, вероятно, все пользователи EyeAuras хоть раз сталкивались с этой проблемой: изменяешь размер одной панели — и она начинает перекрывать другую. Самый частый случай — C# Action перекрывает Event Log.
Этот баг известен как проблема Airspace в WPF, и ему уже более 12 лет. Конкретно в UI-фреймворке Microsoft, который использует EyeAuras, он присутствует с июля 2020 ссылка

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

Почему это важно и вынесено в отдельный раздел?
Этот фикс важен не только потому, что теперь UI стал удобнее при низких разрешениях экрана, но и потому, что он блокировал переход на новый UI для триггеров и действий. Раньше единственным вариантом было переписать всё сразу — все триггеры и действия — и только потом выкатывать. Представьте себе: месяцы написания кода, который никто не может использовать до релиза, а багов потом было бы море.
Теперь же я могу переписывать всё постепенно. Работа всё ещё займёт месяцы, но теперь она хотя бы реально выполнима.
Bugfixes/Improvements
- [Crash] Исправлен крэш в редакторе папок
- [Overlays] Порядок Hide/Show — быстрее появляется
- [UI] Улучшен drag’n’drop в Macros/BTs - должен стать более отзывчивым и точным
- [Macros] Исправлен drag’n’drop в Repeat/IfThenElse
- [Macros] Клонирование теперь копирует всю иерархию, а не только выбранную ноду
- [BT] Починен PopOut - теперь он открывается корректно
- [UI] Улучшено поведение при перетаскивании и изменении размеров окон
- [DMA] Починен LeechCore init из-за которого не всегда инициализировалась плата DMA
- [DMA] Починена утечка FPGA-платы при Dispose- [BT] Исправлен баг с CTRL+A - в некоторых условиях он выделял больше, чем следует
- [BT] Добавлена параллельная загрузка узлов — ускоряет загрузку больших деревьев поведения и макросов
- [Scripting]
PoeShared.Blazor.Controlsтеперь доступен в скриптах по умолчанию, именно там лежатReactiveSection/ReactiveButton - [UI] Теперь в логах пишется, почему скрипт был прерван - к примеру, при активации главного окна программы
- [Scripting] Memory reading APIs - добавил
ReadManaged<T>, который медленнее, чемRead<T>, однако поддерживает аттрибутMarshalAs - [Scripting] Memory reading APIs - добавлены методы для работы с х86/x64 процессами. Обратите внимание, что сам ваш скрипта всегда x64
- [Scripting] Behavior Tree Editor теперь можно открывать из скриптов - теперь можно из ваших скриптов построить кастомную логику использования деревьев поведения, которые никак не привязаны к EyeAuras
- [Scripting] Починена загрузка HTTP-ссылок в CV API
- [Scripting]
ReadExportsтеперь возвращает читаемое имя вместе с тем, которое экспортируется, к примеру?StaticClass@UGameEngine@@SAPAVUClass@@XZ->public: static class UClass * __cdecl UGameEngine::StaticClass(void)