FilzaSlop README

The project's README from github.com/0xjohnnydev/FilzaSlop. As one markdown file: README.md.

FilzaSlop

FilzaJailedDS fork with:

Not every feature currently works on iOS 18 or iOS 26. Open an issue if you find a problem.

The unsigned IPA is available on the Releases page.

Jailbreak-detection boundary

Release v1.1.0 and later do not register filza:// or another URL scheme. The release build removes CFBundleURLTypes and fails if that key remains. For these versions, there is no separate standard build. Use the IPA from this repository's Releases page.

This change prevents an app from finding FilzaSlop through a canOpenURL: check. It cannot clear a result that another app already saved. A canOpenURL: failure in a system log confirms only that the URL-scheme check returned a negative result.

FilzaSlop does not install a daemon or inject code into other processes. Its MobileContainerManager leases and sandbox extensions belong to the Filza process. The generated links and reports are stored in Filza's data container. Deleting the app removes that container. Files that a user edits through a live container link, including Wallpaper Lab changes, are real target files and are not reverted by uninstalling FilzaSlop.

The bundled Filza app can store its own remote-service credentials in its Keychain access group. iOS can retain Keychain items after an app is deleted, although Apple documents this as an implementation detail. Keychain access groups isolate these items from unrelated apps. The injected FilzaSlop code does not use Keychain item APIs, and it cannot read or delete a banking app's saved state. See Apple's notes about uninstall behavior and Keychain access groups.

If a banking app still reports a jailbreak after its URL-scheme check fails:

  1. Confirm that FilzaSlop was deleted, not offloaded or removed only from the Home Screen. Also remove any older copy or LiveContainer guest.
  2. Ask the banking app's support team to reset any device or account risk state. Reinstalling the banking app might not clear its Keychain or server state.
  3. For a reproducible report, start with a device that the banking app accepts. Record the result before and after installing the current scheme-free IPA.

Sandbox deny messages for jailbreak paths, kern.bootargs, or fork show that the probe was blocked. They do not show that the requested file or capability exists.

Update checks

FilzaSlop checks this repository's latest published, non-prerelease GitHub release when each installed version first launches. It checks again after 24 hours when the app next becomes active. The app shows one alert for each newer release and can open its release page. It does not download or install updates automatically.

The checker stores only the last check date, installed version, and last alerted release tag in the app's local preferences. Its request contains no device identifier or Filza content.

Paths

/private/var/mobile/Containers/Data/Application/
/private/var/mobile/Containers/Shared/AppGroup/
/private/var/mobile/Containers/Data/PluginKitPlugin/
/private/var/mobile/Containers/Data/VPNPlugin/
/private/var/mobile/Containers/Data/InternalDaemon/
/private/var/mobile/Containers/Data/System/
/private/var/mobile/Containers/Shared/SystemGroup/
/private/var/mobile/Containers/Data/Protected/
/private/var/containers/Shared/SystemGroup/systemgroup.com.apple.mobilegestaltcache/Library/Caches/
/private/var/containers/Shared/SystemGroup/systemgroup.com.apple.installcoordinationd/Library/InstallCoordination/

Signing

Keep this bundle and CodeDirectory identifier:

com.apple.mobile.MobileHouseArrest

Changing it disables the MobileHouseArrest path.

Free Apple Accounts

A free Apple Account, also called a Personal Team, cannot currently sign the standalone IPA while keeping the identity required by the MobileHouseArrest path.

The app needs the same value for both identifiers:

CFBundleIdentifier:       com.apple.mobile.MobileHouseArrest
CodeDirectory identifier: com.apple.mobile.MobileHouseArrest

Free-account sideloading tools normally register a new App ID. Apple rejects the identifier above with error 9400 or 9401. Allowing the signer to create a unique bundle ID can make the app install, but it disables MobileHouseArrest container access. Giving the app a normal bundle ID while keeping the MobileHouseArrest CodeDirectory identifier also does not work. iOS rejects that combination with MismatchedBundleIDSigningIdentifier before launch.

Do not use automatic bundle ID if you expect standalone MobileHouseArrest access. A successful install with a changed identifier is not a working sandbox escape.

Paid certificate providers

Some users buy device-bound certificate and provisioning files from providers such as ArcticSign. These providers are independent of this project, and Apple can revoke their certificates. For more reputable and current sources, ask in the r/Jailbreak Discord or check r/sideloaded before paying.

Experimental LiveContainer compatibility

Free-account users can try the unsigned IPA as a guest in LiveContainer:

