Back to Provenance

Provenance StikDebug Scripts

Scripts/StikDebug/README.md

3.3.12.6 KB
Original Source

Provenance StikDebug Scripts

These scripts extend StikDebug — a VPN-based iOS debugger — to enable Just-In-Time (JIT) compilation in Provenance.

What is StikDebug?

StikDebug attaches a debugger to your debuggable/sideloaded app over a VPN tunnel, which allows JIT execution on iOS (similar to attaching Xcode). Your app must already be signed with the necessary entitlements (for example via AltStore, SideStore, or TrollStore); StikDebug does not modify or add entitlements and does not require a Mac, a jailbreak, or a developer certificate.

Scripts

provenance.js — iOS 26 W×X JIT helper

iOS 26 enforces Write-XOR-Execute (W×X) page protections via the Trusted Execution Monitor (TXM). Dynarec-based emulator cores (Mupen64Plus, Flycast) emit a BRK #0x69 sentinel before each JIT write to signal that memory pages need dual-mapping:

  • RX mapping — the address the CPU executes from (read+execute, no write)
  • RW alias — a second mapping of the same physical pages the dynarec writes through

provenance.js intercepts BRK #0x69, asks TXM to authorise the region via prepare_memory_region, then creates the RW alias via vm_remap. This is identical to the pattern documented in the ManicEMU project.

Required for: Mupen64Plus dynarec, Flycast ARAM recompiler on iOS 26+. Not needed on: iOS ≤ 25 (W×X not enforced), interpreter-only cores, or when using TrollStore / iOS 26 native JIT entitlement.

Installation

  1. Install StikDebug on your iOS device.
  2. In StikDebug → ScriptsImport, select provenance.js.
  3. Enable the script, then connect StikDebug to Provenance.
  4. Launch Provenance and open a JIT-capable game (N64, Dreamcast).

Supported Acquisition Methods

Provenance supports multiple JIT acquisition paths in priority order:

MethodiOS VersionRequires
iOS 26 native JIT (JITAuthorizer)26+com.apple.developer.kernel.allow-jit entitlement
TrollStoreAnyTrollStore install
AltStore / SideStore (SideKit)AnyAltStore or SideStore on same network
StikDebugAnyStikDebug app
JITStreamerAnyJITStreamer on Mac
Xcode debuggerAnyXcode on Mac

For most users without a Mac, StikDebug or TrollStore is the recommended path.

See Also