آموزش ویژوال بیسیک و برنامه نویسی

سورس,ویژوال بیسیک,نرم افزار,باشگاه,بدنسازی,فوتبال,آنالیز,پیش بینی,کد,برنامه نویسی

آموزش ویژوال بیسیک و برنامه نویسی

سورس,ویژوال بیسیک,نرم افزار,باشگاه,بدنسازی,فوتبال,آنالیز,پیش بینی,کد,برنامه نویسی

قرار دادن فایل در برنامه شما (Resource)

موزش Resource کردن فایل در ویژوال بیسیک

در ابتدا شما باید برنامه Resource Editor را فرا خوانی کنید برای این کار به منوی Add-Ins رفته وبعد   Add-In Manager  را انتخاب کنید در لیست باز شده بر روی   VB 6 Resource Editor دو با ر کلیک کنید  تا مقابل آن کلمه Loaded ظاهر شود بعد ok  را زده بعد آیکنی در بالا ظاهر می شود

 (   ) آن را انتخاب کنید تا وارد Resource Editor شوید. در قسمت با لای برنامه آیکن هایی می بینید که هر کدام جهت ریسورس کردن هر فایلی است . آیکن اولی مر بوط به ریسورس های متنی آیکن دومی مربوط به شکلک موس آیکن سومی مربوط به آیکن  وآیکن بعدی مربوط به عکس هایی با فرمت BMP   و در آخر ریسورس کردن هر فایلی که می تواند exe  یا dll  و... باشد.

خوبب بعد از اینکه فایل های مورد نظرتون رو اضافه کردید نوبت می رسه به استفاده از اونا

 

 حتما متوجه شدید که وقتی یه فایل رو اضافه می کردید بهش یه شماره تعلق می گرفت که معمولا این شماره هاست 101,102,103,104,.... به این شماره ها ID  فابل میگند که برای تغییر اون می تونید روش دابل کلیک کنید و در پنجره ی باز شده در قسمت id هرچی خواستید بنویسید طریقه ی استفاده از این فایل ها بستگی به نوع اون داره که تک تک اموزش آنها را می دهیم

 

 1-اگه شما یه متن رو اضافه کرده باشید(ایکون اولی که روش نوشته abc ) باید این دستو ر رو براش بنویسید:

LoadResString( id )

که به جای id باید ایدی ی اون متن رو بنویسید. مثلا

Form1.caption = LoadResString(101)

2-اگه شما یه شکلک موس رو ذخیره کرده باشید (ایکون دوم که عکس ساعت شنی داشت) باید این دستور رو براش بنویسید

LoadResPicture( id , ResType )

در این دستور باید به جای id  ای دی فایل رو بنویسیدو به جای ResType نوع فایل که در اینجا چون شکلک موس رو می خواید لود کنید باید عدد 2 رو به جاش بنویسید مثلا:

Form1.Mouseicon = LoadResPicture (101 , 2)

3-اگه شما یک ایکون رو ذخیره کرده باشید می تونید اونو  از این طریق فراخوانی کنید:

LoadResPicture ( id , ResType )

اینم مثل قبل باید به جای id  ای دی فایل رو بذارید و به جای ResType  نوع فایل که اینجا چون فایل ما ایکون هست از عدد 1 به جای اون استفاده کنید. مثلا:

Form1.Icon = LoadResPicture ( 101 , 1 )

4-اگه شما یه فایل تصویری (با پسوند bmp چهارمین ایکون که توضیح دادم)ذخیره کرده باشید از طریق این کد اونو فراخوانی کنید:

LoadResPicture ( id, ResType )

اینم مثل قبل باید به جای  id  ای دی فایل و به جای ResType نوع فایل که چون فایل تصویری هست از از عدد 0 به جای اون استفاده می کنیم .مثال:

Picture1.Picture = LoadResPicture ( 101 , 0)

5- و در آخر فایل با هر پسوندی که خواستید:

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

 

 دستور اولیه ی لود کردن اینه:

LoadResData( id , ResType)

 حالا یه نمونه کد می ذارم و خط به خط توضیح میدم:

Dim Buffer As String

