یافتن، تحلیل و توقف باگهای gold duplication و item duplication قبل از اینکه اقتصاد سرورتون رو نابود کنن.
ویژگیها • نصب • استفاده • نمونه خروجی • مشارکت
اگه یک سرور شخصی WoW (AzerothCore) رو با صدها بازیکن مدیریت میکنی، میدونی که اقتصاد سرور ضعیفترین نقطهی امنیتیه. یک باگ duplication که کشف نشه میتونه در عرض چند روز:
- 💰 اقتصاد in-game رو از طریق gold تقلبی نابود کنه
- 🛒 فروشهای واقعی shop رو با آیتمهای کپیشده از بین ببره
- 😡 بازیکنان درستکار رو فراری بده
- 🎭 باعث blackmail و باجخواهی از طرف کسایی بشه که باگ رو پیدا کردن
CoreWarden یه ابزار forensic-style برای ادمینهای سرور AzerothCore است که بدون نیاز به اعتماد به گزارش بازیکنان، خودتون میتونین exploit ها رو پیدا کنین.
- اسکن کاراکترهایی با gold غیرعادی نسبت به level
- ردیابی انتقالهای مشکوک gold از طریق mail system
- تشخیص "velocity anomaly" — جمعآوری gold غیرعادی سریع
- پیدا کردن آیتمهای unique که بیش از یک نسخه ازشون وجود داره
- مانیتورینگ خاص آیتمهای فروشگاه (shop items) شما
- تشخیص flood کردن Auction House
- ضبط مستقیم ترافیک روی سرور با
tcpdump(بدون نیاز به دسترسی کلاینت) - پارس opcode های WoW Protocol برای شناسایی الگوهای مشکوک
- شناسایی IP هایی که عملیاتهای پرریسک رو زیاد انجام میدن
- خروجی JSON کامل قابل آرشیو
- نمایش رنگی و خوانا در ترمینال
- قابل اجرا بهصورت زمانبندیشده (cron) برای مانیتورینگ مستمر
# Python 3.9 یا بالاتر
python3 --version
# دسترسی به دیتابیس MySQL/MariaDB سرور AzerothCore
# دسترسی root برای packet capture (اختیاری)git clone https://github.com/Hordekiller/CoreWarden.git
cd CoreWarden
pip install -r requirements.txtsudo apt install tcpdumppython3 exploit_detector.py \
--db-host 127.0.0.1 \
--db-user acore \
--db-pass YOUR_PASSWORDpython3 exploit_detector.py \
--db-host 127.0.0.1 \
--db-user acore \
--db-pass YOUR_PASSWORD \
--shop-items 90001 90002 90003 \
--hours 48sudo python3 exploit_detector.py \
--db-host 127.0.0.1 \
--db-user acore \
--db-pass YOUR_PASSWORD \
--interface eth0 \
--capture \
--capture-duration 600| پارامتر | توضیح | پیشفرض |
|---|---|---|
--db-host |
آدرس دیتابیس | 127.0.0.1 |
--db-user |
یوزر دیتابیس | acore |
--db-pass |
پسورد دیتابیس | الزامی |
--db-port |
پورت دیتابیس | 3306 |
--shop-items |
لیست ID آیتمهای shop | [] |
--interface |
اینترفیس شبکه برای capture | eth0 |
--capture |
فعال کردن ضبط ترافیک | False |
--capture-duration |
مدت ضبط (ثانیه) | 300 |
--hours |
بازه زمانی بررسی لاگها | 24 |
--output |
مسیر فایل گزارش JSON | exploit_report.json |
╔══════════════════════════════════════════╗
║ AzerothCore Exploit Detector ║
║ تشخیص gold/item duplication ║
╚══════════════════════════════════════════╝
────────────────────────────────────────────
کاراکترهای مشکوک (gold غیرعادی)
────────────────────────────────────────────
⚠️ مشکوک:
name: ShadowGold
account: shadowacc99
last_ip: 185.xxx.xxx.xxx
level: 60
gold_display: 45000
threshold_gold: 30000
online: 0
────────────────────────────────────────────
آیتمهای تکراری (unique items)
────────────────────────────────────────────
⚠️ مشکوک:
entry: 90001
name: Crimson Blade of Mastery
count: 4
owners: ShadowGold, DupeKing, TestAcc2, TestAcc3
📋 خلاصه:
⚠️ 2 مورد مشکوک پیدا شد — گزارش کامل در exploit_report.json
قدم بعدی:
1. account های مشکوک رو موقتاً ban کن
2. gold/item های اضافه رو از دیتابیس حذف کن
3. نسخه AzerothCore رو آپدیت کن (git pull)
4. changelog رو بررسی کن برای bugfix های مرتبط
CoreWarden به جای تکیه بر گزارش بازیکنان یا حدس زدن، مستقیماً از سه منبع داده استفاده میکنه:
- دیتابیس کاراکترها (acore_characters) — برای gold و item anomalies
- سیستم Mail — برای ردیابی انتقالهای مشکوک
- ترافیک شبکه خام (در صورت فعالسازی) — برای دیدن دقیقاً چه opcode هایی قبل از exploit ارسال میشن
این رویکرد یعنی حتی اگه exploiter از طریق packet manipulation یا race condition در عملیاتهای trade/mail/auction سوءاستفاده کنه، رد پاش در دیتابیس و لاگ شبکه باقی میمونه.
- این ابزار فقط برای استفاده روی سرور خودتون طراحی شده — نه برای دستکاری سرورهای دیگران
- پسورد دیتابیس رو هیچوقت commit نکنین؛ از
.envیا متغیرهای محیطی استفاده کنین - بعد از پیدا کردن exploit، حتماً نسخه core رو آپدیت کنین و patch رسمی رو دنبال کنین
- Webhook به Discord برای alert خودکار
- Dashboard وب برای مانیتورینگ real-time
- پشتیبانی از TrinityCore
- تشخیص الگوهای رفتاری با machine learning ساده
- اجرای خودکار بهصورت systemd service
Pull request ها و issue ها خوشآمدن! اگه باگ پیدا کردین یا ایدهای برای تشخیص exploit جدید دارین، یک issue باز کنین.
این پروژه تحت لایسنس MIT منتشر شده. فایل LICENSE رو ببینین.
ساختهشده برای ادمینهای سرورهای شخصی WoW که خواب راحت میخوان 😴⚔️