最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python实现上传样本到virustotal并查询扫描信息的方法

来源:动视网 责编:小采 时间:2020-11-27 14:31:13
文档

python实现上传样本到virustotal并查询扫描信息的方法

python实现上传样本到virustotal并查询扫描信息的方法:本文实例讲述了python实现上传样本到virustotal并查询扫描信息的方法。分享给大家供大家参考。具体方法如下: import simplejson import urllib import urllib2 import os MD5 = 5248f774d2ee0a10936d0b1dc89107f1
推荐度:
导读python实现上传样本到virustotal并查询扫描信息的方法:本文实例讲述了python实现上传样本到virustotal并查询扫描信息的方法。分享给大家供大家参考。具体方法如下: import simplejson import urllib import urllib2 import os MD5 = 5248f774d2ee0a10936d0b1dc89107f1


本文实例讲述了python实现上传样本到virustotal并查询扫描信息的方法。分享给大家供大家参考。具体方法如下:

import simplejson 
import urllib 
import urllib2 
import os 
 
MD5 = "5248f774d2ee0a10936d0b1dc89107f1" 
MD5 = "12fa5fb74201d9b6a14f63fbf9a81ff6" #do not have report on virustotal.com 
 
######################################################################## 
APIKEY = "e0a50a50e77fxxxxxxxxxxxxxx4f17e31 这里用你自己在virustotal上申请的账号的KEY" 
 
 
class VirusTotal: 
 """""" 
 
 def __init__(self, md5): 
 """Constructor""" 
 self._virus_dict = {} 
 self._md5 = md5 
 
 
 def repr(self): 
 return str(self._virus_dict) 
 
 def submit_md5(self, file_path): 
 import postfile 
 #submit the file 
 FILE_NAME = os.path.basename(file_path) 
 
 
 host = "www.virustotal.com" 
 selector = "https://www.virustotal.com/vtapi/v2/file/scan" 
 fields = [("apikey", APIKEY)] 
 file_to_send = open(file_path, "rb").read() 
 files = [("file", FILE_NAME, file_to_send)] 
 json = postfile.post_multipart(host, selector, fields, files) 
 print json 
 pass 
 
 def get_report_dict(self): 
 result_dict = {} 
 
 url = "https://www.virustotal.com/vtapi/v2/file/report" 
 parameters = {"resource": self._md5, 
 "apikey": APIKEY} 
 data = urllib.urlencode(parameters) 
 req = urllib2.Request(url, data) 
 response = urllib2.urlopen(req) 
 json = response.read() 
 
 response_dict = simplejson.loads(json) 
 if response_dict["response_code"]: #has result 
 scans_dict = response_dict.get("scans", {}) 
 for anti_virus_comany, virus_name in scans_dict.iteritems(): 
 if virus_name["detected"]: 
 self._virus_dict.setdefault(anti_virus_comany, virus_name["result"]) 
 return self._virus_dict 

返回的结果为:{u'Sophos': u'Sus/Behav-1010'},如果有扫描出的结果的话..

调用的方法如下:

MD5 = "12fa5fb74201d9b6a14f63fbf9a81ff6" #do not have report on virustotal.com 
MD5 = "5248f774d2ee0a10936d0b1dc89107f1" 
FILE_PATH = r"D:ackSample109af41bc012d66c98ca2f9c68ba38e98f_ICQLiteShell.dll" 
 
from getVirusTotalInfo import VirusTotal 
#得到扫描结果并打印出来 
virus_total = VirusTotal(MD5) 
print virus_total.get_report_dict() 
 
#提交文件到扫描,以后就可以根据这个MD5取扫描结果了 
virus_total.submit_md5(FILE_PATH) 

希望本文所述对大家的Python程序设计有所帮助。

文档

python实现上传样本到virustotal并查询扫描信息的方法

python实现上传样本到virustotal并查询扫描信息的方法:本文实例讲述了python实现上传样本到virustotal并查询扫描信息的方法。分享给大家供大家参考。具体方法如下: import simplejson import urllib import urllib2 import os MD5 = 5248f774d2ee0a10936d0b1dc89107f1
推荐度:
标签: 信息 查询 上传
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top