PDA

View Full Version : گفتگو: یکی از ساده ترین تکنیک تشخیص محیط ماشین مجازی



maarek
سه شنبه 25 اسفند 1394, 08:26 صبح
سلام
یکی از قفل های ایرانی از کد زیر برای تشخیص محیط ماشین مجازی استفاده میکنه :



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 پرس و جو میکنه که همانطور که در خروجی کد میبینید میشه محیط مجازی رو تشخیص داد.

139619

139618

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

بحث در مورد (WQL(WMI Query Language (http://barnamenevis.org/showthread.php?131939-%D8%A8%D8%AD%D8%AB-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-%28WQL%28WMI-Query-Language)

WMI Code Creator v1.0

(https://www.microsoft.com/en-us/download/details.aspx?id=8572)اما سوالی که واسه خودم پیش امده اینکه چطور میشه جوابی که از اجرای query میگیره رو عوض کرد ؟ یا اینکه این مشخصات کجا ذخیره میشن ؟ ...

Nima NT
سه شنبه 25 اسفند 1394, 09:39 صبح
(https://www.microsoft.com/en-us/download/details.aspx?id=8572)اما سوالی که واسه خودم پیش امده اینکه چطور میشه جوابی که از اجرای query میگیره رو عوض کرد ؟ یا اینکه این مشخصات کجا ذخیره میشن ؟ ...

مشخصات تو رجیستری هستش ولی نمیشه تغییرشون داد
یه روش بلوک کردن دسترسی به رجیستری یا از کار انداختن سرویس WMI هست (البته اگر قفل Exception Handler درستی نداشته باشه)

Felony
دوشنبه 30 فروردین 1395, 02:42 صبح
مشخصات تو رجیستری هستش ولی نمیشه تغییرشون داد
با اینکه مدتی از تاپیک گذشته ولی جهت استفاده آیندگان میگم که میشه result توابع WMI رو با هوک کردنشون تغییر داد :

https://msdn.microsoft.com/en-us/library/aa391442%28v=vs.85%29.aspx

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

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