📄 ARM64Xploit v8.0
<div align="center">
# 🔥 ARM64Xploit v8.0 - محرك الهندسة العكسية ARM64 النهائي






**تم التطوير بالكامل على هاتف Android! | بدون Root | بدون Injection**
</div>
---
## 📖 **ما هي ARM64Xploit؟**
ARM64Xploit v8.0 هي مكتبة Android احترافية لتحليل وتعديل الذاكرة في وقت التشغيل (Runtime Patching) لمعمارية ARM64. **تم تطويرها بالكامل على هاتف Android فقط!**
**تدعم 1,500+ تعليمة ARM64** مع فك تشفير كامل، توليد Control Flow Graph، هوكات متقدمة، نقاط توقف ذكية، قراءة سجلات حقيقية من المعالج، استخراج بصمات الكائنات، تفريغ المكتبات كاملة، استخراج السلاسل النصية، تحليل الجداول الافتراضية (VTable)، تحليل الإشارات (XREF)، وأكثر من ذلك بكثير.
**🆓 مجانية 100%** | **💪 قوية** | **🕶️ بدون Root** | **🔄 بدون Injection**
---
## 🆕 **الميزات الكاملة (v8.0)**
| # | الميزة | الأمر | الوصف |
|---|--------|-------|-------|
| 1 | 🧠 محلل ARM64 تلقائي | تلقائي | 1,500+ تعليمة مفككة |
| 2 | 📊 مولد CFG | `/cfg 0xADDR` | رسم Control Flow Graph بـ ASCII |
| 3 | 🔍 تحليل دالة | `/VX 0xADDR` | تقرير كامل + تتبع |
| 4 | 📦 تفريغ دالة | `/dumpfunc 0xADDR` | حفظ البايتات إلى ملف |
| 5 | 🔗 تتبع استدعاءات | `/trace 0xADDR` | شجرة الاستدعاءات |
| 6 | 🧬 قراءة سجلات | `/bp 0xADDR` | من ucontext الحقيقي |
| 7 | 🎯 نقطة توقف ذكية | `/sbp 0xADDR` | مع دعم callback |
| 8 | 🪝 هوك متقدم | `/ahook 0xADDR` | Detour + Trampoline |
| 9 | 📤 استخراج Int | `/int 0xADDR` | استخراج قيم صحيحة |
| 10 | 📤 استخراج Float | `/V 0xADDR` | استخراج قيم عشرية |
| 11 | 💾 تفريغ المكتبة | `/dumplib` | تفريغ المكتبة كاملة |
| 12 | 📋 استخراج دوال C# | `/C#` | جميع الدوال بصيغة C# |
| 13 | 🔬 بصمة الكائنات | `/0xADDR!` | تلقائياً من X0 |
| 14 | 📝 تعديل بايتات | `0xADDR: HEX` | تعديل مباشر في الذاكرة |
| 15 | ⏰ تأخير | `/30` أو `delay 30` | قبل التنفيذ |
| 16 | 📚 تحديد مكتبة | `/Wlib.so` | المكتبة المستهدفة |
| 17 | 🔄 تحليل XREF | `/xref=0xADDR` | تحليل الإشارات المتقاطعة |
| 18 | 📝 استخراج سلاسل | `/strings` | استخراج كل السلاسل النصية |
| 19 | 📋 تحليل VTable | `/vtable` | تحليل الجداول الافتراضية |
| 20 | 🧮 حساب عناوين | `/0xADDR+` / `/0xADDR-` | تحويل RVA ↔ VA |
| 21 | 📊 تعديل S0 مباشر | `/s0patch` | تعديل سجل Float |
| 22 | 📈 استخراج Int تلقائي | `/V` | 90,000 قيمة تلقائياً |
| 23 | 📈 استخراج Float تلقائي | `/VF` | 90,000 قيمة تلقائياً |
| 24 | 🎯 تعديل Float | `/f=0xADDR=VALUE` | تعديل مباشر للـ Float |
| 25 | 🎯 تعديل حقل كائن | `/!` | تعديل تلقائي لحقل الكائن |
---
## 🧠 **محلل ARM64 المتقدم (1,500+ تعليمة)**
| الفئة | العدد | أمثلة |
|-------|-------|-------|
| Branch/Jump | 40+ | B, BL, BR, RET, CBZ, TBZ |
| Load/Store | 120+ | LDR, STR, LDP, STP, LDUR |
| Atomic (LSE) | 60+ | CAS, SWP, LDADD, LDAX |
| Arithmetic | 80+ | ADD, SUB, MUL, SDIV, UDIV |
| Logical | 60+ | AND, ORR, EOR, TST, CMP |
| Move/Convert | 50+ | MOV, MOVZ, MOVN, ADR |
| Conditional | 40+ | CSEL, CSINC, CSET, CINV |
| Float (FP) | 100+ | FADD, FMUL, FSQRT, FCVT |
| SIMD/NEON | 150+ | ADD V, FADD V, MUL V |
| SVE/SVE2 | 300+ | WHILE, LD1, ST1, FADD |
| SME/SME2 | 100+ | ADDHA, FMULHA, RDSVL |
| Crypto | 50+ | AESD, SHA256H, CRC32 |
| Pointer Auth | 50+ | PACIA, AUTIA, BRAA |
| System | 60+ | SVC, HVC, MRS, MSR |
| RME/TME | 40+ | RME, TSTART, TCOMMIT |
| BF16 | 40+ | BFADD, BFMUL, BFCVT |
| MTE | 30+ | IRG, GMI, LDG, STG |
| GCS/BTI | 20+ | BTI, GCSPUSH, GCSPOP |
| RAS/Barriers | 30+ | DMB, DSB, ISB, ESB |
| Misc | 180+ | PRFM, EXTR, BFI, SBFX |
---
## 🏗️ **المواصفات التقنية**
| المواصفة | القيمة |
|----------|--------|
| اللغة | C/C++ (Android NDK r29) |
| المعمارية | ARM64 (AArch64) فقط |
| الحد الأدنى | Android 7.0 (API 24) |
| حجم المكتبة | ~200 KB |
| عدد التعليمات | 1,500+ |
| عدد الأوامر | 25 أمر |
| ملف التكوين | MOD.SH |
| Root مطلوب | ❌ لا |
| Injection مطلوب | ❌ لا |
---
## 🧠 **طريقة العمل**
- System.loadLibrary("AdvancedCaller") → JNI_OnLoad
- تثبيت Signal Handlers (SIGTRAP, SIGSEGV)
- قراءة MOD.SH من مجلد البيانات
- انتظار تحميل المكتبة الهدف (/proc/self/maps)
- تنفيذ الأوامر بالترتيب: ├── /Wlibil2cpp.so (تحديد المكتبة) ├── /30 (تأخير) ├── /C# (استخراج الدوال) ├── /dumplib (تفريغ المكتبة) ├── /strings (استخراج السلاسل) ├── /vtable (تحليل VTables) ├── /xref=0xADDR (تحليل XREF) ├── /0xADDR! (هوك + بصمة) ├── /VX 0xADDR (تحليل دالة) ├── /cfg 0xADDR (رسم CFG) ├── /bp 0xADDR (نقطة توقف) ├── /s0patch 0xADDR VALUE (تعديل Float) └── 0xADDR: HEX (تعديل بايتات)
- تنظيف الموارد وإنهاء الخيط
---
## 📂 **تنسيق ملف MOD.SH**
**المسار:**
/storage/emulated/0/Android/data//files/MOD.SH
**مثال كامل:**
```bash
# ============================================================
# ARM64Xploit v8.0 - MOD.SH
# ============================================================
# 1. تحديد المكتبة الهدف
/Wlibil2cpp.so
# 2. تأخير 10 ثواني
/10
# 3. استخراج جميع الدوال بصيغة C#
/C#
# 4. تفريغ المكتبة كاملة من الذاكرة
/dumplib
# 5. استخراج جميع السلاسل النصية
/strings
# 6. تحليل الجداول الافتراضية
/vtable
# 7. تحليل الإشارات المتقاطعة
/xref=0x161f668
# 8. هوك تلقائي + بصمة
/0x161f668!
# 9. تحليل دالة كامل
/VX 0x161f668
# 10. رسم Control Flow Graph
/cfg 0x161f668
# 11. نقطة توقف ذكية
/sbp 0x161f668
# 12. تعديل سجل Float مباشر
/s0patch 0x161f668 999.0
# 13. تعديل بايتات مباشر (تعطيل دالة)
0x161f668: C0 03 5F D6
🎯 الأوامر بالتفصيل
/Wlibname.so
تحديد المكتبة المستهدفة للتحليل.
/C#
استخراج جميع الدوال (Dynamic + Static) بصيغة C# إلى dumps.cs.
/dumplib
تفريغ المكتبة كاملة من الذاكرة (يتجاوز التشفير).
/strings
استخراج جميع السلاسل النصية من المكتبة.
· يصنف إلى: URL, Path, Key, Debug, UI, JSON, XML, Package, Class, Unknown · المخرج: strings_report.txt
/vtable
تحليل الجداول الافتراضية (VTables).
· يكتشف جميع VTables · يستخرج معلومات RTTI · يحدد مواقع الكائنات · المخرج: vtable_report.md
/xref=0xADDR
تحليل الإشارات المتقاطعة.
· الاستدعاءات الواردة (من يستدعي هذه الدالة) · الاستدعاءات الصادرة (إلى أين تشير هذه الدالة) · تحليل متكرر · المخرج: xref_0xADDR.txt
/0xADDR!
هوك تلقائي + بصمة الكائن من X0.
· يقرأ X0 الحقيقي من ucontext · يفرغ ذاكرة الكائن · المخرج: object_signatures.txt
/VX 0xADDR
تحليل دالة كامل.
· تفريغ البايتات · تحليل الاستدعاءات · تتبع متكرر · المخرج: function_report_0xXXX.txt
/cfg 0xADDR
توليد Control Flow Graph برسوم ASCII.
· العقد والحواف · الفروع الشرطية · كشف الاستدعاءات/العودة · المخرج: cfg_report.txt
/bp 0xADDR
تعيين نقطة توقف مع تفريغ السجلات.
· يقرأ جميع السجلات (X0-X30, SP, PC, CPSR) · يحفظ في PIIP.txt · يشمل سجلات Float و SIMD
/sbp 0xADDR
نقطة توقف ذكية مع دعم callback.
/ahook 0xADDR
هوك متقدم مع trampoline.
/int 0xADDR
استخراج قيم Int من نطاق 256 بايت.
/V 0xADDR
استخراج قيم Float من نطاق 256 بايت.
/V
استخراج 90,000 قيمة Int تلقائياً من المكتبة.
/VF
استخراج 90,000 قيمة Float تلقائياً من المكتبة.
/s0patch 0xADDR VALUE
تعديل سجل S0 (Float) مباشر.
· ينتظر تنفيذ الدالة · يعدل سجل S0 الحقيقي · المخرج: s0_patch_0xADDR_TIMESTAMP.md
/s0status
عرض حالة تعديل S0.
/s0cancel
إلغاء تعديل S0.
/0xADDR+
تحويل RVA → VA.
/0xADDR-
تحويل VA → RVA.
/f=0xADDR=VALUE
تعديل قيمة Float مباشر.
/!
تعديل حقل كائن تلقائي.
0xADDR: HEX
تعديل بايتات مباشر في الذاكرة.
📁 الملفات الناتجة
الملف الوصف DZ_Scanner_Log.txt سجل جميع العمليات dumps.cs جميع الدوال بصيغة C# libil2cpp.so_dump.so المكتبة كاملة من الذاكرة cfg_report.txt Control Flow Graph PIIP.txt سجلات كاملة من نقاط التوقف object_signatures.txt بصمات الكائنات function_dump_0xXXX.bin بايتات الدالة function_dump_0xXXX_hex.txt بايتات بصيغة Hex function_report_0xXXX.txt تقرير /VX كامل trace_report_0xXXX.txt تقرير التتبع extracted_ints.txt قيم Int المستخرجة extracted_floats.txt قيم Float المستخرجة strings_report.txt جميع السلاسل النصية vtable_report.md تقرير تحليل VTable xref_0xADDR.txt تقرير تحليل XREF s0_patch_0xADDR_TIMESTAMP.md تقرير تعديل S0
🚀 طرق الحقن داخل التطبيق
الطريقة 1: دمج المكتبة مع APK
# 1. فك ضغط APK
apktool d game.apk
# 2. انسخ libAdvancedCaller.so إلى lib/arm64-v8a/
cp libAdvancedCaller.so game/lib/arm64-v8a/
# 3. أضف System.loadLibrary في smali
# ابحث عن MainActivity.smali وأضف:
# const-string v0, "AdvancedCaller"
# invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
# 4. إعادة بناء APK
apktool b game -o modded.apk
# 5. توقيع APK
apksigner sign --ks key.keystore modded.apkالطريقة 2: استخدام Frida (للتجربة)
// frida -U -l load.js
Java.perform(function() {
var System = Java.use("java.lang.System");
System.loadLibrary("AdvancedCaller");
});الطريقة 3: LD_PRELOAD (مع Root)
adb shell
su
LD_PRELOAD=/data/local/tmp/libAdvancedCaller.so am start -n com.game/.MainActivity🔧 التعليمات الجاهزة للتعديل
الغرض البايتات الحجم تعطيل دالة (RET) C0 03 5F D6 4 إرجاع 1 20 00 80 52 C0 03 5F D6 8 إرجاع 0 00 00 80 52 C0 03 5F D6 8 NOP 1F 20 03 D5 4 إرجاع 100 64 00 80 52 C0 03 5F D6 8
🛡️ الحماية من الكراش
الميزة الوصف sigsetjmp/siglongjmp العودة بأمان من العناوين السيئة Signal Handlers SIGSEGV + SIGTRAP mprotect تغيير صلاحيات الصفحات بأمان Mutex حماية من تسابق الخيوط Auto Cleanup تنظيف الموارد تلقائياً
📊 قراءة السجلات الحقيقية
✅ X0-X30 (64-bit)
✅ W0-W30 (32-bit)
✅ S0-S31 (Float)
✅ D0-D31 (Double)
✅ Q0-Q31 (SIMD 128-bit)
✅ SP, PC, CPSR
✅ من ucontext (سياق المقاطعة الحقيقي)
📢 مهم: هذه المكتبة للأغراض التعليمية والبحثية فقط.
· ❌ لا تستخدم في اختراق تطبيقات الآخرين · ❌ لا تستخدم في الغش في الألعاب عبر الإنترنت · ✅ استخدم فقط على تطبيقاتك الخاصة
📄 رخصة MIT
MIT License
Copyright (c) 2026 ADEM
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
👨💻 المطور
ADEM - باحث ARM64 ومطور أدوات الهندسة العكسية
· ✅ 1,500+ تعليمة ARM64 · ✅ قراءة سجلات حقيقية من ucontext · ✅ بصمة الكائنات من X0 · ✅ تفريغ مكتبات كاملة · ✅ تحليل XREF · ✅ تحليل VTable · ✅ استخراج سلاسل · ✅ كل هذا على هاتف فقط!
📅 سجل التغييرات
الإصدار 8.0 (2026-08-27)
· ✨ إضافة تحليل XREF (/xref=0xADDR) · ✨ إضافة استخراج السلاسل (/strings) · ✨ إضافة تحليل VTable (/vtable) · ✨ إضافة حاسبة العناوين (/0xADDR+, /0xADDR-) · ✨ إضافة تعديل S0 مباشر (/s0patch) · ✨ إضافة استخراج Int تلقائي (/V) · ✨ إضافة استخراج Float تلقائي (/VF) · ✨ إضافة تعديل Float مباشر (/f=0xADDR=VALUE) · ✨ إضافة تعديل حقل كائن (/!) · ✅ زيادة التعليمات إلى 1,500+ · ✅ إصلاح 50+ مشكلة في فك التعليمات
الإصدار 7.2 (2026-08-13)
· ✨ إضافة /C# استخراج الدوال · ✨ إضافة /dumplib تفريغ المكتبة · ✨ إضافة /0xADDR! هوك + بصمة · ✨ قراءة X0 من ucontext
الإصدار 7.1 (2026-08-04)
· ✨ مولد CFG · ✨ نقاط توقف ذكية · ✨ هوكات متقدمة
📊 استهلاك الذاكرة وحجم المكتبة - ARM64Xploit v8.0
## 📊 **استهلاك الذاكرة وحجم المكتبة**
### 📦 **حجم المكتبة النهائي**
┌─────────────────────────────────────────────────────┐ │ │ │ 212.85 KB │ │ │ │ ✅ الحجم النهائي للمكتبة │ │ ✅ تم التحقق من الملف الفعلي │ │ ✅ يشمل جميع الميزات والوظائف │ │ │ └─────────────────────────────────────────────────────┘
---
### 📈 **تفاصيل الحجم بالكامل**
| المكون | الحجم | النسبة |
|--------|-------|--------|
| **المكتبة الكاملة** | **212.85 KB** | **100%** |
| كود ARM64 المحلل | ~85 KB | 40% |
| دوال الهندسة العكسية | ~50 KB | 23.5% |
| هوكات ونقاط توقف | ~30 KB | 14% |
| تحليل XREF و VTable | ~20 KB | 9.4% |
| استخراج السلاسل | ~10 KB | 4.7% |
| تعديل S0 المباشر | ~8 KB | 3.8% |
| دوال مساعدة | ~9.85 KB | 4.6% |
---
### 🧠 **استهلاك الذاكرة في وقت التشغيل (Runtime)**
| المكون | الذاكرة | ملاحظات |
|--------|---------|----------|
| **الحد الأدنى** | **~2 MB** | بدون تحليل نشط |
| **الحد المتوسط** | **~5 MB** | مع تحليل دالة واحدة |
| **الحد الأقصى** | **~50 MB** | مع جميع الميزات النشطة |
#### تفصيل استهلاك الذاكرة:
| العنصر | الحجم | الوصف |
|--------|-------|-------|
| قاعدة المكتبة | ~200 KB | الكود الأساسي |
| ذاكرة مؤقتة للتعليمات | ~500 KB | تخزين التعليمات المفككة |
| ذاكرة مؤقتة للـ XREF | ~200 KB | 50 إشارة مخزنة |
| مخزن السلاسل | ~256 KB | 1,000 سلسلة نصية |
| مخزن VTables | ~500 KB | 500 جدول افتراضي |
| نقاط التوقف | ~64 KB | 128 نقطة توقف |
| الهوكات | ~128 KB | 256 هوك |
| متغيرات عامة | ~50 KB | هياكل البيانات |
| Buffer I/O | ~512 KB | ملفات مؤقتة |
| **المجموع التقريبي** | **~2.4 MB** | الحد الأدنى |
---
### 📉 **مقارنة مع الإصدارات السابقة**
| الإصدار | الحجم | الفرق |
|---------|-------|-------|
| v7.2 | 89 KB | - |
| v8.0 | **212.85 KB** | +123.85 KB |
#### تحليل الزيادة في الحجم:
| الميزة الجديدة | الزيادة | السبب |
|----------------|---------|--------|
| تحليل XREF | +25 KB | دوال جديدة وهياكل |
| استخراج السلاسل | +15 KB | دوال تصنيف + مخزن |
| تحليل VTable | +20 KB | اكتشاف + RTTI |
| تعديل S0 | +10 KB | معالج SIGTRAP + تقارير |
| تعليمات جديدة | +30 KB | 1,000+ تعليمة جديدة |
| دوال مساعدة | +23.85 KB | تحسينات وأدوات |
---
### ⚡ **أداء الذاكرة في السيناريوهات المختلفة**
#### 1. **وضع الخمول (Idle)**
الذاكرة المستخدمة: ~2 MB المعالج: 0% الملفات المفتوحة: 1 (سجل)
#### 2. **تحليل دالة (/VX)**
الذاكرة المستخدمة: ~5 MB المعالج: 5-10% الملفات المفتوحة: 3
#### 3. **توليد CFG (/cfg)**
الذاكرة المستخدمة: ~8 MB المعالج: 10-20% الملفات المفتوحة: 2
#### 4. **استخراج السلاسل (/strings)**
الذاكرة المستخدمة: ~3 MB المعالج: 15-30% الملفات المفتوحة: 2
#### 5. **تحليل XREF (/xref)**
الذاكرة المستخدمة: ~6 MB المعالج: 20-40% الملفات المفتوحة: 2
#### 6. **تحليل VTable (/vtable)**
الذاكرة المستخدمة: ~10 MB المعالج: 30-50% الملفات المفتوحة: 2
#### 7. **تفريغ المكتبة (/dumplib)**
الذاكرة المستخدمة: ~5-50 MB المعالج: 10-30% الملفات المفتوحة: 2 ملاحظة: يعتمد على حجم المكتبة
#### 8. **جميع الميزات معاً**
الذاكرة المستخدمة: ~50 MB المعالج: 20-40% الملفات المفتوحة: 5+
---
### 🗑️ **تنظيف الذاكرة التلقائي**
| الميزة | الوصف | التوقيت |
|--------|-------|---------|
| Auto Cleanup | تنظيف الموارد | عند الانتهاء |
| ذاكرة مؤقتة | تخزين مؤقت للـ XREF | 5 دقائق |
| مخزن السلاسل | تخزين السلاسل | حتى نهاية الجلسة |
| نقاط التوقف | تعطيل تلقائي | بعد 1000 ضربة |
---
### 📊 **إحصائيات الذاكرة النهائية**
┌─────────────────────────────────────────────────────┐ │ │ │ 📦 حجم المكتبة: 212.85 KB │ │ 🧠 ذاكرة التشغيل: 2-50 MB │ │ ⚡ سرعة التنفيذ: عالية جداً │ │ 🔒 حماية الكراش: ممتازة │ │ 🧹 تنظيف تلقائي: نعم │ │ │ │ 🏆 حجم ممتاز مقابل الإمكانيات │ │ │ └─────────────────────────────────────────────────────┘
---
### 🔬 **مقارنة مع أدوات أخرى**
| الأداة | الحجم | الذاكرة | المنصة |
|--------|-------|---------|--------|
| **ARM64Xploit v8.0** | **212.85 KB** | **2-50 MB** | **Android** |
| IDA Pro | 500+ MB | 2-4 GB | PC/Mac |
| Ghidra | 800+ MB | 2-8 GB | PC/Mac |
| Radare2 | 50+ MB | 200-500 MB | PC/Mac |
| Capstone | 10 MB | 50-100 MB | متعدد |
---
### 📝 **ملاحظات إضافية**
1. **الحجم 212.85 KB** يشمل:
- ✅ جميع التعليمات (1,500+)
- ✅ جميع الميزات (25 ميزة)
- ✅ جميع الهياكل والوظائف
- ✅ التوثيق المدمج
2. **استهلاك الذاكرة** يعتمد على:
- عدد الميزات النشطة
- حجم المكتبة المستهدفة
- عدد نقاط التوقف والهوكات
3. **التنظيف التلقائي** يضمن:
- تحرير الذاكرة عند الانتهاء
- عدم تراكم البيانات
- أداء مستقر
---
### ✅ **الخلاصة**
- **حجم المكتبة: 212.85 KB**
- **استهلاك الذاكرة: 2-50 MB**
- **أداء ممتاز** مقارنة بالإمكانيات
- **تنظيف تلقائي** للحفاظ على الذاكرة
📝 ملخص الأرقام النهائية
القياس القيمة حجم المكتبة 212.85 KB الحد الأدنى للذاكرة ~2 MB الحد المتوسط للذاكرة ~5 MB الحد الأقصى للذاكرة ~50 MB المعالج (متوسط) 10-30% المعالج (ذروة) 50%
ARM64Xploit v8.0 - محرك ARM64 النهائي على Android 🚀
صنع بحب ❤️ بواسطة ADEM | 2026