/** Método abstrado, que destrava a interface gráfica durante a operação do botão 'btScan'. */ @Override public void run() { try { // Função que enviará arquivo para verificação VirusTotal VT = new VirusTotal(service.getAPI_KEY()); Set<ReportFileScan> Report = VT.sendFileScan(view.getTaDiretorio().getText()); for (ReportFileScan report : Report) { // Aribuindo Link da verificação a variável url url = report.getPermaLink(); // Tirando aspas que por padrão vem a String url = url.replaceAll("\"", ""); /** * Pegando SHA256. Ela é exencial para que possa se imprimir os dados da verificação do * JTextArea(taRelatorio) */ String subs = url; SHA256 = subs.substring(32, 96); } } catch (IOException | HeadlessException e) { // Atualizando painel de Logs caso dê erro helper.attLog("\n[+] Erro ao executar Scan"); // Avisando ao usuário que deu erro. JOptionPane.showMessageDialog( view, "Ocorreu um erro ao scaneiar arquivo.", "Erro ao executar Scan", 2); } }
/** * Sube el archivo a VirusTotal y devuelve la url y el scanid(sha256)/filehash. * * @param filePath * @throws IOException */ public void UploadAndReport(String filePath) throws IOException { Set<ReportFileScan> Report = this.vT.sendFileScan(filePath); for (ReportFileScan report : Report) { // System.out.println("URL: "+report.getPermaLink()+" Response code: // "+report.getResponseCode()); this.fileUrl = report.getPermaLink(); } this.fileHash = FindFileHash(); }