الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هي فكرة عمل برامج الانظمة التخيلية و المضادات لها

بدأه msshfh في 2 يناير 2012 · 8 رد · 1,541 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة لله و بركاتة

اخواني حبيت اسئل ما هي فكرة عمل برنامج vmware workstation اعتقد البرنامج مشهور ( هوا برنامج لعمل بيئة وهمية لتشغيل نظم التشغيل عليها و الكثير )

و ايضا فكر عمل الادوات التي تكون مضادة anti vmware workstation ولمن لا يعرف ما هي (يعني ان الملف عندما يكشف انة يعمل في بيئة وهمية يتم ايقاف تشغيلة تلقائيا)

و كيف يمكن للملف ان يكشف ان تم تشغيلة في بيئة وهمية

_________

لا اله الا الله

_________

#2

يتم صناعة emulator يماثل فى نظام عمله architecture معينه و يتم كتابة BIOS للتناسب مع هذا الـ emulator (و ذلك لقراءة الـ hardware التى سيتم تثبيتها من خلال ملف configuration على سبيل المثال).

برنامج VMWare يقوم بتثبيت drivers على الـ client و الـ host لتسهل عملية التواصل بينهم.

لا توجد وسيلة محدده لمعرفة إذا كان البرنامج يعمل على VM ام لا، و لكن توجد بعض المحاولات منها Detect if your program is running inside a Virtual Machine.

و الله ولي التوفيق

2

مدونتي: C++ Tips and Tricks

#3
محمد علاء الدين كتب:

يتم صناعة emulator يماثل فى نظام عمله architecture معينه و يتم كتابة BIOS للتناسب مع هذا الـ emulator (و ذلك لقراءة الـ hardware التى سيتم تثبيتها من خلال ملف configuration على سبيل المثال).

برنامج VMWare يقوم بتثبيت drivers على الـ client و الـ host لتسهل عملية التواصل بينهم.

لا توجد وسيلة محدده لمعرفة إذا كان البرنامج يعمل على VM ام لا، و لكن توجد بعض المحاولات منها Detect if your program is running inside a Virtual Machine.

و الله ولي التوفيق

شكرا لك اخي علي المعلومة ولكن يوجد العديد من البرامج التي تحتوي علي خصائص

anti vmware

anti sand box

anti virtual mach

ولكن حبيت اعرف فكرة العمل و ياريت لو تعرف اي روابط مفيدة تدرجها لنا هنا او بعض المعلومات عن الموضوع بالتفصيل

شكرا

تم تعديل هذه المشاركة بواسطة msshfh في 3 يناير 2012 في 18:06

#4
msshfh كتب:

شكرا لك اخي علي المعلومة ولكن يوجد العديد من البرامج التي تحتوي علي خصائص

anti vmware

anti sand box

anti virtual mach

ولكن حبيت اعرف فكرة العمل و ياريت لو تعرف اي روابط مفيدة تدرجها لنا هنا او بعض المعلومات عن الموضوع بالتفصيل

شكرا

ورقة جيدة فى هذا الامر

On the Cutting Edge: Thwarting Virtual Machine Detection

الفكرة بصورة عامة بدون الدخول فى التفاصيل تعتمد علي التحقق من هوية العملية التي يقوم بها التطبيق وهل هي تتبع Virtualization Machine أم علي Real Machine وبعدها تكون عملية المنع سهلة وتختلف من تطبيق لآخر

وجدت لك ايضا كود كمثال لنظام التشغيل ويندوز لتعرف اذا كان التطبيق يعمل فى نطاق VMware أم لا

Path:
C:\Program Files\VMware\VMware Tools


Running process:
VMwareUser.exe
VMwareTray.exe
VMUpgradeHelper.exe
vmacthlp.exe


Registry:
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 1\Scsi Bus 0\Target Id 0\Logical Unit Id 0]
"Identifier"="NECVMWar VMware IDE CDR10"

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 2\Scsi Bus 0\Target Id 0\Logical Unit Id 0]
"Identifier"="VMware, VMware Virtual S1.0"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Disk\Enum]
"0"="SCSI\\Disk&Ven_VMware_&Prod_VMware_Virtual_S&Rev_1.0\\4&5fcaafc&0&000"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000]
"DriverDesc"="VMware SVGA II"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000\Settings]
"Device Description"="VMware SVGA II"

[HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools]
"InstallPath"="C:\\Program Files\\VMware\\VMware Tools\\"

والله ولي التوفيق

1

GoodBye

#5
اقتباس

شكرا لك اخي علي المعلومة ولكن يوجد العديد من البرامج التي تحتوي علي خصائص

anti vmware

anti sand box

anti virtual mach

ولكن حبيت اعرف فكرة العمل و ياريت لو تعرف اي روابط مفيدة تدرجها لنا هنا او بعض المعلومات عن الموضوع بالتفصيل

كما ترى التتحقق يكون من VMs معينه و لم يتم إدراج وسيله واحده لتعم علي برامج VMs جميعها، لذا كما قلت لك من قبل كل VM له اسلوب خاص به فإن عرفته تستطيع عمل block له داخل برنامجك.

و الله ولي التوفيق

تم تعديل هذه المشاركة بواسطة محمد علاء الدين في 3 يناير 2012 في 23:55

1

مدونتي: C++ Tips and Tricks