Buffer = StrConv(LoadResData(101, "CUSTOM", vbUnicode)

Open "c:\custom.*" For Output As #1

Print #1, Buffer

Close #1

در خط اول ما یه متغیر از نوع string تعریف کردیم.

 درخط دوم فایلی که در resource  گذاشتیم رو تبدیل و در  buffer لود کردیم.

 در خط سوم یه فایل درست کردیم با پسوند dll (توجه کنید نوع فایل باید با نوع فایلی که قبلا به resource اضافه کردید یکی باشه ).

در خط چهارم محتویات buffer  که قبلا فایل مورد نظرمون رو توش لود کردیم به داخل فایلی که در خط سوم درست کردیم میریزه.

 همچنین نمونه کد های بالا را می توانید از برنامه زیر دانلود کنید :

لینک دانلود( حچم 8 کیلو بایت)

ایا راهی هست که یک فایل رو SUPERHIDDEN کرد؟

ایا راهی هست که یک فایل رو SUPERHIDDEN کرد
با این API و ثابت ها میتونی این کارو بکنی


Private Declare Function SetFileAttributes Lib "kernel32.dll" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long

Private Const FILE_ATTRIBUTE_ARCHIVE = &H20
Private Const FILE_ATTRIBUTE_COMPRESSED = &H800
Private Const FILE_ATTRIBUTE_DIRECTORY = &H10
Private Const FILE_ATTRIBUTEHIDDEN = &H2
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const FILE_ATTRIBUTE_READONLY = &H1
Private Const FILE_ATTRIBUTE_SYSTEM = &H4

برای سوپرهاید هم باید از این ثابت در پارامتر دوم به این صورت استفاده کنی

FILE_ATTRIBUTEHIDDEN + FILE_ATTRIBUTE_SYSTEM

تو پارامتر اول هم که مسیر فایل مورد نظرت رو میدی !
البته از توابع داخلی ویژوال بیسیک هم میتونی برای این کار استفاده کنی

SetAttr
GetAttr

کتابهای آموزشی

صفحه اصلی

کتابهای  فارسی

برنامه نویسی

شبکه و هک

دیگر کتابها

کتابهای انگلیسی

خرید الکترونیکی

لینکستان سایت

درباره سایت

ردیفنام کتابپسوندتوضیح کتابحجم
1visualbasicdotnet.pdfpdfکتاب فارسی آموزشی ویژوال بیسیک دات نت

2651 kb

2dev.ir.chmchmکلیه مقالات سایت dev.ir شامل آموزش اکثر زبانهای برنامه نویسی

1350 kb

3amozeshe tamami zabanhaye barname nevisi.rarrarآموزش تمام زبانهای برنامه نویسی

1149 kb

4String in CSharp.zipzipکار با رشته ها در سی شارپ

مترجم و مولف: محمد بشیری

700 kb

5Socket Programming.pdfpdfبرنامه نویسی سوکت با زبان برنامه نویسی سی

537 kb

6PHP_farsi_Ebook.zipzipکاملترین مرجع فارسی php

مولف: محمد بشیری

1372 kb

7JavaTut.zipzipکاملترین مرجع آموزشی جاوا

تعداد صفحه 203

1.29 mb

8JavaScript.ir.chmchmآموزش جاوا اسکریپت

کلیه مقالات سایت javascript.ir

562 kb

9HTML Learning.chmchmآموزش جامع html

2509 kb

10

[bashiry] ASP.NET Complete Reference.zip

zipمرجع فارسی ASP.NET

تعداد صفحه: 546 صفحه

گردآورنده: محمد بشیری

2.74 mb

11ASP.NET - Basics.rarrarکاملترین مرجع آموزشی ASP.NET همراه با مثالهای آموزش داده شده

سطح مقدماتی

3.22 mb

12ASP.NET - Advanced.rarrarکاملترین مرجع آموزشی ASP.NET همراه با مثالهای آموزش داده شده

سطح پیشرفته

3.49 mb

13xml.zipzipآشنایی با xml

ترجمه لیلا خلیلی در 7 صفحه

133 kb

14VB_NET_Functions.rarrarآموزش کاربردی توابع

 Visual Basic.NET

در 65 صفحه

نویسنده: بهروز راد

64 kb

15vb in n+1 day.rarrarآموزش ویژوال بیسیک در n+1 روز

نوشته: سید امیر احسانی

تعدا صفحه:68

844 kb

16Registry in vb.NET.zipzipمروری مختصر بر استفاده از رجیستری در VB.NET

127 kb

17INTRODUCE PHP.zipzipمعرفی php

نوشته: مهدی علیدوست

تعداد صفحه: 34

428 kb

18Network_Programming in vb.zipzipبرنامه نویسی شبکه و اینترنت در vb

تعداد صفحه: 22

348 kb

19pascal.zipzipآموزش پاسکال +

مقایسه برنامه نویسی سی و پاسکال +

نحوه نوشتن یک dll در پاسکال

از شرکت پویشگران جوان

تعداد کل صفحات: 40

331 kb

20VB and windows API.pdfpdfویژوال بیسیک و API ویندوز

نوشته شده توسط: حامد احمدی

تعداد صفحه: 9

235 kb

21Ostadonline HTML Learning.CHMchmآموزش HTML از سایت استاد آنلاین

سایت به صورت کامل و در قالب یک فایل

2.44 mb

22Amozesh-JavaScrip.pdfpdfآموزش جامع جاوا اسکریپت

تعداد صفحات: 100

(لاهیج سیستم)

527 kb

23ACTIVEX.PDFpdfتکنیک های پیشرفته در ویژوال بیسیک

ساخت ابزارهای ActiveX

در 17 صفحه

120 kb

24API.PDFpdfتکنیک های پیشرفته در ویژوال بیسیک

توابع Api

در 22 صفحه

168 kb

25MENU.PDFpdfتکنیک های پیشرفته در ویژوال بیسیک

کار با منوها

در 30 صفحه

191 kb

26multimedia.pdfpdfتکنیک های پیشرفته در ویژوال بیسیک

چند رسانه ای

در 19 صفحه

138 kb

27TEXTBOX.PDFpdfتکنیک های پیشرفته در ویژوال بیسیک

ابزار TextBox

در 14 صفحه

105  kb

28WINDOW.PDFpdfتکنیک های پیشرفته در ویژوال بیسیک

کار با پنجره ها

در 30 صفحه

180  kb

29CSHARP_farsi.pdfPDFآموزش سی شارپ

تعداد صفحه: 81 صفحه

توسط حمید نصیری

566 kb

30CSHARP.pdfPDF7 مقاله در مورد سی شارپ

در 16 صفحه به زبان فارسی

مهدی عسگری

220 kb

31IranASP.NET.chmchmکلیه مقالات سایت IranAsp.net در قالب یک فایل با فرمت chm

1.93 mb

32IranPHP.net.chmchmکلیه مقالات سایت IranPHP.net در قالب یک فایل با فرمت chm

243kb

تبدیل ویروس vbs به js

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

با روشی که گفته می شود می توانیید ویروس vbs ای که نوشته اید را به ویروس جاوا اسکریپت تبدیل کنید.یادگیری این کار دو فایده دارد.

1.آنتی ویروس ها به هیچ وجه ویروس شما را شناسایی نمی کنند.

2.مهارت تبدیل هر فایل vbs دیگر به js را خواهید داشت.

آنتی ویروس ها ویروس شما را نمی شناسند نیز خود دو علت دارد.

1.کدهای ویروس شما نه به زبان vbs است و نه js .

2.آنتی ویروس ها روی فایل های vbs حساسیت بیشتری دارند.

ابتدا با تابع asc ،شماره ی اسکی هر حرف ار سورس ویروس را به دست آورید و آن را یادداشت کنید.

 

R = asc("")

Msgbox(R)

بین دو علامت "" فقط یک حرف بنویسد اما اگر با error در مواجه شدید اول حرف مورد نظر را بنویسید و سپس یک حرف دلخواه اضافه کنید.

بعد از انجام این کار از کدهای js زیر به طوری که گفته می شود استفاده کنید.

کدهای جاوا اسکریپتی بالا فایلی با نام fhkrqsmp.vbs در مسیر جاری ایجاد می کنند و سپس کدهای زیر را در آن می نویسند و فایل را اجرا می کنند.

Msgbox "reza"

Msgbox "reza"

در خط اول این کدها از تابع chr استفاده شده است که درست برعکس asc کار می کند.یعنی حرف هایی که به عدد تبدیل کرده اید را به همان حرف ها تبدیل می کند.عبارت 13,10 در همین خط نیز به معنی نوشتن در خط بعد می باشد.در این کدها فقط یک بار از این عبارت استفاده شده است.

کدهایی که نوشته اید را در notepad کپی کرده و با پسوند js ذخیره کنید

روش های کلی اینکریپت کردن ویروس ها

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

1.تغییر پسوند فایل

2.تغییر اطلاعات درون فایل به اطلاعات مبهم

آموزش هایی دورن وبلاگ در مورد اولی هست مثل آموزش تبدیل ویروس bat به vbs یا vbs به bat و بعضی از آموزش ها که دو گزینه داخلش به کار رفته مثل آموزش تبدیل ویروس vbs به js.

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

الف.تبدیل اسکریپت به اسکریپت

ب.تبدیل اسکریپت به اجرایی

ج.تبدیل اجرایی به اجرایی

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

الف.تبدیل اسکریپت به اسکریپت:

برای این کار باید به دو زبان اسکریپت آشنا باشید.برای مثال ابتدا ویروستون را به زبان A می نویسید.حالا به زبان B یک فایل می نویسید که کدهای ویروس به زبان A را در یک فایل دیگر به زبان A در مسیری دلخواه وارد کند و سپس آن فایل را اجرا کند.

ب.تبدیل اسکریپت به اجرایی

روش اول:از برنامه های از پیش تهیه شده استفاده کنید مانند فایل زیر که فایل vbs رو به فایل اجرایی com تبدیل می کند.

دانلود فایل با حجم 1.6 کیلو بایت

توجه:این فایل تحت DOC اجرا می شود.

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

ج.تبدیل اجرایی به اجرایی

روش اول:باز هم از برنامه های از پیش تهیه شده استفاده کنید مانند فایل زیر که حجم فایل هایی مانند EXE را کم می کند و سپس خودتان می توانید از طریق rename کردن پسوند فایل را به com تبدیل کنید یا بر عکس.

دانلود فایل با حجم 124 کیلو بایت

توجه:این فایل هم تحت DOC اجرا می شود.

روش دوم:ویروستان را به عنوان یک resource به فایل اجرایی با پسوند دیگر اضافه کنید.سپس فایل resource را استخراج کرده و اجرا کنید.

مورد دوم هم به چندین روش تقسیم می شود که عبارتند از:

الف.char encryption

ب.strreverse encryption

ج.polyencryption

د.hex encryption

ه.polymorphsm

این پنج روش بیشتر برای اسکریپت ها کاربرد دارد.در این پست به آموزش دو روش اکتفا می کنیم.

الف.char encryption

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

کدها قبل از اینکریپت:

Msgbox "reza"

Msgbox "reza"

کدها بعد از اینکریپت:

توجه:برای هر خط عمل encryption را انجام دهید.

ب.strreverse encryption

ابتدا هر خط از ویروس بر عکس می شود.به عنوان مثال کلمه ی reza به azer تبدیل می شود.سپس در ابتدای هر خطی که بر عکس شده است علامت ' را قرار داده می شود تا یک توضیح محسوب شود.بعد از آن کدهایی نوشته می شوند که با توجه به تعداد خط هایی که برعکس شده اند ابتدا همه را می خواند و سپس دوباره برعکس می کند و علامت ' هم از آن ها بر می دارد و آن ها را اجرا می کند.

کدها قبل از اینکریپت:

Msgbox "reza"

Msgbox "reza"

کدها بعد از اینکریپت:

توجه:بعد از n= تعداد خط هایی که برعکس کرده اید را بنویسید.

 

موفق باشید.

آموزش ویروس Aphrodite.a.vbs

من دانلود سورس ویروس Aphrodite.a.vbs رو در قسمت قبل گذاشتم.

این ویروس از دو قسمت تشکیل شده:

1.installation

2.infection

امروز قسمت installation این ویروس رو آموزش میدم که خیلی به شما در ضمینه نوشتن ویروس کمک میکنه.در این قسمت،ویروس،خودش را بر روی هر ویندوزی که باشد نصب میکند.کدهای قسمت اول ویروس رو در زیر مشاهده میکنید:

خط اول رو که همتون میدونید.در خط دوم ما شئ wscript.shell را برای دسترسی به رجیستری تعریف میکنیم.در خط سوم متغیری به نام rk را مقدار دهی کردم و در خط چهارم از متد regread برای خوندن رجیستری استفاده کردم.چیزی که خونده شده همان rk بوده.rk در این جا همان مسیر تنظیمات timeout برای فایل های vbs میباشد.خب ما در خط چهارم مقدار این مسیر در رجیستری رو خوندیم و در متغیر tmo قرار دادیم.در خط پنجم میگه که اگه tmo برابر صفر نبود کدهای بعدی رو اجرا میکنه.کد بعدی کد خط ششم است که مقدار صفر را برابر آن مقدار در رجیستری قرار میدهد.اگر این مقدار یک باشد،ویروس پس از یک ثانیه از کار میفته اما قبل از این که یک ثانیه بشه،ویروس این مقدار رو برابر صفر میکنه که یعنی غیرفعال.خط هفتمم که پایان شرطی بود که گذاشتیم.در خط هشتم هم شیئ fso را برای دسترسی به فایل ها،فولدر ها و درایو ها تعریف کردم و در خط نهم با متد getspecialfolder مسیر پوشه سیستم ویندوز رو به دست میاریم و در خط دهم یه مسیر به نام h رو تعریف میکنیم که قراره مسیر ویروس در کامپیوتر قربانی باشه.در خط یازدهم ویروس خودشو به عنوان یک فایل متنی باز میکند و در خط دوازدهم تمام محتویات و کدهای خودش را میخواند و در متغیر c قرار میدهد.در خط سیزدهم چک میکند که آیا فایلی با مسیر h وجود داره یا نه.اگه وجود نداشته باشه کد خط های بعدی را اجرا میکند.در خط چهاردهم خودش رو در مسیر h کپی میکنه و سپس در خط پانزده با متد getfile مشخصات فایلی با مسیر h رو میگیره و سپس در خط شانزدهم attributes فایل رو برابر یک قرار میده که همان readonly خالی میشود.اگر خط پانزدهم انجام نشود،خط شانزدهم هم انجام نخواهد شد.در خط هفدهم فقط عبارت else رو میبینید.یعنی اگه طور دیگه باشه و فایلی با مسیر h وجود داشته باشه،کدهای بهدی را تا end if اجرا کند.در خط هجدهم فایل با مسیر h را به صورت یک فایل متنی باز میکند و در خط نوزدهم تمام کدهای فایل را میخواند و در متغیر o قرار میدهد.در خط بیستم چک میکند که آیا عبارت .::Aphrodite.vbs::. در این فایل وجود داره یا نه.در خط بیست و یکم میگوید که اگر این عبارت در فایل وجود نداشته باشه کد خط های بعدی رو اجرا کنه.عبارت .::Aphrodite.vbs::. یک رمز است که مشخص میکند که آیا آن فایل همان ویروس خودمان میباشد یا نه.اگر نه در خط بیست و دوم attributes فایل رو برابر صفر یا همون عادی قرار میدیم و در خط بیست و سوم خودمون رو به جای اون فایل کپی میکنیم و سپس در خط بیست و چهارم دوباره attributes فایل رو برابر یک قرار میدیم که همون readonly خالیه.خط بییست و پنجم و بیست و ششم هم پایان شرط هایی که گذاشتیم رو مشخص میکنه.در خط بیست و هفتم یک مقدار در رجیستری را تعریف میکنیم و در متغیر lm قرار میدیم.در خط بیست و هشتم این مسیر در رجیستری را + Aphrodite میخونیم و در متغیر er قرار میدیم.در خط بیست و نهم میگیم که اگر er برابر h نبود،در خط سی یک مقدار در رجیستری نوشته بشه که باعث میشه ویروس در هر بار اجرای ویندوز اجرا بشه و  خط سی و یکم هم پایان شرطه.در خط سی و دوم یک مسیر در رجیستری را تعریف میکنیم و در متغیر cu قرار میدیم و در خط سی و سوم یک مقدار در رجیستری مینویسیم که باعث غیرفعال شدن regedit میشود.خط های بعدی هم همین کار را انجام میدهند با این تفاوت که خط سی و چهارم taskmanager غیرقعال میشود.غیرفعال شدن regedit و taskmanager به این صورت نیازی به log off یا restart کردن ویندوز نداره ولی در خط سی و پنجم ویروس run موجود در startmenu را غیرفعال میکند و خط سی و ششم هم باعث غیرفعال شدن shutdown موجود در startmenu میشود که این دو نیاز به log off یا restart ویندوز دارند.در این جا قسمت installation ویروس پایان میپذیرد و در پست بعدی قسمت infection ویروس یا همون آلوده کردن فایل ها توسط ویروس رو آموزش میدم.

دانلود ویروس Aphrodite.a.vbs رو که خودم نوشتمش رو تو وبلاگ گذاشتم.همون طور که در پست قبل گفتم این ویروس دارای دو قسمت است.در پست قبل قسمت installation این ویروس رو آموزش دادم و تو این پست قسمت infection ویروس رو آموزش میدم.در این قسمت،ویروس فایل های vbs و vbe موجود در تمام درایوهای کامپیوتر را آلوده می کند.کدهای قسمت دوم ویروس رو در زیر میبینید:

خط اول تا ششم: در خط اول ویروس با کمک شیئ fso ،تمام درایو های کامپیوتر را می گیرد و سپس در متغیر drives قرار می دهد.در خط دوم از حلقه for-next استفاده شده است.به این صورت که برای هر درایوی کد خط های بعدی را تا جایی که به next برسد اجرا می کند.در خط سوم اگر درایو آماده باشد کد خط های بعدی تا جایی که به end if برسد اجرا می شود.خط چهارم تابع dosearch را اجرا می کند و کنترل برنامه را به این تابع می دهد.همچنین مسیر درایوی که پیدا کرده هم به عنوان متغیر این function معرفی می کند.خط پنجم هم پایان شرطی بود که گذاشته بودیم و خط ششم هم باعث پیدا کردن درایو بعدی می شود. در خط هفتم،مسیر درایو در متغیر path قرار می گیرد.خط هشتم برای این است که اگر در هنگام عملیات ویروس خطایی رخ دهد،اجرای ویروس متوقف نگردد.در خط نهم،ویروس با کمک شیئ fso ،اطلاعاتی راجع به مسیر path می گیرد و در متغیر folder قرار می دهد.در خط دهم،مسیر فایل های موجود در متغیر folder ،گرفته می شوند اما اگر subfolder وجود داشته باشد،مسیر فایل هایش بعدا" گرفته می شوند.خط یازدهم برای هر فایل موجود در آن مسیر،کدهای خط های بعدی را اجرا می کند تا جایی که به عبارت next برسد.در خط دوازدهم،پسوند سه حرفی فایل دریافت می شود و سپس در خط سیزدهم،پسوند فایل به حروف کوچک تبدیل می شود.خط چهاردهم هم می گوید که اگر پسوند فایل vbs یا vbe بود کد خط های بعدی اجرا شوند تا جایی که به end if برسد.در خط پانزدهم مسیر فایل در متغیر fp قرار می گیرد.در خط شانزدهم فایل به صورت متنی برای خواندن باز می شود و در خط هفدهم تمام محتویات فایل در متغیر k1 قرار می گیرد.خط هجدهم هم چک می کند که آیا محتویات k1 دارای علامت .::aphrodite.vbs::. هست یا خیر.این یک رمز است که مشخص می کند آیا آن فایل قبلا" آلوده شده است یا نه.خط نوزدهم می گوید که اگر فایل آلوده نشده،کد خط های بعدی اجرا شود تا زمانی که به end if برسد.در خط بیستم،اطلاعاتی راجع به فایل را دریافت می کنیم و در خط بیست و یکم،attributes فایل را در متغیر v قرار می دهیم و سپس attributes فایل را در خط بیست و دوم برابر صفر قرار می دهیم و در خط بیست و سوم هم فایل به صورت متنی برای اضافه کردن به انتهای فایل باز می شود.در خط بیست و چهارم،یک عبارت خالی را در فایل قرار می دهیم که باعث می شود تا تمام اطلاعاتی که بعدا" می خواهیم در فایل بنویسیم،در خط بعدی از عبارت خالی قرار بگیرند و اطلاعات ویروس درست پشت سر اطلاعات فایل قرار نگیرند و مشکلی رخ ندهد.در خط بیست و پنجم هم کدهای ویروس در فایل قرار می گیرند و در خط بیست و ششم هم attributes فایل برابر با v می شود و خط بیست و هفتم و بیست و هشتم هم پایان شرط هایی بود که گذاشته بودیم.خط بیست و نهم هم باعث پیدا شدن فایل بعدی می شود.در خط سی، subfolder های موجود در مسیر path در متغیر subfolders قرار می گیرند و در خط سی و یکم حلقه for-next وجود دارد که برای هر subfolder موجود در متغیر subfolders ،کد خط بعدی را اجرا می کند.کد خط سی و دوم،تابع dosearch را دوباره اجرا می کند با این تفاوت که این بار مسیر subfolder در متغیر path قرار می گیرد.خط سی و سوم، subfolder بعدی را پیدا می کند و خط سی و چهارم پایان function و پایان قسمت دوم ویروس است

در قسمت اول و دوم ایم مقاله به ترتیب به توضیح روش کلی آلوده سازی و یافتن فایل های exe پرداختیم.یاد آوری می کنم که برای آلوده ساختن فایل به روش کنترلی به سه فایل نیاز داشتیم :

  1. یک فایل exe برای آلوده شدن 
  2. یک فایل ویروسی مثل ویروس خودمون 
  3. یک فایل کنترلی

در این قسمت کد نویسی فایل دوم برنامه را آغاز می کنیم.وظیفه ی این فایل آلوده کردن فایل  exe (شماره ی 1) می باشد.فایل جدید هر سه فایل را در بر خواهد داشت.

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

قرار دادن نشانه :

Open file_1 for random as #1

Put #1, 40, "1"

Close

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

تشخیص نشانه :

Open file_1 for random as #1

Dim n as string

Get #1, 40, n

If n="1" then

Close #1

End if

اگر نشانه ی موجود در بایت چهلم برابر با نشانه ای بود که خودمان در فایل قرار داده بودیم، فایل را می بندیم و به دنبال فایل دیگری می گردیم.

قبل از نوشتن قسمت بعدی کدها، سورس زیر را در ماژول برنامه کپی کنید.

Public Type FileData

 File1 As String

 File2 As String

End Type

Public Type Name

 F1 As String

 F2 As String

End Type

Public Datas As FileData

Public Names As Name

Public DataBag As New PropertyBag

 

ویروس فایل کنترلی را به جای فایل exe قرار می دهد.سپس کدهای خود و فایل را به انتهای فایل کنترلی اضافه می کند.پس باید قبل از این کار اطلاعات فایل exe و خود را بخواند.خط اول تا چهارم سورس برای این کار آورده شده اند.خط پنجم تا هشتم برای نام های فایل exe و ویروس هستند.خط آخر هم یک بسته ی اطلاعاتی ایجاد می کند.ما می خواهیم این بسته را در انتهای فایل کنترلی قرار دهیم.این بسته شامل کدهای ویروس و کدهای فایل exe و نام ویروس و نام فایل exe خواهد بود.فایل کنترلی این بسته را از آخر خود می خواند و برای ساختن فایل exe و ویروس و اجرا کردن آن ها به این نام ها نیاز دارد.

قسمت بعدی مقاله :

1.پر کردن بسته ی اطلاعاتی

2.تزریق ماده ی وراثتی (فایل شماره ی 3)

ویروس

سلام دوستان.از این که مدتی نبودم معذرت می خوام.تو این مدت سوالاتی پرسیده بودید که تو این پست به همه اونا جواب میدم.اول از همه به دوست خوبم شیطان دراز دست بگم که برای مخفی کردن دستورات در یک فایل bat ،ابتدای کدهای ویروس،کد @echo off را قرار دهد.در ضمن به وسیله برنامه turbo assembler می تواند کدهایش را در قالب com داشته باشد.سرعت اجرای فایل های com بالاست.از masm هم برای اسمبل کردن آن ها می تواند استفاده کند.در این حالت اگر کدها مشکلی نداشته باشند ویروس در عرض 3 ثانیه عمل می کند.(با توجه به کدهای ویروس)

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

آقا آرش هم می خواستن لیست فایل های دیسک c رو داشته باشن.این کار در ویژوال بسیک با کدهای زیر امکان پذیر است: