Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
DFRoot — Инструмент для получения root-прав на Android для Samsung Galaxy S25 Ultra (SM-S938B), который объединяет DirtyFrag CVE-2026-43284 и CVE-2026-43499 для автоматического получения root-прав при загрузке через KernelSU. | Kitploit
Инструменты/GitHubGitHub/a2333c/dfroot
Безопасность AndroidПовышение привилегийМеханизмы персистентностиЭксплуатацияПентестинг мобильных приложенийПост-эксплуатацияТестирование на ПроникновениеМобильная безопасностьУтилиты и фреймворкиРазработка Полезной Нагрузки
GitHub
314 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
a2333c/dfroot

DFRoot

Инструмент для получения root-прав на Android для Samsung Galaxy S25 Ultra (SM-S938B), который объединяет DirtyFrag CVE-2026-43284 и CVE-2026-43499 для автоматического получения root-прав при загрузке через KernelSU.

Репозиторий

DFRoot —— адаптация для SM-S938B (Galaxy S25 Ultra) · Быстрый канал + Ручной

Форк diabl0w/DFRoot, специально адаптированный под Samsung Galaxy S25 Ultra (SM-S938B / pa3q), интерфейс и вывод полностью на китайском.

Две цепочки, один интерфейс:

СпособУязвимостьОсобенности
Быстрый каналDirtyFrag (CVE-2026-43284)Та самая цепочка из upstream DFRoot, от нескольких секунд до десятков секунд
РучнойCVE-2026-43499Вероятностный, три ступени, максимум до十几 минут

По умолчанию «Авто»: сначала быстрый канал, если не сработал — автоматически переключается на ручной способ.

Одной фразой: автоматическое получение root при загрузке. При каждой загрузке сначала пробуется быстрый канал на несколько секунд; если не сработал — автоматически подключается ручная цепочка, с повторами по схеме «быстро → стабильно → терпеливо» в три раунда.

После получения root автоматически выполняются две команды cmd connectivity (для удаления рекламы из Samsung «Установщика пакетов»), команды, вывод и коды возврата так же пишутся в лог интерфейса — см. раздел пятый «Настройка рекламы установщика». Начиная с v1.8 эти две команды записываются как загрузочный скрипт KernelSU, и при каждой загрузке KernelSU сам выполняет их от имени root, без необходимости открывать приложение и без диалогов авторизации.

Что изменилось в v1.9

  • Исправлена ошибка Cannot run program "su": error=2, No such file or directory: в v1.8, чтобы избежать дополнительной перезагрузки, был убран параметр --soft-reboot для ksud; однако su в KernelSU монтируется ядром в /system/bin/su именно на этапе post-fs-data, а late-load в ksud выполняет только этапы late-load / post-mount / service / boot-completed (исходники KernelSU userspace/ksud/src/late_load.rs) — без перезапуска фреймворка эта точка монтирования в текущей загрузке вообще не появится, и su -c … в приложении гарантированно даст error=2. Обе проблемы имеют одну корневую причину;
  • Добавлен третий root-канал: встроенный в приложение ksud (KsudChannel) — в APK добавлена копия ksud (libksud.so, размещён в jniLibs/arm64-v8a/, устанавливается в nativeLibraryDir, приложение может напрямую execve), через libksud.so debug su открывается root shell, команды пишутся в его stdin. Повышение привилегий идёт через ядерный ioctl(KSU_IOCTL_GRANT_ROOT), не зависит от /system/bin/su, не требует диалогов авторизации и не требует перезапуска системного фреймворка;
  • Порядок каналов: helper (сразу после завершения ручного способа) → ksud → su. В логе сначала выводится строка самопроверки * root 通道:helper=…,ksud=可用,su=…, сразу видно, где застряло;
  • Дополнительная настройка изменена на 4 раза × 15 секунд (около 45 секунд): ksud поднимается только в момент успешного возврата быстрого канала, первые несколько попыток могут не сработать — теперь автоматически повторяется;
  • Перед запуском su в PATH добавляются /data/adb/ksu/bin, /debug_ramdisk, /data/adb/magisk, /data/adb/ap/bin, а SU_PATHS расширен до 8 путей (в некоторых вариантах KernelSU su находится только в этих каталогах).

