Skip to content

Commit

Permalink
Tuyết Nhi Dễ Thương
Browse files Browse the repository at this point in the history
  • Loading branch information
Tran Khanh committed Jun 27, 2024
1 parent 0395a0c commit ac4ddfa
Show file tree
Hide file tree
Showing 15 changed files with 53 additions and 16 deletions.
16 changes: 10 additions & 6 deletions VirusTotal_Library/VirusTotal/FileAnalysis.cs
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ public async Task<FileScanResult> ScanFileViaHash(string filePath)
result.MeaningfulName = (string)data["meaningful_name"];

result.FirstSubmissionDate = ConvertTimeStampsToDateTime((long)data["first_submission_date"]);
result.LastAnalysisDate = ConvertTimeStampsToDateTime((long)data["last_analysis_date"]);
result.LastAnalysisDate = data["last_analysis_date"]!=null ? ConvertTimeStampsToDateTime((long)data["last_analysis_date"]) : DateTime.Now;
result.LastSubmissionDate = ConvertTimeStampsToDateTime((long)data["last_submission_date"]);

result.TimesSubmitted = (string)data["times_submitted"];
Expand All @@ -143,11 +143,15 @@ public async Task<FileScanResult> ScanFileViaHash(string filePath)


var signatureInfo = new SignatureInfo();
signatureInfo.Description = (string)data["signature_info"]["description"];
signatureInfo.FileVersion = (string)data["signature_info"]["file version"];
signatureInfo.OriginalName = (string)data["signature_info"]["original name"];
signatureInfo.Product = (string)data["signature_info"]["product"];
signatureInfo.InternalName = (string)data["signature_info"]["internal name"];
var get_signature_info = data["signature_info"];
if( get_signature_info !=null)
{
signatureInfo.Description = (string)get_signature_info["description"];
signatureInfo.FileVersion = (string)get_signature_info["file version"];
signatureInfo.OriginalName = (string)get_signature_info["original name"];
signatureInfo.Product = (string)get_signature_info["product"];
signatureInfo.InternalName = (string)get_signature_info["internal name"];
}
result.SignatureInfo = signatureInfo;

var AnalysisStatis = new AnalysisStatis();
Expand Down
14 changes: 9 additions & 5 deletions VirusTotal_Library/VirusTotal/UrlAnalysis.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,14 @@ public async Task<URLScanResult> ScanUrl(string url, int scanType = 0)
JObject scanData = JObject.Parse(scanDataString);

var getDataAttributes = scanData["data"]["attributes"];

var getLast_Http_Response_Headers = getDataAttributes["last_http_response_headers"];

var getReputation = getDataAttributes["reputation"];
result.Reputation = getDataAttributes["reputation"] != null ? (int)getReputation : 0;

result.Url = (scanType == 0 ? (string)getDataAttributes["url"] : url);
//result.Permalink = (string)scanData["data"]["attributes"]["link"];
result.Permalink = (string)scanData["data"]?["attributes"]?["link"];
result.Resource = scanId;
result.ScanId = scanId;
result.ResponseCode = 1;
Expand All @@ -59,9 +60,12 @@ public async Task<URLScanResult> ScanUrl(string url, int scanType = 0)
var lastModDate = scanData["data"]["attributes"]["last_modification_date"];
result.LastModificationDate = ConvertTimeStampsToDateTime(lastModDate != null ? (long)lastModDate : 0);

result.Date = getLast_Http_Response_Headers["date"] != null ?
ConvertDateStringToDateTime((string)getLast_Http_Response_Headers?["date"]) :
ConvertTimeStampsToDateTime((long)getDataAttributes["date"]);

var getDate = GetJsonValueIgnoreCase(getLast_Http_Response_Headers, "date");

result.Date = (getDate != null ?
ConvertDateStringToDateTime( (string)getDate) :
ConvertTimeStampsToDateTime((long)getDataAttributes["date"]));


