Skip to content

Releases: Mobilelegends74/XPL-EX

XPL-EX-NEXT v1.6.7

Choose a tag to compare

@github-actions github-actions released this 24 Oct 13:17

XPL-EX-NEXT v1.6.7

Изменения

  • Добавлена динамическая область действия LSPosed: после успешного назначения хуков XPL-EX запрашивает добавление выбранного приложения. LSPosed может потребовать подтверждение.
  • После удаления последнего назначения приложение удаляется из области действия. Если другие хуки остаются, область действия сохраняется.
  • System Framework остаётся включённым для работы моста настроек и базы данных.
  • Запросы ожидают подключения сервиса, не дублируются для уже добавленных приложений и обрабатывают позднее подтверждение после отключения хуков.
  • Ошибка запроса области действия не отменяет сохранённые назначения хуков.

Реализация HankAviator, PR #11. В релиз включён исходный код автора, проверенный на OnePlus 13R с LSPosed 2.2.1; экспериментальные доработки TEST-SCOPE2 не включены.

Установка и ограничения

  • Версия 1.6.7, versionCode 173. Пакет eu.faircode.xlua, API 101, bridge-протокол 1.5.5 и постоянная подпись сохранены.
  • Устанавливайте поверх предыдущей версии без удаления данных. После обновления перезагрузите устройство.
  • Если запрос добавления не появляется и LSPosed сообщает Blocked by user, удерживайте XPL-EX в списке модулей LSPosed и выберите Reset scope request setting, затем повторите назначение хуков.
  • Запросы относятся к текущему Android-профилю. Другие профили настраивайте из их экземпляра XPL-EX или вручную в LSPosed.
  • Изменение scope не выгружает уже установленные хуки из работающего процесса: перезапустите целевое приложение.

XPL-EX-NEXT v1.6.6

Choose a tag to compare

@github-actions github-actions released this 10 Oct 09:14

XPL-EX-NEXT v1.6.6

Релиз на основе проверенной пользователем сборки. Ниже — изменения относительно
опубликованной 1.6.5 (76b3901), включая последующие локальные исправления.

Верхняя панель и фильтрация

  • Исправлены одинаковая высота элементов «Все» / «Ограничить», выравнивание и прозрачность контейнера поверх списка.
  • Исправлены скрытие и раскрытие панели: отмена предыдущей анимации, отсутствие смещения по вертикали, закрытие popup при скрытии/уничтожении экрана.
  • Выбранная группа сохраняется по идентификатору при обновлении данных и восстановлении экрана. Ограничение недоступно для «Все» и отсутствующей группы.
  • Разделены представления выбранного пункта и строк popup; сохранены подсветка выбора и ограниченная высота меню.
  • Поиск теперь учитывает выбранный режим приложений, включает граничный UID 10000 и не зависит от регионального регистра символов.
  • Уточнено сопоставление групп с разрешениями камеры, видео, микрофона, местоположения, контактов, календаря, звонков и SMS. Проверки разрешений выполняются в фоне с кэшем; недоступный пакет не исключается ошибочно.

Стабильность списка и интерфейса

  • Устранены гонки при публикации списка, изменении раскрытых групп и обновлении результатов фильтра.
  • Исправлены сравнение отсутствующих подписей, equals/hashCode группы «Все» и накопление состояния раскрытия.
  • Повторно используется восстановленный Fragment; сохраняются группа, состояние панели и выбранный режим навигации.
  • Убираются отложенные обработчики при закрытии экрана и callbacks отменённых анимаций.
  • Отложенные операции используют выбранную группу и идентичность пакета/UID, а не устаревшую позицию строки.
  • Добавлены проверки недействительных позиций адаптера; сохранён накопленный признак изменений и фактическое значение переключателя автоостановки.
  • Исправлены измерения вложенных списков переменной высоты и удалена ссылка на отсутствующий элемент layout.
  • В выборе темы оставлены увеличенные, центрированные векторные иконки авто/светлой/тёмной темы. Геометрия сегментов, активное состояние и логика выбора сохранены; доступны описания для специальных возможностей.

