نمایش نتایج 1 تا 3 از 3

نام تاپیک: یکی از ساده ترین تکنیک تشخیص محیط ماشین مجازی

  1. #1

    یکی از ساده ترین تکنیک تشخیص محیط ماشین مجازی

    سلام
    یکی از قفل های ایرانی از کد زیر برای تشخیص محیط ماشین مجازی استفاده میکنه :


    internal static bool Z64216988()
    {
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * from Win32_ComputerSystem");
    string str2 = string.Empty;
    string str = string.Empty;
    foreach (ManagementObject obj2 in searcher.Get())
    {
    str2 = obj2["Manufacturer"].ToString().ToLower();
    if (str2.Contains("microsoft corporation"))
    {
    if (obj2["Model"] == null)
    {
    return true;
    }
    if (!obj2["Model"].ToString().ToLower().Contains("surface"))
    {
    return true;
    }
    }
    if (((str2.Contains("red hat") | str2.Contains("vmware")) | str2.Contains("virtual")) | str2.Contains("qemu"))
    {
    return true;
    }
    if (obj2["Model"] != null)
    {
    str = obj2["Model"].ToString().ToLower();
    if (((str.Contains("kvm") | str.Contains("vmware")) | str.Contains("virtual")) | str.Contains("qemu"))
    {
    return true;
    }
    }
    }
    return false;
    }



    خب کد بالا متد های Manufacturer , Model را از کلاس Win32_ComputerSystem با استفاده از WQL پرس و جو میکنه که همانطور که در خروجی کد میبینید میشه محیط مجازی رو تشخیص داد.

    Name:  manfu.jpg
Views: 201
Size:  70.0 کیلوبایت

    Name:  model.jpg
Views: 201
Size:  69.9 کیلوبایت

    لینک های مرتبط :

    بحث در مورد (WQL(WMI Query Language

    WMI Code Creator v1.0

    اما سوالی که واسه خودم پیش امده اینکه چطور میشه جوابی که از اجرای query میگیره رو عوض کرد ؟ یا اینکه این مشخصات کجا ذخیره میشن ؟ ...

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: یکی از ساده ترین تکنیک تشخیص محیط ماشین مجازی

    نقل قول نوشته شده توسط maarek مشاهده تاپیک

    اما سوالی که واسه خودم پیش امده اینکه چطور میشه جوابی که از اجرای query میگیره رو عوض کرد ؟ یا اینکه این مشخصات کجا ذخیره میشن ؟ ...
    مشخصات تو رجیستری هستش ولی نمیشه تغییرشون داد
    یه روش بلوک کردن دسترسی به رجیستری یا از کار انداختن سرویس WMI هست (البته اگر قفل Exception Handler درستی نداشته باشه)

  3. #3

    نقل قول: یکی از ساده ترین تکنیک تشخیص محیط ماشین مجازی

    نقل قول نوشته شده توسط Nima NT مشاهده تاپیک
    مشخصات تو رجیستری هستش ولی نمیشه تغییرشون داد
    با اینکه مدتی از تاپیک گذشته ولی جهت استفاده آیندگان میگم که میشه result توابع WMI رو با هوک کردنشون تغییر داد :

    https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx

    اینجا هم طرف با Detours حرکت رو زده :

    http://forum.exetools.com/showthread.php?t=14432

تاپیک های مشابه

  1. پاسخ: 5
    آخرین پست: دوشنبه 18 بهمن 1389, 15:30 عصر
  2. مبتدی: امن ترین و ساده ترین روش نمایش یک فیلد از دیتابیس
    نوشته شده توسط vs2020 در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: چهارشنبه 23 تیر 1389, 22:38 عصر
  3. تشخیص خالی یا پر بودن text ها و هر بار اضافه شدن یک مقدار به یکی از text ها
    نوشته شده توسط ramsess در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: پنج شنبه 13 خرداد 1389, 18:18 عصر
  4. پاسخ: 0
    آخرین پست: یک شنبه 19 مهر 1388, 10:38 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •