Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
sclock — 面向 macOS arm64(Apple Silicon)的硬件绑定 256 槽多态虚拟机、非线性 MBA 与 Apple Secure Enclave 二进制保护器 — 公开 CrackMe 与 SDK 文档 | Kitploit
工具/GitHubGitHub/planners1490/sclock
逆向工程密码学CTF二进制分析反机器人
GitHubplanners1490/sclock

sclock

面向 macOS arm64(Apple Silicon)的硬件绑定 256 槽多态虚拟机、非线性 MBA 与 Apple Secure Enclave 二进制保护器 — 公开 CrackMe 与 SDK 文档

查看仓库
201天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站
scLock — 由 relay 打造的 Supercluster Lock

scLock(Supercluster Lock)

面向 macOS(arm64 Apple Silicon)的硬件绑定 256 槽多态虚拟机、非线性 MBA($\mathbb{Z}_{2^{64}}$)与 Apple Secure Enclave 二进制保护器

由 relay(relay // SYSTEMS)开发

平台:macOS arm64 热路径延迟:8.15 µs Ghidra 反编译器:>330s 超时 商业 SDK:Gumroad 售价 $79

在 Gumroad 获取商业 SDK($79) · 试用公开 CrackMe 挑战 · 在线落地页 · 한국어 안내 (Korean)


为什么选择 scLock?

由 C、C++、Rust、Swift 或 Objective-C 编译的标准 macOS Mach-O(arm64)二进制文件,会在数秒内于 Ghidra、IDA Pro 和 Binary Ninja 中暴露出清晰的控制流图和明文常量。传统软件混淆器依赖单一静态密钥或中央 switch(opcode) 分发器,一旦恢复出某个密钥,整个字节码流便会全部泄露。

scLock(Supercluster Lock) 融合了编译期 256 槽多态虚拟化、逐处理器 MBA 密钥粉碎以及双层 Apple Silicon Secure Enclave(SEP)绑定:

  1. 每次构建 256 槽多态 ISA + 84 个诱饵陷阱:每次编译(sclock compile)都会从 64 位多态种子合成一套全新的 256 项指令集(172 个活跃微操作 + 84 个破坏状态的诱饵处理器)。任意两次构建都不会共享相同的字节码编码或处理器表。
  2. 每处理器运行时纠缠(black_box + vm.anchor)MBA 盐粉碎:即使分析人员在 Portable 模式下计算出外层海绵密钥 (k0, k1),字节码数据包也无法从静态表或立即数常量中解密。原始处理器盐(op_secret_salt)从静态数据段中省略(替换为单向 Davies-Meyer ANCHOR_SHARDS),并针对代码完整性锚点进行预掩码。在 256 个编译后的 ARM64 处理器(__sc_lut_op_000..255)中的每一个内部,h_salt 和操作数掩码(hm1, hm2, hm3)都在运行时通过将受 std::hint::black_box 保护的仿射参数与实时 vm.anchor([x0, #0xa0])通过非线性 MBA 多项式组合而重建——从而击败 LLVM(-C opt-level=3)常量折叠和 InstCombine 简化。
  3. 非线性混合布尔算术($\mathbb{Z}_{2^{64}}$)与 2-adic 双射:算术、乘法、常量和控制流转换被提升为 $\mathbb{Z}_{2^{64}}$ 上的 2/3 次非线性 MBA 恒等式,并与 2-adic 数论不透明谓词($7x^2 - 1 \neq y^2 \pmod{2^{64}}$)耦合。
  4. 双层 Apple Secure Enclave(SEP)架构:
    • 便携式多 Mac 模式(默认,SCP1):为通用终端用户 macOS 分发和公开 CrackMe 而构建,使二进制文件可在任何 Apple Silicon Mac(M1 / M2 / M3 / M4)上离线运行。通过 1,024 轮 SHA-256 代码锚点白盒 KDF 结合实时 SEP 交换式 P-256 双 ECDH 反模拟 / 反 Hook 门($d_{\text{SEP}} \cdot Q_P \stackrel{?}{=} d_P \cdot Q_{\text{SEP}}$ 在 Secure Enclave 上执行,以在非 SEP 模拟器或 API Hook 下毒化执行)来派生外层海绵密钥 (k0, k1)。由于跨所有 Mac 的离线执行需要确定性密钥派生,SCP1 中的静态提取防御由每处理器运行时纠缠(vm.anchor + black_box)MBA 盐粉碎和跨所有 256 个处理器的状态相关海绵链提供。
    • 硬件 UID 节点锁定模式(--sep-lock / --host-sep-lock):将 P-256 私钥直接密封在目标 Mac 的物理 Secure Enclave UID(kSecAttrTokenIDSecureEnclave 硬件包装的 rk1/dacl blob)内。Mach-O 二进制文件中不存在任何可解封的密钥材料——没有目标 Mac 的 Secure Enclave 硅片,离线密钥派生在物理上是不可能的。
  5. 无分支反调试状态纠缠与零泄漏伪装:scLock 不使用可修补的 if (is_debugged) exit() 分支,而是将内核 sysctl 的 P_TRACED 位和 ARM64 序言 BRK(0xD4200000)扫描直接混入 256 位海绵状态累加器,并自动清理符号和工具链路径(sclock protect-app)。

公开逆向工程挑战(CrackMe)

不要只听我们的一面之词——现在就可在你自己的反汇编器和调试器中测试 scLock。

本仓库包含一个由 scLock 保护的独立 Mach-O arm64 二进制文件(v1.0.0,以 Portable SCP1 模式编译,因此可在任何 Apple Silicon Mac 上运行):

  • 二进制路径:crackme/challenge_protected(或下载 scLock-CrackMe-Challenge-macOS-arm64.zip)
  • 架构:Mach-O 64-bit executable arm64(Apple Silicon M1 / M2 / M3 / M4)

自行运行并审计

# 1. Clone this repository (or unzip the release archive)
git clone https://github.com/planners1490/sclock.git
cd sclock/crackme

# 2. Clear macOS Gatekeeper quarantine (if downloaded via browser) & make executable
xattr -cr ./challenge_protected
chmod +x ./challenge_protected

# 3. Inspect symbol table & strings (Zero VM/Obfuscator leaks)
nm -gU ./challenge_protected
strings ./challenge_protected | grep -iE "sclock|vm|opcode|mba|chaff" || echo "0 leaks found"

# 4. Execute the protected binary on any Apple Silicon Mac
./challenge_protected            # Runs built-in self-test (seats=20, pin=1234 -> 83300)
./challenge_protected 20 1234    # Pass custom <seats> <unlock_pin>

挑战目标

在 Ghidra、IDA Pro、Binary Ninja 或 LLDB 中打开 crackme/challenge_protected,并尝试:

  1. 恢复全部 256 个按处理程序区分的 MBA 盐值(h_salt),并在不触发 Ghidra 反编译器超时(>330s)的情况下反编译虚拟化的定价/验证例程。
  2. 附加 lldb 并单步执行虚拟化分派循环,同时不破坏与 P_TRACED 纠缠的海绵状态。
  3. 找到隐藏的次级 4 位主 PIN(arg2 != 1234)以及虚拟化例程内部精确的 64 位代数混合常量。

发现了有趣的分析或撰写文章?请发布到 Issue #1(官方 CrackMe 挑战讨论帖)!


实证基准测试

在 Apple Silicon(macOS arm64,Release 配置)上测试:

1. 逆向工程与反编译器抗性

分析向量未保护二进制(clang -O3)scLock v1.0.0 保护二进制
Ghidra 11.x 反编译器(DecompileCallback)0.4 秒(完整恢复 C 源码)> 330 秒 超时(反编译器进程被终止)
IDA Pro / Binary Ninja CFG 恢复清晰的控制流图256 路间接分派墙 + 84 个 Chaff 陷阱
密钥与盐值架构常量在 __TEXT,__const 中可见按处理程序的 black_box MBA 盐值粉碎 + 可移植 SCP1 / 节点锁定 --sep-lock
动态调试(lldb / frida)简单的断点与寄存器修改通过无分支 P_TRACED 纠缠实现静默状态破坏
混淆器符号与路径审计(nm / strings)函数名与 /rustc/ / .llvm. 路径暴露0 个混淆器/VM 符号或 /rustc/ 路径泄漏(自动清理的 Mach-O)

2. 运行时性能开销

因为 scLock 针对关键高价值函数(许可证验证、专有 DSP/AI 权重、密码密钥调度、防篡改门控),而不是膨胀整个 UI 层:

指标测量值备注
单次虚拟化函数调用延迟~8–12 µs(~0.01 ms)完整 256 槽多态 VM + MBA 求值
持续吞吐量~85,000–120,000 次调用 / 秒单核 Apple Silicon(arm64)
120 FPS 实时帧预算影响< 0.15%(0% 掉帧)对实时音频插件(AU/VST3)、游戏与 macOS 应用安全

scLock 如何用 3 条命令工作

商业 scLock SDK 以单个自包含的原生 arm64 CLI 二进制(bin/sclock)形式发布。

1. 保护 C / C++ / Wasm 函数

# Default: Portable All-Mac SEP-Attested + Per-Handler MBA Mode (runs on any Apple Silicon Mac)
sclock compile examples/01_quickstart_c/protect_me.c \
  -o protect_me_locked

# Optional: Single-Machine Physical SEP UID Node-Locked Mode (zero unsealable keys in binary)
sclock compile examples/01_quickstart_c/protect_me.c \
  -o protect_me_node_locked \
  --sep-lock

2. 清理并加固任何现有的 Rust / C++ / Swift 应用二进制文件

# Scrub internal compiler/LLVM paths, strip symbol tables, and apply Hardened Runtime signature
sclock protect-app ./target/release/my_commercial_app

3. 运行 5 阶段零泄漏隐蔽性审计

sclock verify ./protect_me_locked
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  scLock Security & Zero-Leak Stealth Auditor v1.0.0-commercial (by relay)
  Target: ./protect_me_locked
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  [1/5] Symbol Table Stealth Check (nm)          : PASS [0 Leaks] (0 internal symbols exposed)
  [2/5] Plaintext String Leak Check (strings)    : PASS [0 Leaks] (0 hint strings exposed)
  [3/5] Apple Secure Enclave Silicon Key Binding : PASS [P-256 SEP Key Blob (rk1/dacl) verified]
  [4/5] Kernel Anti-Debug (P_TRACED) & CryptoKit : PASS [Branchless ECDH + sysctl entangled]
  [5/5] Binary Shannon Entropy                   : 6.5414 bits/byte (High-Entropy VM Active)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

完整的即插即用集成模板请参见 examples/01_quickstart_c(protect_me.c、Makefile、run_demo.sh)和 examples/02_rust_workspace(build.rs、run_rust_demo.sh)。


获取商业版 SDK

下载工具