Хуки и сохранение настроек

  • CPUINFO: устранены исключения при отсутствующем или пустом профиле CPU. Без профиля сохраняется исходное чтение; исправление не создаёт вымышленные данные подмены.
  • Батарея: устранено распаковывание null при незаданных параметрах. Сохраняются исходные значения там, где подмена не задана; исправлены расчёт/ограничение счётчика заряда и типы Integer/Long.
  • Массовое сохранение точечных настроек больше не перезапускает приложение для каждого поля: остановка выполняется один раз после успешных изменений и автоактивации, если включена пользователем.
  • Снимок сохраняемых значений создаётся до фоновой операции; результат сохранения не затирает более новый черновик.
  • Проверка пути базы данных использует путь файла, а не каталога. Данные не сбрасываются.
  • Штатное отсутствие результата запроса, назначений хуков и необязательного companion не выдаётся за ошибку выполнения хука.
  • Отсутствие UI-слушателя для невидимой группы обрабатывается штатно; исправлены валидация аргументов и удаление слушателя. Реальные исключения слушателей не подавляются.

Файлы и проверки доступа

  • Проверки пакетов и подписи используют полный Binder UID с учётом пользователя Android; прежние системные исключения сохранены.
  • Усилена проверка путей ZIP при распаковке; корректно обрабатываются вложенные и существующие каталоги.
  • Файловые потоки закрываются гарантированно; запись обрезает старое содержимое, чтение сохраняет переводы строк.

Проверки и ограничения

  • Добавлены регрессионные тесты фильтрации, групп, ZIP, CPU/батареи, сохранения и уведомлений; проверяется синтаксис всех 447 Lua-файлов.
  • В последних предоставленных логах Android/LSPosed сценария DevCheck нет подтверждённых новых ошибок XPL-EX: модуль загружается, первый хук выполняется, прежние исключения CPU/батареи и серии остановок не повторяются.
  • Это не доказывает корректность всех хуков и всех подменённых значений. Массовое сохранение не является атомарной транзакцией.
  • В проекте остаются ранее выявленные замечания Android Lint; релиз не заявляется полностью свободным от дефектов.
  • Подробности: аудит, DevCheck, реестр UI.

Версия и установка

  • Версия приложения и название: 1.6.6, versionCode 172 (ранее 171).
  • Пакет eu.faircode.xlua, протокол Bridge 1.5.5 и постоянная подпись сохранены.
  • Настройки API Xposed/LSPosed не изменены; R8 остаётся отключённым для динамических Lua/Xposed-вызовов.
  • APK устанавливается поверх версии с той же подписью. После обновления перезапустите целевое приложение для загрузки обновлённого модуля.
  • GitHub Actions проверяет тесты, подпись и версию APK перед автоматической публикацией обычного релиза (не Draft), APK и SHA-256.

XPL-EX-NEXT v1.6.5

Choose a tag to compare

@github-actions github-actions released this 10 Oct 04:17

XPL-EX-NEXT v1.6.5

Обновление интерфейса и плавности работы приложения.

  • добавлена компактная плавающая навигация поверх списка приложений;
  • навигация содержит четыре режима: пользовательские, все, хуки и системные приложения;
  • верхние «Все» и «Ограничить» оформлены как согласованные Material-карточки поверх списка;
  • обновлено боковое меню, переключатели и экран выбора группы;
  • улучшены vector-иконки нижней панели, включая иконку режима хуков;
  • список приложений получил оптимизированное кэширование, prefetch и отключение лишних
    анимаций строк для более плавной прокрутки;
  • сохранены функциональность хуков, фильтров, профилей, LSPosed/Xposed-совместимость и
    постоянная подпись приложения.

Версия 1.6.5, versionCode 171; Bridge protocol 1.5.5. Подпись сохранена прежней,
поэтому версия устанавливается поверх предыдущих релизов.

Дополнительные исправления верхней панели

  • кнопки «Все» и «Ограничить» получили общую высоту, единое вертикальное выравнивание
    и одинаковую геометрию карточек;
  • меню «Все» заменено компактным тёмным popup-меню с прокруткой, ограниченной высотой,
    подсветкой выбранной группы и плавным открытием;
  • кнопка фильтра в верхнем Toolbar теперь скрывает и раскрывает панель «Все» /
    «Ограничить», при этом выбранная группа и фильтры сохраняются;
  • добавлены отдельные иконки раскрытия и сворачивания панели;
  • нижняя плавающая навигация и совместимость с LSPosed/Xposed сохранены.

Если после обновления обнаружится проблема, создайте новое issue с шагами воспроизведения
и логом.

