ويروس های VbScript (قسمت پنجم)
سلام. امروز می خوام قسمت پنجم از سری مقلات "ويروس های VbScript" رو داشته باشم. فقط خداکنه مطالب قبلی يادتون نرفته باشه اگرم يادتون رفته فقط کافيه يه نگاه به اين مقلات قبلی بندازيد و بعد شروع کنيد (منتظر بوديد من بگم نه؟). خوب در قسمت قبلی يعنی قسمت چهارم, کد کامل يه ويروس VbScript رو نوشتم و سه چهار خط اولش رو توضيح دادم. امروز هم می خوام چند خط بعدی رو توضيح بدم:
Set WsShll = CreateObject("WScript.Shell")
WsShll.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Ru n\COMDLG32", "wscript.exe " & VriPth & " %"
Fso.CopyFile Script.ScriptFullName,VriPathخوب کاربرد و نحوه استفاده شئ "WScript.Shell" رو که يه جورايی در قسمت سوم همين مقالات توضيح دادم و اينجا فقط برای يادآوری می گم در خط اول بااستفاده از تابع CreateObject يک شئ Shell تعريف می کنيم. در خط دوم از يکی از متدهای همين شئ بنام RegWrite استفاده شده. همونطور که از اسمش پيداست تابعی برای نوشتن مقادير در رجيستری می باشه و ما در ويروس خودمون برای اجرای ويروس در هر بار راه اندازی ويندوز احتياج به نوشتن مقادير جديد در رجيستری داريم. اين تابع دو مقدار ورودی داره (در VbScript برای جداکردن اين مقادير از هم از علامت " , " استفاده می شه), مقدار اول شاخه ای از رجيستری هستش که ما قصد داريم مقدار جديد رو در اون بنويسيم و مقدار دوم همون مقداره می باشد. که هر دوی اين ها مقادير رشته ای (يعنی رشته ای از حروف) هستند. در اين تابع ما برای ورودی اول مقدار رشته ای "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersio n\Run\COMDLG32" رو وارد کرديم. مقاديری که در اين شاخه Run رجيستری قرار می گيرند, در هربار راه اندازی ويندوز اجرا می شوند و ما از اين ترفند استفاده کرده ايم. در ورودی دوم مقدار "wscript.exe " & VriPth & " %" را قرار داده ايم. همونطور که در قسمت چهارم (قبلی) توضيح دادم متغير VriPth حاوی آدرس فايلی هست که ما در اون قصد داريم يه کپی از ويروس خدومون رو قرار بديم (اين عمل در خط بعد انجام می گيره). البته برای اجرای فايل های vbs به صورت خط فرمان احتياج هست که دو مقدار رشته ای "wscript.exe " و " %" رو به اول و آخر آدرس فايل اضافه کنيم که در بالا هم اين کار انجام شده (اگه اين قسمت رو متوجه نشدی بگو!).در خط بعدی از يکی از متدهای شئ FSO (در قسمت دوم يا سوم توضيح دادم) بنام CopyFile استفاده شده. اين متد هم همونطور که از اسمش پيداست برای کپی کردن يک فايل در يه مسير ديگه استفاده می شه. که مثل تابع قبلی دو مقدار ورودی داره. اولی مسير فايل مبدا و دومی مسير فايل مقصد. در VbScript برای بدست آوردن مسير خود فايل vbs ( در اينجا يعنی همون مسيری که برای اولين بار ويروسمون رو اجرا می کنيم) از يکی از متدهای شئ جديدی بنام Script استفاده می شه. هيچ توضيحی برای اين شی لازم نيست چون در اينجا ما فقط با همين يه متد اون يعنی ScriptFullName کار داريم. پس برای مسير فايل مبدا که ويروس خودمون باشه مقدار Script.ScriptFullName (همون مسير رو بر ميگردونه) رو قرار می ديم و برای فايل مقصد هم که ورودی دوم هست متغير VriPth (در قسمت قبل مقاله توضيح دادم که چطور اين متغير را با آدرس فايلی در شاخه ويندوز مقدار دهی کنيم) رو قرار می ديم. پس طبق اين دو خط کد بالا يه کپی از فايل ويروس ما در شاخه ويندوز سيستم فرد قربانی بوجود مياد و آدرس اين کپی رو در شاخه مخصوصی از رجيستری قرار می ديم تا در هر بار راه اندازی ويندوز اجرا بشه. خوب ديگه داره خيلی بلند و بالا می شه و اين برای چشماتون ضرر داره پس بقيشو تو مقالات بعدی می گم. در ضمن اگر تاحالا قسمت های قبلی رو نخونديدسريعا همين امروز اين کار رو بکنيد چون همين امروز فردا ميرن تو آرشيو. / تا فردا يا حق!