- Add Proof of Concept (PoC) for executing JavaScript scripts fetched remotely. - Integrate `Black::GetProfileInfoScript` logic into a JS version with fallback to C++ on errors. - Extend `ScreenXmlParser` with additional JS-to-C++ bridge methods. - Update `config.ini` for scripting configuration. - Ensure scripts are securely fetched with SHA-256 validation and use an atomic caching mechanism. - Add developer tools for debugging JS scripts and enable easier script updates without app re-deployment.
2.0 KiB
2.0 KiB
ARCDeskProject — Документация
Десктопное Qt6/C++ приложение для мониторинга и автоматизации Android банковских приложений через ADB.
Оглавление
Архитектура приложения
| Раздел | Описание |
|---|---|
| События и задачи | Очередь задач: получение из API, хранение в БД, выполнение скриптов |
| Удалённые JS-скрипты | Scripting-слой: обновляемые JS-версии банковских скриптов через QJSEngine |
API Backend (Adb Core Backend v1.0.0)
| Раздел | Описание |
|---|---|
| Авторизация | Логин, refresh token, хранение токенов |
| Profile & Material | Банковские профили и карты (материалы) |
| Device & Desktop | Регистрация десктопов и Android-устройств, скриншоты |
| Task | Получение задач, отправка результатов |
| NetworkService | Полная карта всех HTTP-вызовов приложения |
Общая архитектура приложения
MainWindow (Qt6 GUI)
├── DeviceScreener (QThread) — опрос ADB устройств, скриншоты
├── EventHandler (QThread) — обработка задач, запуск скриптов
└── NetworkService (QThread) — синхронизация с REST API (localhost:9999/api/v1/)
Скрипты: android/{rshb,birbank,toss,ozon,ziraat}/
Database: SQLite — DatabaseManager (singleton) + DAO-слой
Технологии
- Qt6 — Widgets, Network, Sql, Xml
- C++17, SQLite, ADB, Tesseract OCR
- CMake