XPL-EX-NEXT v1.6.4

Choose a tag to compare

@github-actions github-actions released this 25 Sep 17:54

XPL-EX-NEXT v1.6.4

Исправления поддержки рабочих профилей по issue #9:

  • назначения work profile корректно загружаются и не смешиваются с user 0;
  • гарантируется создание таблицы groups в старых базах;
  • defaults коллекции, темы и debug не перезаписывают настройки владельца при открытии другого профиля;
  • Global Settings и hook enforcement используют глобальные значения текущего Android-профиля;
  • исправлена запись профильно-зависимых настроек коллекций;
  • удалено недостижимое условие определения single-app режима.

Версия 1.6.4, versionCode 169; подпись сохранена прежней для установки поверх предыдущих релизов.

Если проблемы с work profile сохранятся, создайте новое issue с шагами воспроизведения, SQLite-дампом без персональных данных и LSPosed-логом.

XPL-EX-NEXT v1.6.3

Choose a tag to compare

@github-actions github-actions released this 25 Sep 17:36

XPL-EX-NEXT v1.6.3

  • Исправлены хуки WifiInfo.getSSID и WifiInfo.getBSSID: теперь они используют значения профиля unique.network.ssid и unique.network.bssid, а не безусловные константы.
  • Сохранены безопасные fallback-значения, если профиль не содержит настройки.
  • Исправление относится к issue #8.
  • Версия приложения: 1.6.3, versionCode 168.
  • Подпись сохранена прежней, поэтому релиз устанавливается поверх v1.6.2.

После установки перезапустите XPL-EX и приложения, к которым применяются хуки.

XPL-EX-NEXT v1.6.2

Choose a tag to compare

@github-actions github-actions released this 25 Sep 15:39

XPL-EX-NEXT v1.6.2

  • Восстановлен приоритет сохранённого пользователем шаблона Global Context над автоматическим выбором параметров по назначенным приложению хукам. Это исправляет замечание из issue #6.
  • Явно сохранённый шаблон теперь действует даже при нуле отмеченных полей: открытие настроек приложения не добавляет в него параметры хуков автоматически.
  • Глобальные значения, заданные без галочки, продолжают служить общими значениями по умолчанию. Рандомизация приложения работает по отмеченным полям и не меняет глобальные значения. Например, battery.charge.percent = 85,95 можно задать один раз в Global Context и оставить без галочки.
  • Добавлен пункт «Удалить глобальный шаблон»: после его выбора автоматическое выделение параметров по назначенным хукам снова работает. Ранее сохранённые непустые шаблоны распознаются автоматически.
  • Версия приложения и APK обновлена до 1.6.2 (versionCode 167); bridge-протокол совместимости сохранён на версии 1.5.5.
  • APK подписан тем же постоянным сертификатом, что и релизы v1.6.0–v1.6.1, поэтому устанавливается поверх них без удаления приложения.

После установки перезапустите XPL-EX. Чтобы сохранить свой набор отметок, откройте Setting Values → Save Checked → Global. Значения полей сохраняются отдельно обычной кнопкой сохранения настроек. Для применения изменений хуков к уже запущенным приложениям перезапустите эти приложения; при необходимости перезагрузите устройство.

XPL-EX-NEXT v1.6.1

Choose a tag to compare

@github-actions github-actions released this 13 Sep 14:38

XPL-EX-NEXT v1.6.1

  • Исправлена работа общего профиля Universal Gaming Spoof → Подмена устройства с отключённой коллекцией Hardware.
  • При включении общего профиля модуль теперь активирует обязательную коллекцию Hardware и назначает связанные с выбранной моделью хуки процессора, видеопроцессора, оперативной памяти и камеры.
  • Значения soc.cpu.*, soc.gpu.* и других аппаратных параметров теперь появляются в профиле и сохраняются вместе с согласованными device.* и android.build.*.
  • Исправлено состояние общего переключателя: неполное назначение, оставшееся от v1.6.0, больше не отображается как полностью включённое.
  • Коллекции повышенного риска Advanced и Applist автоматически не включаются; их выбор по-прежнему остаётся за пользователем.
  • Версия приложения и APK обновлена до 1.6.1 (versionCode 164); bridge-протокол совместимости сохранён на версии 1.5.5.
  • Сохранён единый сертификат релизов, введённый в v1.6.0, поэтому APK устанавливается поверх v1.6.0 без удаления приложения.