var HttpResponseHeaders = new HttpResponseHeaders();
Expand All @@ -73,7 +77,7 @@ public async Task<URLScanResult> ScanUrl(string url, int scanType = 0)
HttpResponseHeaders.PermissionsPolicy = (string)getLast_Http_Response_Headers["permissions-policy"];
HttpResponseHeaders.P3P = (string)getLast_Http_Response_Headers["p3p"];
HttpResponseHeaders.ContentEncoding = (string)getLast_Http_Response_Headers["content-encoding"];
HttpResponseHeaders.Date = ConvertDateStringToDateTime((string)getLast_Http_Response_Headers["date"]);
HttpResponseHeaders.Date = result.Date;
HttpResponseHeaders.Server = (string)getLast_Http_Response_Headers["server"];
HttpResponseHeaders.ContentLength = (int)getLast_Http_Response_Headers["content-length"];
HttpResponseHeaders.XXSSProtection = (string)getLast_Http_Response_Headers["x-xss-protection"];
Expand Down
37 changes: 33 additions & 4 deletions VirusTotal_Library/VirusTotal/VirusTotalWrapper.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
using System;
using Newtonsoft.Json.Linq;
using System;
using System.CodeDom;
using System.IO;
using System.Net.Http;
using System.Security.Cryptography;
using System.Windows.Forms;

namespace VirusTotal_Library.VirusTotal
{
Expand Down Expand Up @@ -37,9 +40,35 @@ public DateTime ConvertTimeStampsToDateTime(long timeStamp)

public DateTime ConvertDateStringToDateTime(string dateTimeString)
{
//DateTimeOffset dateTime = DateTimeOffset.ParseExact(dateTimeString, "ddd, dd MMM yyyy HH:mm:ss 'GMT'", System.Globalization.CultureInfo.InvariantCulture);
DateTime dateTime1= DateTime.Parse(dateTimeString);
return dateTime1;
//MessageBox.Show(dateTimeString);
DateTimeOffset dateTime = DateTimeOffset.ParseExact(dateTimeString, "ddd, dd MMM yyyy HH:mm:ss 'GMT'", System.Globalization.CultureInfo.InvariantCulture);
//DateTime dateTime1= DateTime.Parse(dateTimeString);
return dateTime.DateTime;
}

public JToken GetJsonValueIgnoreCase(JToken jToken, string key)
{
if (jToken == null)
return null;

JToken jto = jToken;

string[] jtoStr = { key, key.ToLower(), key.ToUpper(), char.ToLower(key[0]) + key.Substring(1) };


for(int i=0; i < jtoStr.Length; i++)
{
foreach (var property in ((JObject)jToken).Properties())
{
if (property.Name == jtoStr[i])
{
jto = property.Value;
break;
}
}

}
return jto;
}


Expand Down
Binary file modified VirusTotal_Library/bin/Debug/VirusTotal_Library.dll
Binary file not shown.
Binary file modified VirusTotal_Library/bin/Debug/VirusTotal_Library.pdb
Binary file not shown.
Binary file modified VirusTotal_Library/obj/Debug/VirusTotal_Library.dll
Binary file not shown.
Binary file modified VirusTotal_Library/obj/Debug/VirusTotal_Library.pdb
Binary file not shown.
2 changes: 1 addition & 1 deletion VirusTotal_Scanner/Form1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ private async void button3_MouseClick(object sender, MouseEventArgs e)
int scanType = 0;

var report = await urlAnalysis.ScanUrl(textBox2.Text, scanType);
richTextBox2.Text = "Scan Type: " + (scanType == 0 ? "Url" : "Analysis")+ " (0 - Recommended)";
richTextBox2.Text = "Scan Type: " + (scanType == 0 ? "0 - Url" : "1 - Analysis")+ " (0 <Url> - Recommended)";
richTextBox2.Text += "\n_________________________\n";

richTextBox2.Text += "URL: " + report.Url + "\n";
Expand Down
Binary file modified VirusTotal_Scanner/bin/Debug/VirusTotal_Library.dll
Binary file not shown.
Binary file modified VirusTotal_Scanner/bin/Debug/VirusTotal_Library.pdb
Binary file not shown.
Binary file modified VirusTotal_Scanner/bin/Debug/VirusTotal_Scanner.exe
Binary file not shown.
Binary file modified VirusTotal_Scanner/bin/Debug/VirusTotal_Scanner.pdb
Binary file not shown.
Binary file not shown.
Binary file modified VirusTotal_Scanner/obj/Debug/VirusTotal_Scanner.exe
Binary file not shown.
Binary file modified VirusTotal_Scanner/obj/Debug/VirusTotal_Scanner.pdb
Binary file not shown.

0 comments on commit ac4ddfa

Please sign in to comment.