Что изменилось в v1.8

  • Больше нет дополнительной перезагрузки после загрузки: ksud больше не передаётся --soft-reboot. Раньше этот параметр заставлял ksud после установки перезапустить системный фреймворк — пользователь видел «после загрузки система сама перезагрузилась ещё раз»; хуже того, эта перезагрузка прерывала процесс приложения вместе с выполняемой им «настройкой рекламы установщика»;
  • Настройка рекламы установщика изменена на загрузочный скрипт KernelSU: больше не зависит от того, что приложение в момент загрузки запускает su (в тот момент KernelSU ещё не готов, на реальных устройствах это каждый раз терпело неудачу при загрузке, приходилось вручную открывать KernelSU, а затем приложение). Теперь те же две команды записываются в /data/adb/service.d/dfroot-ads.sh, и KernelSU при каждой загрузке выполняет его от имени root — без участия приложения, без su, без каких-либо диалогов авторизации;
  • Если в момент загрузки не получилось с первого раза, автоматически повторяется: это поручено foreground-сервису, который в течение следующих 5 минут пробует каждые 30 секунд, при первом успехе останавливается (при этом успешный запуск попутно устанавливает загрузочный скрипт);
  • В интерфейсе добавлена строка «Загрузочный скрипт: …», показывающая результат последнего выполнения скрипта.

Что изменилось в v1.7

  • «Медленный» в способах переименован в «Ручной», описание также изменено: если авто не сработало, попробовать вручную;
  • Добавлена «Настройка рекламы установщика»: после получения root автоматически выполняются те две команды cmd connectivity, команды, вывод и коды возврата полностью пишутся в лог интерфейса (при успешном выполнении вывод обязательно будет);
  • Проверка выполняется при каждой загрузке и при каждом открытии приложения, при неудаче выполняется дополнительная попытка;
  • Остальное поведение не изменилось (быстрый канал + ручной способ + автозапуск при загрузке).

I. Что представляют собой две цепочки

Быстрый канал: DirtyFrag (CVE-2026-43284)

Та самая цепочка, встроенная в upstream DFRoot, весь код в app/src/main/jni/ (exp.c + два фрагмента shellcode + модуль ядра в dirtyfrag-lkm/), компилируется в libexp.so и вызывается приложением напрямую:

  1. Расшифровка AES-CBC ESP на месте + splice() для изменения page cache файла только для чтения;
  2. Запись модуля ядра в /vendor/lib64/libstagefrighthw.so и загрузка через finit_module, перевод SELinux в permissive;
  3. Хук libc.so / libc++.so, запуск встроенного ksud через домен modprobe, late-load KernelSU.

Быстро (несколько секунд), ценой является то, что он оставляет в /dev/df след «в этом раунде уже развёрнуто», и путь установки его ksud отличается от ручного (см. раздел седьмой).

Ручной: CVE-2026-43499

Все три бинарника предварительно скомпилированы (побайтово не изменены):

ФайлРасположениеНазначение
libcve43499root.sojniLibs/arm64-v8a/helper, исполняемый ELF, приложение напрямую execve, Shizuku не нужен
cve-2026-43499-app.soassets/payloads/payload, загружается helper через dlopen и выполняет уязвимость
ksud-s25u-kdpassets/payloads/Сам KernelSU (ksud + встроенный kernelsu.ko)
1. helper --run-payload <payload> <helper> <log>   получить root (вероятностный)
2. helper -c "cp ksud …"                           поместить ksud в /data/local/tmp
3. helper --late-load                              bind mount /system/bin/logcat,
                                                   затем exec "logcat late-load …" для установки KernelSU

Критерий успеха: в логе одновременно появляются exploit completed и done=1 root=1.

Способ «Ручной» в интерфейсе запускает именно эту цепочку (способ «Авто» при неудаче быстрого канала также запускает её следом).


II. Как связан автоматический режим (v1.5 добавлена цепочка, v1.6 исправлен автозапуск, v1.7 добавлена настройка рекламы установщика, v1.8 исправлена перезагрузка при загрузке и настройка рекламы, v1.9 исправлено «su не существует»)

Ручное нажатие кнопки (в интерфейсе)
   └─ Выполняется в текущем процессе: способ «Авто» = быстрый канал → ручной; способ «Ручной» = сразу ручной
Скачать инструмент