Исправление основано на LSPosed-логе: модуль успешно загружался для целевого приложения, но при применении профиля не назначал ни одного хука коллекции Hardware и не создавал значения soc.cpu.*/soc.gpu.*.

После установки необходимо перезагрузить устройство, затем один раз выключить и снова включить Подмена устройства для приложений, настроенных в v1.6.0, чтобы дополнить старые назначения аппаратными хуками.

XPL-EX-NEXT v1.6.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 13:51

XPL-EX-NEXT v1.6.0

  • Исправлены хуки getSimOperator, getSimOperatorName, getNetworkOperator и getNetworkOperatorName: теперь они возвращают значения из выбранного профиля Cell, а не константы 00101 и unknown.
  • Для каждой SIM используется соответствующий индекс настроек: имя оператора берётся из cell.operator.name, числовой код — из cell.operator.numeric.id или, при его отсутствии, собирается из MCC и MNC.
  • Все четыре хука объединены в отдельную группу и автоматически назначаются приложению при сохранении связанных параметров Cell; существующие назначения сохраняются, поскольку ID хуков не изменились.
  • Добавлена фоновая проверка последнего релиза Mobilelegends74/XPL-EX. При появлении более новой версии модуль предлагает скачать подписанный APK; проверка выполняется не чаще одного раза в 12 часов.
  • GitHub Actions переведён на единый постоянный сертификат релиза и проверяет его SHA-256 перед публикацией. Начиная с 1.6.0, следующие версии устанавливаются поверх предыдущей без удаления приложения.
  • Версия приложения и APK обновлена до 1.6.0 (versionCode 163); bridge-протокол совместимости сохранён на версии 1.5.5.

Изменение исправляет замечание из issue #5.

Важно: релиз 1.5.12 был подписан одноразовым ключом CI. Android не разрешает сменить подпись установленного APK, поэтому перед первым переходом на 1.6.0 необходимо экспортировать настройки, удалить старую версию и установить 1.6.0. Это одноразовая миграция; последующие релизы будут иметь ту же подпись.

После установки необходимо перезагрузить устройство, чтобы LSPosed загрузил новую версию во все выбранные приложения.

XPL-EX-NEXT v1.5.12

Choose a tag to compare

XPL-EX-NEXT v1.5.12

  • Исправлено действие Edit для всех объектов в меню Hooks: нажатие снова открывает редактор выбранного хука и больше не возвращает пользователя на главный экран.
  • Устранено падение формы редактора из-за несовместимости MaterialComponents TextInputLayout с темой родительского экрана AppCompat: редактор получил отдельный совместимый контекст темы для светлого и тёмного режимов.
  • Запрос на открытие редактора передаётся из строки списка в HooksExFragment, поэтому диалог теперь привязан к жизненному циклу и навигации экрана Hooks.
  • Добавлена защита от повторного открытия одного и того же диалога при быстрых повторных нажатиях.
  • Редактируется независимая копия хука; изменения в списке применяются только после подтверждения и успешной записи.
  • Версия приложения и APK обновлена до 1.5.12 (versionCode 162); bridge-протокол совместимости сохранён на версии 1.5.5.

Изменение исправляет замечание из issue #4.

После установки необходимо перезагрузить устройство, чтобы LSPosed загрузил новую версию во все выбранные приложения.

XPL-EX-NEXT v1.5.11

Choose a tag to compare

XPL-EX-NEXT v1.5.11

  • Возвращены выпадающие селекторы для параметров Settings Values, имеющих конечный набор допустимых значений.
  • Все логические параметры с суффиксом .bool снова предлагают выбор True/False, включая battery.is.charging.bool и battery.is.plugged.in.bool.
  • Для battery.status доступны состояния Android: Charging (2), Discharging (3), Full (5), Not Charging (4) и Unknown (1).
  • Варианты для других параметров автоматически берутся из их специализированных option-randomizer классов.
  • Ручные селекторы отделены от механизма рандомизации: выбор отдельного значения не меняет привязку к согласованному профилю реального устройства.
  • Версия приложения и APK обновлена до 1.5.11 (versionCode 161); bridge-протокол совместимости сохранён на версии 1.5.5.

Изменение исправляет замечание из issue #3.

После установки необходимо перезагрузить устройство, чтобы LSPosed загрузил новую версию во все выбранные приложения.