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

معرفه نوع الانتي فيرس وسرعه الرامات

مغلق
بدأه فؤاد سعد في 17 ديسمبر 2007 · 11 رد · 1,852 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

هل من كود لمعرفه نوع الانتي فيرس ؟؟؟

وهل من كود لمعرفه سرعه الرامات؟؟؟

افيديوني افادكم الله

تحياتي..................

فؤاد سعد

#2

آآآآآآه , يبقى كودي لم ينفع بقى :lol:

بالنسبة للرامات جرب :

Memory.rar

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#3

شكرا يا قمر هشوف وارد عليك

جابلي اراقم كتيره وغير مرتبه ؟؟؟

انا كنت عاوز سرعه الرامات بالكيلو بايت

على العموم شكرا لك على افادتي

#5

بالنسبة للشطر الأول من السؤال لا أعرف كيف هي أنواع الAntiVirus

ممكن تقصد واحد مختص Internet Security و آخر غير ذلك ؟

لكن كنت أفكر في فرضية أن كل مكافحات الفيروسات أو جلها (التي أعرفها يعني ) تعمل كخدمة ويندوز Windows Service

وطبعا أي مكافح فيروسات على الأقل يكون في وصفه كلمة AntiVirus أليس كذلك ؟

واعتمادا على هذه الفرضية (ممكن تكون خاطئة ) ادرجت هذا السكريبت الذي يبحث في الخدمات المثبيتة على الجهاز ويتأكد من أنه توجد خدمة تحتوي على وصف فيه كلمة AntiVirus


On Error Resume Next
Set objWMIService = GetObject("winmgmts:\\")
Set colItems = objWMIService.InstancesOf("Win32_Service")
For Each objItem In colItems
If InStr(objItem.Description, "AntiVirus") Then
HAntiVirus = objItem.Name
Exit Function
End If
Next
DoEvents
End Function
 Function HAntiVirus() As String

بالتوفيق ان شاءء الله

وكل عام وانتم بخير

#7

شكرا اخي دريم وشكرا يا علاء على المجهود

#8

بسم الله والصلاة والسلام على رسول الله ...

أخي الكريم هذه الأكواد قمت بإضافتها إلى برنامجي RAT لجلب معلومات جهاز الضحية ..

أرجو أنك أيضاً تقوم بعمل برنامج مماثل :)

بالنسبة لجدران الحماية لا يشترط أنها تحمل Antivirus فمثلاُ الكاسبر يكتب Kaspersky Internet Security 7.0 :) أو Kaspersky Anti-Hacker أو حسب البرنامج المثبت ...

الحل مثل ما عمل الأخ Dreamnet ولكن عدم إستخدام Win32_Service بل إستخدام SecurityCenter

وبهذا الكود كدالة سيكون على الشكل التالي :

Public Function GetFWAV() As String
	On Error Resume Next
	Dim colItems As Object
	Dim objItem As Object
	Dim objWMIService As Object
	Set objWMIService = GetObject("winmgmts:\\.\root\SecurityCenter")
	Set colItems = objWMIService.ExecQuery("Select * from FirewallProduct", , 48)
	Dim tmp As String, endt As String
	tmp = "-"
	For Each objItem In colItems
		tmp = objItem.CompanyName & " " & objItem.DisplayName & " (Version: " & objItem.versionnumber & ")"
	Next
	endt = tmp
	tmp = ""
	Set colItems = objWMIService.ExecQuery("Select * from AntiVirusProduct", , 48)
	For Each objItem In colItems
		tmp = objItem.CompanyName & " " & objItem.DisplayName & " (Version: " & objItem.versionnumber & ")"
	Next
	GetFWAV = endt & vbCrLf & tmp
End Function

وعند إستدعاء الدالة بأي شكل فإن الناتج سيكون على شكل:

شركة البرنامج + اسم برنامج الجدار الناري + الإصدار أو " - " إذا لم يوجد

شركة البرنامج + اسم برنامج الحماية من الفيروسات + الإصدار أو " - " إذا لم يوجد

-------------------------------------------------------

بالنسبة للرام: إستعمل الكود التالي:

Private Declare Function GlobalMemoryStatusEx Lib "kernel32" (ByRef lpBuffer As MEMORYSTATUSEX) As Long
Private Declare Sub RtlMoveMemory Lib "kernel32" (Destination As Any, Source As Any, ByVal Length As Long)
Private Type LARGE_INTEGER: dwLow As Long: dwHigh As Long: End Type
Private Type MEMORYSTATUSEX
  dwLength As Long
  dwMemoryLoad As Long
  ullTotalPhys As LARGE_INTEGER
  ullAvailPhys As LARGE_INTEGER
  ullTotalPageFile As LARGE_INTEGER
  ullAvailPageFile As LARGE_INTEGER
  ullTotalVirtual As LARGE_INTEGER
  ullAvailVirtual As LARGE_INTEGER
  ullAvailExtendedVirtual As LARGE_INTEGER
End Type

Function MemoryAvailable() As Currency
  Dim MemStat As MEMORYSTATUSEX
  Dim TotalPhys As Currency
  On Error Resume Next
  MemStat.dwLength = Len(MemStat)
  GlobalMemoryStatusEx MemStat
  TotalPhys = LargeIntToCurrency(MemStat.ullTotalPhys)
  MemoryAvailable = TotalPhys
End Function

Private Function LargeIntToCurrency(liInput As LARGE_INTEGER) As Currency
  On Error Resume Next
  RtlMoveMemory LargeIntToCurrency, liInput, LenB(liInput)
  LargeIntToCurrency = LargeIntToCurrency * 10000
End Function

والنتيجة بعد إستدعاء الدالة سيكون على الشكل التالي: (بالبايت)

1064808448 أو على حسب الرام الموجود وبعد ذلك نستخدم الدالة التالية للتحويل للصيغة المطلوبة

Private Declare Function StrFormatByteSizeA Lib "shlwapi" (ByVal dw As Long, ByVal pszBuf As String, ByRef cchBuf As Long) As String
Private Function FormatKB(ByVal Amount As Long) As String
	Dim Buffer As String
	Dim result As String
	Buffer = Space$(255)
	result = StrFormatByteSizeA(Amount, Buffer, Len(Buffer))
	If InStr(result, vbNullChar) > 1 Then FormatKB = Left$(result, InStr(result, vbNullChar) - 1)
End Function

هذه الدالة للتحويل من عدد بايتات إلى قيمة مقروءة يعني من 2024 إلى 2 ميغا وهكذا

وعند إستدعائها مع الدالة السابقة على الشكل التالي:

FormatKB(CLng(MemoryAvailable))

سيصبح الناتج بهذا الشكل 0.99 غ.ب

آمل أنني وفقت في الرد على سؤالك والسلام عليكم ورحمة الله وبركاته ...

#9

لقد جربت الكود الذي وضعته ولم يعمل لكن الكود الذي يستعمل الsecurity center اشتغل

ومادمنا بصدد الحديث عن الWMI يمكننا أيضا استعمالها في معرفة الMemory ومعرفة أيضا كم عدد الرامات المركبة بالداخل حتى


On Error Resume Next
Set objWMIService = GetObject("winmgmts:\\")
Set colItems = objWMIService.InstancesOf("Win32_PhysicalMemory")
For Each objItem In colItems
Print "BankLabel: " & objItem.BankLabel
Print "Capacity: " & objItem.Capacity / 1048576 & " Mo"
mtt = mtt + objItem.Capacity
Next
Print Str(mtt / 1048576) & " Mo"
Dim mtt As Long

شكرا على الملاحظة أخي syntax_err

#10

تسلم أخي الكريم على الإضافة ...

لو عندك الطريقة عشان معرفة الكائنات اللي تنشق من "winmgmts:\\" مثل السيكيوريتي سنتر وغيرها يا ريت لو تنشرها عشان نستفيد منها ..

وكمان بدل أن تقوم بإستخدام القسمة على 1048576 قم بإستعمال الدالة التي بالرد السابق فهي تقوم بالتحويل لشكل مقبول ..

تقبل مروري ...

#11

شكرا

بالنسبة للWMI ربما يفيدك المثال الذي وضعته والموجود في توقيعي عن WMIcodeGenerator وهو قديم ولم أطور فيه شئ لكنه مفيد نوعا ما

/index.php?showtopic=124986

#12

الف الف شكر اخي الكريم سينتاكس على الاكواد الرائعه مثلك

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

تحياتي .......................

فؤاد سعد

شكرا اخي الكريم dreem

هذا الموضوع مغلق.

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