Skip to content

About

梦幻魔法公主 Magical Princess Trainer — macOS only, Apple Silicon (M1/M2/M3/M4, arm64). NOT a Windows trainer / 非 Windows 修改器

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

Magical Princess Trainer (macOS)

English | 简体中文 | 繁體中文

A standalone macOS app that serves as a memory trainer for the Steam version of Magical Princess. Its own Dock icon and window — no Terminal, no scripts. Live display / edit / freeze of game stats.

platform game

Magical Princess Trainer

macOS only — Apple Silicon (M1/M2/M3/M4, arm64). This is NOT a Windows trainer.

Features

  • Standalone app: native window with full traffic-light buttons (minimize / zoom / close), Dock icon, Cmd-Tab entry
  • 37 stats in 9 categorized sections: Resources / Status / Karma / Physical / Intellect / Charm / Sense / Levels / EXP
  • Edit values directly (Enter to apply), check Lock to freeze a value (enforced every 0.25 s by the in-game service)
  • Quick actions: Refill AP, Clear Stress, +100 Skill Pt
  • Speed hack: type a multiplier (0.1–10×) and check Boost — locks Time.timeScale via il2cpp_runtime_invoke, re-enforced every 0.25 s (overrides in-game pause)
  • On Top toggle: keep the window floating above other apps
  • Multilingual UI: Simplified Chinese / Traditional Chinese / English — auto-detects macOS language, one-click cycle in the title bar (remembered)
  • Field offsets resolved dynamically from IL2CPP metadata at runtime — resilient to game updates
  • Zero-config: auto-locates the game (including custom Steam library folders), auto re-signs on first run, auto-injects and launches the game for you

Requirements

  • Apple Silicon Mac (M1/M2/M3/M4 — the game binary is arm64)
  • macOS 12 Monterey or later
  • Magical Princess on Steam (tested on v1.3.0)

Usage

  1. Download & extract: unzip, then move MagicalPrincessTrainer.app into Applications (recommended — avoids macOS App Translocation running it from a randomized path)
  2. First-launch approval (one-time): double-click → "macOS cannot verify…" → OK (do not Move to Trash) → System Settings → Privacy & Security → Security → Open Anyway → Open. Approved forever after
  3. Automatic setup: the app locates the game (any Steam library) → re-signs it ad-hoc (first run, ~30s) → launches it → waits for the trainer service (~15s). The status line shows each phase live until connected
  4. Edit stats: after loading a save — type a value and press Enter; check Lock to freeze; quick buttons: Refill AP / Clear Stress / +100 Skill Pt; On Top toggles window floating
  5. Window: native traffic lights (minimize / zoom / close); click the Dock icon to bring it back; Launch Game button (top bar) starts or reconnects the game anytime
  6. Issues: click Log (top-left) → attach trainer.log to a GitHub Issue

After a Steam game update: just relaunch the trainer app (it re-signs automatically). Play in windowed mode.

How it works (brief)

  1. The app re-signs the game with get-task-allow & friends (one time), then spawns it with DYLD_INSERT_LIBRARIES pointing at a tiny service dylib inside the app bundle
  2. The in-game service resolves PersistentSingletonMonoBehaviour<MyData>.instance → MyData.status → BasicStatusData via the il2cpp_* C API (raw registry scan as fallback), then performs pure raw-memory reads/writes on the game's main thread only (crash-free by design)
  3. The app talks to the service over a Unix domain socket (/tmp/MagicalPrincessTrainer.<uid>.sock): poll values, set, lock
  4. Field offsets are resolved dynamically per game build — no hardcoded offsets

Logs: trainer.log in the game folder — attach it when reporting issues.

FAQ

  • Where is trainer.log? Click the Log button (top-left of the trainer window) — it reveals the file in Finder. Manually: Finder → Go → Go to Folder → ~/Library/Application Support/Steam/steamapps/common/Magical Princess/trainer.log (custom Steam library: <library>/steamapps/common/Magical Princess/trainer.log)
  • Panel shows "game not running" forever: send trainer.log to Issues
  • Trainer stops working after Steam "verify integrity": expected — the stock signature was restored, just relaunch the trainer app
  • Gatekeeper warning: the project is open source; you can also build it yourself (below)

Build from source

cd trainer
./build.sh        # produces dist/MagicalPrincessTrainer.app

Maintainer / release workflow: see DEVELOPMENT.md.

Disclaimer

For offline single-player research and learning only. Do not use in any online/leaderboard context. Back up your saves before editing; use at your own risk.

About

梦幻魔法公主 Magical Princess Trainer — macOS only, Apple Silicon (M1/M2/M3/M4, arm64). NOT a Windows trainer / 非 Windows 修改器

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages