رتبه موضوع:
  • 41 رای - 2.78 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
AntiVmWare
#1
The virtual machine system VMware uses a “backdoor
communication port” to be able to pass data between the host
and the guest operating system. This communication port is
used to read and write clipboard information, drag and drop
between host and guest operating system, and allow file
sharing between the two running systems. Communication on
this port occurs by using two privileged x86 instructions, “IN”
and “OUT”. These two instructions cannot normally be run
from an unprivileged vantage point and would generate an
exception; however when running under VMware, the
emulation layer has implemented these particular instructions
differently allowing them to be executed from an unprivileged
vantage point. As such we can use these methods to detect if
we are in a VMware virtual environment.
In the inline assembly below we setup a call to the “IN”
instruction by pushing a number of static values onto the stack.
The first parameter of interest is the static string ‘VMXh’.
This string is the “magic” value that must be present for the
virtual machine to know that the request is legitimate. The
value 10 is the particular VMware backdoor function that we
wish to execute, while the value ‘VX’ is the default port that
the VMware backdoor IO listens for. Finally we execute the
“IN” call and analyze the return value. If the return value is
zero, and we have reached our exception handler, we know
that we are not running in a virtual session. If the return value
is non zero and we do not reach out exception handler we are
running inside of VMware
کد:
Function AntiVMware():boolean;
begin
try
  asm
   push edx;
   push ecx;
   push ebx;
   mov eax, 'VMXh';
   mov ebx, 0; // This can be any value except MAGIC
   mov ecx, 10; // "CODE" to get the VMware Version
   mov edx, 'VX'; // Port Number
   in eax, dx; // Read port
   //On return EAX returns the VERSION
   cmp ebx, 'VMXh'; // is it VMware
   setz Result; //Set flag state
   pop ebx;
   pop ecx;
   pop edx;
  end;
except
  Result:= False;
end;
end;



[code]

if AntiVMware then
  MessageBox(0, 'VMware Instance Detected', 'VMware Detected', +MB_OK +MB_ICONINFORMATION)
  else
  MessageBox(0, 'No VMware Instance Detected', 'No VMware Detected', +MB_OK +MB_ICONINFORMATION);

با سورس بالا میتونید از اجرا شدن برنامه در محیط vm جلوگیری کنید.

بر روی این نسخه هم تست شده و جواب داده

VM WARE 7.1.0
در صورتی که سوال دارید و سوالتون مختصر هست با شماره 09120642214 میتونید تماس بگیرید.
کسانی که دوست دارن در کانال فروشگاه ما و یا کانال انجمن عضو بشن یک پیامک در تلگرام برای من بفرستید که عضوشون میکنم.

ادرس فروشگاه :

http://www.amshop.ir



ای ام شاپ را در اینستگرام دنبال کنید

ای ام شاپ رو در کانال تلگرام دنبال کنید



This forum uses Lukasz Tkacz MyBB addons.
پاسخ
#2
سپاس
میشه در مورد الگوریتم و اینکه چطور تشخیص میده سیستم مجازی هست، توضیح بدین؟
سپاسگزارم
پاسخ
#3
سپاس
بالاش توضیح داده اینم ترجمش که گویا هست :ر:
ماشین مجازی سیستم VMWARE با استفاده از درپشتی "
ارتباط پورت "را قادر به انتقال داده ها بین میزبان
و مهمان سیستم عامل. این پورت ارتباطی است
استفاده می شود به خواندن و نوشتن اطلاعات مربوط به کلیپ بورد، کشیدن و رها کردن
بین میزبان و مهمان سیستم عامل، و اجازه می دهد فایل
به اشتراک گذاری بین دو سیستم در حال اجرا است. ارتباطات در
این بندر رخ می دهد با استفاده از دو ممتاز دستورات x86، "در"
و "خارج". این دو دستورالعمل به طور معمول نمی تواند اجرا شود
از یک دیدگاه غیر ممتاز خواهد بود و تولید
استثنا، با این حال وقتی که در حال اجرا را تحت VMWare،
لایه شبیه ساز اجرا کرده است این دستورالعمل خاص
متفاوت اجازه می دهد آنها را به اجرا را از غیر ممتاز
دیدگاه. به این ترتیب ما می توانیم از این روش برای شناسایی استفاده کنید اگر
ما در یک محیط مجازی VMWARE هستیم.
در صورتی که سوال دارید و سوالتون مختصر هست با شماره 09120642214 میتونید تماس بگیرید.
کسانی که دوست دارن در کانال فروشگاه ما و یا کانال انجمن عضو بشن یک پیامک در تلگرام برای من بفرستید که عضوشون میکنم.

ادرس فروشگاه :

http://www.amshop.ir



ای ام شاپ را در اینستگرام دنبال کنید

ای ام شاپ رو در کانال تلگرام دنبال کنید



This forum uses Lukasz Tkacz MyBB addons.
پاسخ
#4
سپاسگزارم
دقت نکرده بودم
یه سوال:
میشه در بعضی vmها، حالت dra & drop رو غیر فعال کرد، شبکه(NATو...) و همه راههای ارتباطی رو غیر فعال کرد. آیا باز هم کد بالایی جواب میده.
سپاس
پاسخ
#5
درود
بنظر من امکانش هست و توی سیستم عامل مجازی میشه غیر فعالشون کرد.
سمپل اماده ندارم
در صورتی که سوال دارید و سوالتون مختصر هست با شماره 09120642214 میتونید تماس بگیرید.
کسانی که دوست دارن در کانال فروشگاه ما و یا کانال انجمن عضو بشن یک پیامک در تلگرام برای من بفرستید که عضوشون میکنم.

ادرس فروشگاه :

http://www.amshop.ir



ای ام شاپ را در اینستگرام دنبال کنید

ای ام شاپ رو در کانال تلگرام دنبال کنید



This forum uses Lukasz Tkacz MyBB addons.
پاسخ
#6
امین منظورش این بود اگه تمام ارتباط ها با سیستم اصلی مثل درگ دراپ فایل و شبکه و ... حذف بشه آیا باز هم این کد برای تشخیص ماشین مجازی کار میکنه ؟
که فکر نکنم ربطی داشته باشه کد بازم باید تشخیص بده.
باید حرف زورو نشنوم کر شم فقط -- تو نه رفیق ریگی نیست به کفشم نترس

 نه ، نه من تروریست نیستم -- من رو کاغذ می بازم ولی تئوری نیستم

باید دردای دلمو و تو دلم چال کنم -- تا چشمای من یه روزی  یهویی خیس  شن
پاسخ
#7
اها
اره
مربوط نیست  من سوال جوری دیگه خوندم.
ببخشید
نه ربطی ندارن
تشخیص میده البته تا VM WARE 7.1.0 امکان داره نسخه های جدید تغییراتی داده باشن
در صورتی که سوال دارید و سوالتون مختصر هست با شماره 09120642214 میتونید تماس بگیرید.
کسانی که دوست دارن در کانال فروشگاه ما و یا کانال انجمن عضو بشن یک پیامک در تلگرام برای من بفرستید که عضوشون میکنم.

ادرس فروشگاه :

http://www.amshop.ir



ای ام شاپ را در اینستگرام دنبال کنید

ای ام شاپ رو در کانال تلگرام دنبال کنید



This forum uses Lukasz Tkacz MyBB addons.
پاسخ


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان
<------> <____> <<<<----------------->>>> <<<<--->>>>>
This forum uses Lukasz Tkacz MyBB addons.