[!WARNING] LiveContainer compatibility is experimental. This mode does not provide MobileHouseArrest access. FilzaSlop cannot browse or edit containers for App Store apps or other apps installed by iOS. It can access only guest apps and data stored inside LiveContainer. Use this mode only to manage LiveContainer content.

  1. Install LiveContainer with SideStore or AltStore using its normal automatic bundle ID.
  2. Download the unsigned FilzaSlop IPA from the Releases page.
  3. Open LiveContainer, tap the plus button, and select the IPA.
  4. On iOS 26 or later, configure LiveContainer's JIT-less mode by importing the certificate from SideStore or AltStore.
  5. Refresh LiveContainer before its seven-day Personal Team profile expires.

Apple limits a Personal Team to three installed apps per device, ten registered App IDs, and seven-day provisioning profiles. LiveContainer uses one installed app and one App ID for its guest apps. See Apple's developer account overview, the Sideloadly FAQ, and the LiveContainer documentation for current setup and refresh details.

iOS 26 app discovery

iOS 26 can hide third-party apps from the normal ContainerManager and LaunchServices enumeration APIs. FilzaSlop now reads the device-local LaunchServices store through the accessible com.apple.lsd service container. It extracts bundle identifier candidates and confirms each candidate with a direct class-2 ContainerManager lookup. The release IPA does not need a device catalog.

MCMIdentifiers.plist remains an optional manual fallback. You can generate one with scripts/refresh_device_catalog.sh and pass it as the third release build argument.

Build

export THEOS="$HOME/theos"
make clean
make package FINALPACKAGE=1

Inject FilzaApplySandboxExt.dylib into Filza and sign the app.

To build the unsigned release IPA:

./scripts/build_release_ipa.sh \
  FilzaSlop-v1.0.0-unsigned.ipa \
  FilzaSlop-v1.0.1-unsigned.ipa

Build from the release tag so the script can embed that tag for update comparison. For an untagged test build, set FILZASLOP_VERSION explicitly.

PoCs

Credits

FilzaSlop (0xjohnnydev/FilzaSlop)

Searching Database…

Что это?FilzaSlop — это форк FilzaJailedDS, добавляющий эксплойт обхода песочницы и доступ к контейнерам приложений в файловом менеджере Filza на iOS 18, iOS 26 и iOS 27 beta 1–4, а также встроенную PosterBoard Wallpaper Lab.
Это джейлбрейк или приложение, которое я устанавливаю в обход магазина?Само по себе это не джейлбрейк — это модифицированное приложение файлового менеджера Filza, распространяемое как неподписанный IPA, которое использует баг песочницы, чтобы получить доступ к контейнерам уровня MobileHouseArrest.
Нужен ли платный сертификат разработчика, чтобы его подписать?Бесплатная учётная запись Apple (Personal Team) не может подписать отдельный IPA с сохранением идентификатора, который нужен MobileHouseArrest, — Apple отклоняет её с ошибкой 9400 или 9401, поэтому вам понадобится привязанный к устройству платный сертификат, либо придётся запускать приложение как неподписанного гостя внутри LiveContainer.
Сейчас всё работает на iOS 18 и iOS 26?Нет, сейчас работают не все функции на iOS 18 и iOS 26, а экспериментальный резервный режим LiveContainer полностью лишает доступа MobileHouseArrest, позволяя лишь просматривать гостевые приложения и данные, хранящиеся внутри LiveContainer.
Скрывается ли он от приложений, определяющих джейлбрейк, например банковских?Начиная с v1.1.0 приложение перестаёт регистрировать URL-схему filza://, так что проверки canOpenURL: не проходят, но это не может стереть флаг джейлбрейка, который приложение уже сохранило на сервере, и само приложение не устанавливает демонов и не внедряет код в другие процессы.
Что ещё входит в комплект помимо эксплойта файлового менеджера?PosterBoard Wallpaper Lab и несколько демо в качестве proof-of-concept: MobileHouseArrest, Geod MCM, InstallCoordination и эксплойт CFPrefs zero-file.
Отменяет ли удаление приложения внесённые им изменения?Нет — файлы, изменённые через живую ссылку на контейнер, включая правки Wallpaper Lab, являются настоящими целевыми файлами и остаются изменёнными после удаления самого FilzaSlop.
Как он находит приложения на iOS 26, если они скрыты?Он читает локальное для устройства хранилище LaunchServices через сервис com.apple.lsd, чтобы собрать кандидатов — идентификаторы bundle, а затем подтверждает каждый прямым запросом к ContainerManager, поскольку iOS 26 умеет скрывать сторонние приложения от обычных API перечисления.
Приложение отправляет данные на сервер или собирает данные об устройстве?Его проверка обновлений лишь обращается к GitHub за последним релизом и хранит локально дату последней проверки, установленную версию и последний тег, о котором было предупреждение, — в запросе нет ни идентификатора устройства, ни содержимого Filza.
Size
1.2 MB
Stars
448
Age
2mo
Commits · 90 Days