使用Virustotal和Python提取应用程序哈希的分数

时间:2018-11-21 13:05:47

标签: python json sha

我正在尝试使用VirusTotal API获得应用程序哈希和IP地址的分数。

该代码适用于IP地址。请参见下面的代码:

###### Code starts 
import json
import urllib.request
from urllib.request import urlopen
url = 'https://www.virustotal.com/vtapi/v2/ip-address/report'
parameters = {'ip': '90.156.201.27', 'apikey': 'apikey'}

response = urllib.request.urlopen('%s?%s' % (url, urllib.parse.urlencode(parameters))).read()
response_dict = json.loads(response)
#### Code ends

但是对于“应用程序哈希”而言,这是行不通的。以前有人对此进行过工作吗?

例如,应用程序哈希“ f67ce4cdea7425cfcb0f4f4a309b0adc9e9b28e0b63ce51cc346771efa34c1e3”的得分为29/67。 See the image here.有没有人使用此API来获得分数。

1 个答案:

答案 0 :(得分:0)

您可以使用python库中的 requests 模块尝试相同操作

import requests
params = {'apikey': '<your api key>', 'resource':<your hash>}
headers = {"Accept-Encoding": "gzip, deflate","User-Agent" : "gzip,  My Python 
requests library example client or username"}
response_dict={}
try:
    response_dict = requests.get('https://www.virustotal.com/vtapi/v2/file/report', 
     params=params).json()

except Exception as e:
        print(e)

您可以使用它来获取数据:

if response_dict.get("response_code") != None and response_dict.get("response_code") > 0:
        # Hashes
        sample_info["md5"] = response_dict.get("md5")
        # AV matches
        sample_info["positives"] = response_dict.get("positives")
        sample_info["total"] = response_dict.get("total")
        print(sample_info["md5"]+" Positives: "+str(sample_info["positives"])+"Total "+str(sample_info["total"]))
    else:
        print("Not Found in VT")

作为参考,请检查virustotalapi,以便您同时使用多个api键。