
آلة افتراضية متعددة الأشكال بـ256 خانة مرتبطة بالعتاد، وMBA غير خطي، وحامي ثنائيات Apple Secure Enclave لـmacOS arm64 (Apple Silicon) — CrackMe عام ووثائق SDK
scLock (قفل Supercluster)آلة افتراضية متعددة الأشكال بـ 256 خانة مرتبطة بالعتاد، MBA غير خطي ($\mathbb{Z}_{2^{64}}$) وحامي ثنائيات Apple Secure Enclave لنظام macOS (arm64 Apple Silicon)
طُوِّر بواسطة relay (relay // SYSTEMS)
احصل على Commercial SDK على Gumroad (79 دولارًا) · جرّب تحدي CrackMe العام · صفحة الهبوط المباشرة · 한국어 안내 (Korean)
scLock؟ثنائيات macOS Mach-O (arm64) القياسية المُجمَّعة من C أو C++ أو Rust أو Swift أو Objective-C تكشف رسومًا بيانية نظيفة لتدفق التحكم وثوابت نصية صريحة في Ghidra وIDA Pro وBinary Ninja خلال ثوانٍ. تعتمد أدوات التعتيم البرمجي التقليدية على مفتاح ثابت واحد أو موزِّع مركزي switch(opcode) حيث يؤدي استرداد مفتاح واحد إلى كشف مجرى البايت كود بأكمله.
يجمع scLock (قفل Supercluster) بين الافتراضية متعددة الأشكال بـ 256 خانة وقت الترجمة، وتفتيت مفاتيح MBA لكل معالج، والربط ثنائي المستوى بـ Apple Silicon Secure Enclave (SEP):
sclock compile) تُولّد مجموعة تعليمات جديدة كليًا من 256 مدخلًا (172 عملية دقيقة نشطة + 84 معالجًا خادعًا مُفسدًا للحالة) من بذرة متعددة الأشكال بطول 64 بت. لا يشترك أي بناءين أبدًا في نفس ترميز البايت كود أو جدول المعالجات.black_box + vm.anchor): حتى عندما يحسب المحلل مفاتيح الإسفنج الخارجية (k0, k1) في الوضع المحمول، لا يمكن فك تشفير حزم البايت كود من الجداول الساكنة أو الثوابت الفورية. تُحذف أملاح المعالجات الخام (op_secret_salt) من أقسام البيانات الساكنة (تُستبدل بـ ANCHOR_SHARDS أحادية الاتجاه من نوع Davies-Meyer) وتُقنَّع مسبقًا مقابل مرساة سلامة الكود. داخل كل من معالجات ARM64 المترجمة الـ 256 (__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.SEP) ثنائية المستوى:
SCP1): مُصمم للتوزيع العالمي على أجهزة macOS للمستخدمين النهائيين ولـ CrackMe العام بحيث يعمل الملف التنفيذي دون اتصال على أي جهاز Mac بشريحة Apple Silicon (M1 / M2 / M3 / M4). يشتق مفاتيح الإسفنج الخارجية (k0, k1) عبر KDF أبيض الصندوق لمرساة الكود SHA-256 بـ 1,024 جولة مقترنًا بـ بوابة حيّة مضادة للمحاكاة / مضادة للاعتراض من نوع SEP Commutative P-256 Double-ECDH ($d_{\text{SEP}} \cdot Q_P \stackrel{?}{=} d_P \cdot Q_{\text{SEP}}$ تُنفَّذ على Secure Enclave لتسميم التنفيذ تحت محاكيات غير SEP أو خطافات API). ولأن التنفيذ دون اتصال عبر جميع أجهزة Mac يتطلب اشتقاقًا حتميًا للمفاتيح، فإن الدفاع ضد الاستخراج الساكن في SCP1 يُوفَّر عبر تفتيت ملح MBA المتشابك وقت التشغيل لكل معالج (vm.anchor + black_box) وتسلسل إسفنجي معتمد على الحالة عبر جميع المعالجات الـ 256.--sep-lock / --host-sep-lock): يختم المفتاح الخاص P-256 مباشرة داخل معرّف UID الفيزيائي لـ Secure Enclave في جهاز Mac الهدف (كتلة rk1/dacl الملفوفة عتاديًا عبر kSecAttrTokenIDSecureEnclave). لا توجد أي مادة مفتاحية قابلة للفك في أي مكان داخل ملف Mach-O التنفيذي—فاشتقاق المفتاح دون اتصال مستحيل فيزيائيًا دون شريحة Secure Enclave في جهاز Mac الهدف.if (is_debugged) exit() القابلة للترقيع، يمزج scLock بت P_TRACED الخاص بـ sysctl في النواة ومسح BRK (0xD4200000) في مقدمة ARM64 مباشرةً في مُجمِّع حالة الإسفنج بـ 256 بت، مع تنظيف تلقائي للرموز ومسارات سلسلة الأدوات (sclock protect-app).لا تأخذ كلامنا على محمله—اختبر scLock في مُفكِّك التجميع ومُنقِّح الأخطاء الخاص بك الآن.
يتضمن هذا المستودع ملفًا تنفيذيًا مستقلًا arm64 بصيغة Mach-O محميًا بـ scLock (v1.0.0، مُجمَّع في الوضع المحمول SCP1 بحيث يعمل على أي جهاز Mac بشريحة Apple Silicon):
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>
افتح crackme/challenge_protected في Ghidra أو IDA Pro أو Binary Ninja أو LLDB وحاول:
h_salt) وإجراء هندسة عكسية لروتين التسعير/التحقق الافتراضي دون التسبب في انتهاء مهلة مفكك الترجمة في Ghidra (>330s).lldb والتنقل خطوة بخطوة عبر حلقة الإرسال الافتراضية دون إفساد حالة الإسفنج المتشابكة مع P_TRACED.arg2 != 1234) وثوابت الخلط الجبرية الدقيقة ذات 64 بت داخل الروتين الافتراضي.هل وجدت تحليلًا أو تقريرًا مثيرًا للاهتمام؟ انشره في Issue #1 (Official CrackMe Challenge Thread)!
تم الاختبار على Apple Silicon (نظام macOS arm64، إصدار Release):