Как заставить это РЕПО virustotal github снова работать?
доброе утро
Я пытался использовать это РЕПО для своего проекта Android, основанного на Java: GitHub - tushroy/virus-total: a Java API for VirusTotal[^]
Проблема в том, что это РЕПО обновлено до 2013 года, и предоставленная ссылка (внутри Virustotal.Java) возвращает ошибку 404, поэтому ссылка VirusTotal устарела.
Не могли бы вы помочь мне снова заставить это РЕПО работать? Я не являюсь его владельцем, поэтому я пытаюсь заставить его работать внутри моего проекта Android, а не редактировать его в GitHub.
Заранее спасибо,
Ф.
Что я уже пробовал:
Я попытался адаптировать его для проекта Android, так что внутри MainActivity.class так оно и есть:
[...] private void getAllFilesOfDir(File directory) throws IOException { Log.d("get files", "Directory: " + directory.getAbsolutePath() + "\n"); final File[] files = directory.listFiles(); if ( files != null ) { for ( File file : files ) { if ( file != null ) { if ( file.isDirectory() ) { // it is a folder... getAllFilesOfDir(file); } else { // it is a file... Log.d("files", "File: " + file.getAbsolutePath() + "\n"); System.out.println("[*] Scanning file: " + file); byte[] data = FileUtils.readFileToByteArray(file); String sha256Hex = DigestUtils.sha256Hex(data); //The VirusTotal class allows you to search for results using various hashes //and details as supported on the VirusTotal search functionality. Set<Report> reports = VirusTotal.scan(sha256Hex); //Output the details of each scan result from a vendor for (Report report : reports) { System.out.println(report.getVendor() + " - " + report.getMalwarename()); Log.e("report virus",report.getVendor() + " - " + report.getMalwarename()); } } } } } }
Richard MacCutchan
В чем же проблема?
Just_F
Привет, спасибо за помощь
Проблема в том, что в этом классе https://github.com/tushroy/virus-total/blob/master/src/com/api/virustotal/VirusTotal.java если вы проверите сайт https://www.virustotal.com/en/file/%s/analysis/ вы получаете ошибку 404, поэтому, когда вы реализуете ее в приложении, вы не получаете результатов
Richard MacCutchan
Вам нужно использовать строковый формататор для замены %s
с некоторыми реальными данными, которые VirusTotal может использовать.
Just_F
Уже сделано: String VT_URL = String.format(URL_VIRUS_TOTAL, ключевое слово);
Richard MacCutchan
Каково фактическое значение URL-адреса, который вы отправляете?
Just_F
https://www.virustotal.com/gui/file/(файл SHA256)/обнаружение/
Пример: https://www.virustotal.com/gui/file/1cfe9f6b9b7ddc7dca8cb24eb0687c4c84693ba9cdb2ee6295833ffd25f33cc3/detection
David Crow
***** Немного не по теме *****
Отправив почти уникальное 32-битное значение в VirusTotal.scan()
, как этот метод знает, что связанный файл является вирусом или нет?