#6
MohamedIBrahim كتب:

ورقة جيدة فى هذا الامر

On the Cutting Edge: Thwarting Virtual Machine Detection

الفكرة بصورة عامة بدون الدخول فى التفاصيل تعتمد علي التحقق من هوية العملية التي يقوم بها التطبيق وهل هي تتبع Virtualization Machine أم علي Real Machine وبعدها تكون عملية المنع سهلة وتختلف من تطبيق لآخر

وجدت لك ايضا كود كمثال لنظام التشغيل ويندوز لتعرف اذا كان التطبيق يعمل فى نطاق VMware أم لا

Path:
C:\Program Files\VMware\VMware Tools


Running process:
VMwareUser.exe
VMwareTray.exe
VMUpgradeHelper.exe
vmacthlp.exe


Registry:
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 1\Scsi Bus 0\Target Id 0\Logical Unit Id 0]
"Identifier"="NECVMWar VMware IDE CDR10"

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 2\Scsi Bus 0\Target Id 0\Logical Unit Id 0]
"Identifier"="VMware, VMware Virtual S1.0"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Disk\Enum]
"0"="SCSI\\Disk&Ven_VMware_&Prod_VMware_Virtual_S&Rev_1.0\\4&5fcaafc&0&000"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000]
"DriverDesc"="VMware SVGA II"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000\Settings]
"Device Description"="VMware SVGA II"

[HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools]
"InstallPath"="C:\\Program Files\\VMware\\VMware Tools\\"

والله ولي التوفيق

جزاك الله كل خير

#7
محمد علاء الدين كتب:

كما ترى التتحقق يكون من VMs معينه و لم يتم إدراج وسيله واحده لتعم علي برامج VMs جميعها، لذا كما قلت لك من قبل كل VM له اسلوب خاص به فإن عرفته تستطيع عمل block له داخل برنامجك.

و الله ولي التوفيق

نعم اخي كلامك صحيح فبرنامج sand box في real لة عملية يمكن يقافة لكن اذا تمت تجربة الملف داخلة فلا يوجد في العمليات سوي البرنامج الذي تتم تجربتة

وجدت هذا الكود خاص antI sand box

لم تتم تجربتة بعد

الكود مبرمج بـ c++

bool detectSandbox(char* exeName, char* user){
     // Used for detecting sandboxes. So far it detects


      char* str = exeName;
      char * pch;

     HWND snd;

     if( (snd = FindWindow("SandboxieControlWndClass", NULL)) ){
       return true; // Detected Sandboxie.
     } else if( (pch = strstr (str,"sample")) || (user == "andy") || (user == "Andy") ){
       return true; // Detected Anubis sandbox.
     } else if( (exeName == "C:\file.exe") ){
       return true; // Detected Sunbelt sandbox.
     } else if( (user == "currentuser") || (user == "Currentuser") ){
       return true; // Detected Norman Sandbox.
     } else if( (user == "Schmidti") || (user == "schmidti") ){
       return true; // Detected CW Sandbox.
     } else if( (snd = FindWindow("Afx:400000:0", NULL)) ){
       return true; // Detected WinJail Sandbox.
     } else {
       return false;
     }
}

و اخير جزاك الله كل خير

#8

السؤال الذي يطرح نفسه وهو من وجهة نظري الشخصية أكثر أهمية

هو لماذا كل هذا بمعني لماذا اساسا نخسر ميزة وهي عمل التطبيقات على VMs

وهو ان لم ينفع فلن يضر

GoodBye

#9
MohamedIBrahim كتب:

السؤال الذي يطرح نفسه وهو من وجهة نظري الشخصية أكثر أهمية

هو لماذا كل هذا بمعني لماذا اساسا نخسر ميزة وهي عمل التطبيقات على VMs

وهو ان لم ينفع فلن يضر

اذا كنت تقصد لماذا نحتاج لايقاف عمل الملف في بيئة وهمية اذا كان الهدف من الملف شئ في الاختراق .. او تريد حماية ملفك من تحليلة وهذا هوا الهدف الاساسي بعيدا عن استخدامة ضمن الفيروسات اذا كنت تريد ان تدوم مدة اطول

و للتوضيح اكثر يوجد خاصية

anti debugger

وتخص برامج التنقيح مثل olly

وطبعا طريقة اخري مهمة فلنفرض انك تقوم بعمل برنامج يقوم بالتحديث من سيرفر و تريد عمل حماية بحيث ان لا احد يعرف عنوان السيرفر الخاص بك (tcp and udp etc)

تقوم بوضع الاكواد الخاصة باغلاق البرامج وتحدد انت title الخاصة بكل برنامج تريد اغلاقة اذا فتح مع برنامجك و هي نفس فكرة الفيروسات

بعض الفيروسات تقوم باغلاق برنامج الحماية لمجرد فتحها في الجهاز و تجرب تنزل برنامج حماية اخر ويكون مصيرة مثل الاول

الطريقة يمكن ستخدمها فيما ينفع وفيما يضر

ملحوظة: برنامج الافيرا فية حماية من الاغلاق بمعني اذا قمت بعمل فيرس يريد اغلاق الافيرا بمجرد فتح الفيرس لن ينجح لانة علي ما اعتقد plug in

و اخيرا انا هدفي نافع وليس مضر و ايضا زيادة لمعرفة ^_^

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…