java识别病毒(高分求教) 我要做个社区,能让会员上传图片.如果遇到带病毒的图片就不能让其上传,用JAVA如何做到这一点?请指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用java杀毒?光这个就可以商业话了吧一般社区是不检查图片是否带毒的,要检查我想也是调用商业化的杀毒软件查毒吧 用带杀毒的防火墙可以解决问题, 不需要自己写. 如果图片存储成文件, 有是windows的系统, 装个杀毒软件即可 我个人的一种思路(简单识别图片):读取文件(用二进制的形式),我想一般图片头几个都有相关的信息的,比如我刚才打开的一个PNG图片就是GIF89a,通过这个识别是否是真正的图片文件。 防病毒软件不管是用什么写的,主要是靠病毒识别码,也就是某种或若干种病毒(包括其变种)所拥有的二进制代码特征。所以java当然能够实现。问题是,如果真正要实现识别病毒的话:1)具体的病毒特征如何得来2)用java写,在运行效率上是否能忍受3)用商业的杀毒软件提供的解决方案是否更好?比如你做的这个社区,是否很有钱,如果有钱,可以让他们和某个杀毒软件供应商签署协议,让后者来支持,就如同hotmail里面用了mcafee 回复人: dobly(技术只是工具--生活的工具) ( ) 信誉:100 2005-11-01 09:49:00 得分: 0 我个人的一种思路(简单识别图片):读取文件(用二进制的形式),我想一般图片头几个都有相关的信息的,比如我刚才打开的一个PNG图片就是GIF89a,通过这个识别是否是真正的图片文件。 如果只是图片上传,这位帅哥是最简单的解决办法啦。支持一下。 补充说明一下:只能允许上传JPG文件,格式判断的问题不大。 现在要查的问题是,病毒嵌入图片中如何判断? 带毒的都有文件头嘛扫描一下是否有文件头嘛。。有就不传撒。比如pe文件头是pe格式撒 一般都是调用第三方杀毒引擎吧www.sunsides.com 病毒是不能感染图片的......病毒的扩展文件名改成jpg或者gif,也就失去了传播的能力除非你允许客户端修改文件扩展名,并且拥有远程调用的能力,否则不会有什么危险的. 最简单方法限制上传文件格式,jpe,jpeg,gif,png,bmp也就够了 病毒的定义:计算机病毒是一个程序,一段可执行码。就像生物病毒一样,计算机病毒有独特的复制能力。所以病毒一定是一段可执行码,能够被操作系统或某程序(比如office或ie)执行,所以图片这种文件理论上不应该是病毒.但是.....微软很白痴,居然在IE浏览器中出现"JPEG恶意代码图片漏洞".根本的解决办法不要用windows或者IE了,用Linux或Firefox吧其他解决办法,1.分析图片文件(比较麻烦),2.提供补丁下载 //中午没有休息,找到常见的图片病毒生成程序,分析了一下,写了个病毒分析方法,//比较简单,只限于,流行的Windows JPEG GDI+ Overflow Download Shellcoded Exploit (MS04-028) - JPGDownloader v1.0//粗略测试,如有错误,见谅 public static boolean check(char[] b){ for(int i=0;i<b.length-15;i++) if(b[i]==0x72&&b[i+1]==0x63&&b[i+2]==0x47&&b[i+3]==0x65&&b[i+4]==0x78&&b[i+5]==0x74&&b[i+6]==0x56&&b[i+7]==0x73&&b[i+8]==0x73&&b[i+9]==0x65) return true; return false; } 主要是防止带病毒的JPG文件在服务器上进行病毒的传播。xuender(徐强) 多谢你了你的相关资料能给我一份吗病毒特征字节规律在哪里有参考? e_mail:[email protected] http://10086.zzw.com.cn/viewthread.php?tid=1104网上这类原码很多,c++的 问题求助 一个初学者的无奈的不好解决的基础的CoreJava的很简单的很小的一个的问题 关于权限的问题 我在学JAVA,请大家帮忙! 帮一个想学java 的朋友问个最简单的问题 在java中,static final常量是否占用运行时的内存? 关于java输入输出问题(回答对的一定给分!!) 如何对List<Map> 进行排序? 怎么用鼠标进行画图? 关于C++和JAVA的区别 请问普通的GUI程序的各个窗体是否都用FRAME?? 怎样显示ftp服务器端的文件目录啊,苦求………………!!
一般社区是不检查图片是否带毒的,要检查我想也是调用商业化的杀毒软件查毒吧
2)用java写,在运行效率上是否能忍受
3)用商业的杀毒软件提供的解决方案是否更好?比如你做的这个社区,是否很有钱,如果有钱,可以让他们和某个杀毒软件供应商签署协议,让后者来支持,就如同hotmail里面用了mcafee
我个人的一种思路(简单识别图片):读取文件(用二进制的形式),我想一般图片头几个都有相关的信息的,比如我刚才打开的一个PNG图片就是GIF89a,通过这个识别是否是真正的图片文件。
如果只是图片上传,这位帅哥是最简单的解决办法啦。
支持一下。
现在要查的问题是,病毒嵌入图片中如何判断?
比如pe文件头是pe格式撒
www.sunsides.com
病毒的扩展文件名改成jpg或者gif,也就失去了传播的能力
除非你允许客户端修改文件扩展名,并且拥有远程调用的能力,否则不会有什么危险的.
所以病毒一定是一段可执行码,能够被操作系统或某程序(比如office或ie)执行,所以图片这种文件理论上不应该是病毒.
但是.....微软很白痴,居然在IE浏览器中出现"JPEG恶意代码图片漏洞".
根本的解决办法不要用windows或者IE了,用Linux或Firefox吧
其他解决办法,1.分析图片文件(比较麻烦),2.提供补丁下载
//比较简单,只限于,流行的Windows JPEG GDI+ Overflow Download Shellcoded Exploit (MS04-028) - JPGDownloader v1.0
//粗略测试,如有错误,见谅
public static boolean check(char[] b){
for(int i=0;i<b.length-15;i++)
if(b[i]==0x72&&b[i+1]==0x63&&b[i+2]==0x47&&b[i+3]==0x65&&b[i+4]==0x78&&b[i+5]==0x74&&b[i+6]==0x56&&b[i+7]==0x73&&b[i+8]==0x73&&b[i+9]==0x65)
return true;
return false;
}
病毒特征字节规律在哪里有参考?
网上这类原码很多,c++的