ykus4/shirayuki
GitHub: ykus4/shirayuki
面向越狱 iOS 的运行时内存工具包,通过悬浮窗 GUI 和编程 API 提供内存搜索、补丁、冻结、指针扫描与反汇编能力。
Stars: 0 | Forks: 0
# ❄️ Shirayuki
Bundles
com.example.targetapp
```
## 编程 API
```
using namespace Shirayuki;
// Pattern scan
auto img = Image::find("UnityFramework");
auto hits = Scanner::findPatternInImage(img, "FF 43 01 D1 ?? ?? ??");
// Patch (NOP 2 instructions)
Patch::createNop(Image::absoluteAddress(img, 0x123456), 2).apply();
// Value search
auto results = Scanner::findValue(region.start, region.size, 99.0f);
// Freeze
FreezeManager::shared().addValue(addr, 99999.0f);
FreezeManager::shared().start(16); // 16ms tick
// Watch
WatchManager::shared().add(addr, ValueType::Float32);
WatchManager::shared().setCallback([](const WatchEntry &e) {
// e.previousValue, e.currentValue, e.changeCount
});
// Pointer scan
PointerScanConfig cfg{ .targetAddress = addr, .maxDepth = 3 };
auto chains = PointerScanner::scan(cfg);
// Session
SessionManager::save(session, SessionManager::autoSavePath("com.example.app"));
```
## 项目结构
```
shirayuki/
├── Tweak/Tweak.xm ← injection entry (Logos)
├── ShirayukiMemory/
│ ├── ShirayukiMemory.hpp/cpp ← Mach VM, scan, patch, disasm
│ ├── Freeze.hpp/cpp ← value locker + auto-increment
│ ├── Watchpoint.hpp/cpp ← polling monitor
│ ├── PointerScan.hpp/cpp ← chain finder
│ └── Session.hpp/mm ← JSON persistence
└── GUI/
├── ShirayukiViewController.mm ← main panel + tab routing
├── SYTheme / SYToast / SYDragButton
└── Handlers/
├── SYScanHelper.cpp ← C++ isolation layer
├── SYSearchHandler.mm ← search + narrow + batch
├── SYPatchHandler.mm ← patch + undo/redo
├── SYFreezeHandler.mm ← freeze + auto-increment
├── SYWatchHandler.mm ← watchpoints
├── SYPointerHandler.mm ← pointer chains
└── SYDumpHandler.mm ← hex dump + disassembly
```
## CI / 发布
| 工作流 | 触发条件 | 产物 |
|---|---|---|
| **Build** | push / PR → `main`, `dev` | 产物 `.deb` + PR 评论 |
| **Format** | push / PR | clang-format 检查 |
| **Release** | `git tag v*` | 附带 `.deb` 的 GitHub Release |
```
# 发布 release
git tag v0.2.0 && git push origin v0.2.0
```
开发构建会自动以 `0.1.0-dev.N+sha7` 格式进行版本控制。
## 环境要求
- 越狱的 iOS 15.0+ arm64
- [Theos](https://theos.dev)
- Substrate 或 Substitute
适用于越狱 iOS 的应用内内存工具包悬浮窗
标签:APP调试, Arm64, Homebrew安装, Hook注入, iOS越狱, iOS越狱插件, Objective-C++, 二进制补丁, 云资产清单, 内存修改器, 内存修改器开源, 内存冻结, 内存工具包, 内存扫描, 内存搜索, 内存补丁, 悬浮窗GUI, 指针扫描, 游戏破解, 游戏辅助, 运行时修改, 进程内存读写, 逆向工程