Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Virüs Total API Kullanımı
#1
Lightbulb 
Herkese iyi akşamlar,


Bugün sizlerle bir projemin eklentisinden bahsedeceğim. Virüs Total sitesini hemen hemen hepiniz bilirsiniz, site geçenlerde 2.sürüme geçiş yaparak API kullanımını yaygınlaştırdı. GitHub aracılığı ile Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol kullanıcısının hazırlamış olduğu Linkleri Görebilmeniz İçin Giriş yap veya Üye Olkullanımı hakkında birkaç bilgi vermek istedim.


Öncellikle bize gerekli olan dosyaları indirelim;

 1) VirusTotal.pas dosyası [Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol]
 2) X-SuperObject [Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol] DipNot: Türk geliştirici olması ayrı bir hoşuma gitti  :rolleyes:


Bu dosyaları elde ettikten sonra projelerimize ekleyip uses olarak tanıtımlarını yapabiliriz;

uses
...
VirusTotal, XSuperJSON, XSuperObject;


Şimdi ise biraz tanıtım yapmamız lazım, tabi hemen öncesinde belirtmeliyim ki Virüs Total sitesine üye olup API keyinizi almanız gerek..

- Gerçi VirusTotal.pas dosyasında bulunuyor, almasanız da olur :angel:  


Tanıtımlarımız record tipi oldukları için isterseniz hangisi ne işe yarıyor onu anlatayım;

TvtFileSend: Virüs Total sunucusuna dosya göndermenizi sağlar.
TvtURLSend: Virüs Total sunucusuna url, ip adresi vs. göndermenizi sağlar.
TvtFileReport: Önceden göndermiş olduğunuz bir dosyanın sha256 kodu ile direkt bilgileri raporlamanızı sağlar.
TvtURLReport: [b]Önceden göndermiş olduğunuz bir URL'yi direkt bilgileri raporlamanızı sağlar.[/b]
TVirusTotalAPI: Bu ise bizim yukarıdaki işlemleri yapmadan önce API'yi oluşturmamız için gereken class yapısı

Şimdi ben aşağıda bir örnek proje hazırlayayım, bu proje ile dosya gönderip bilgilerimizi alabilelim;

1) İlk önce projemize tanımlarımızı yapalım;

var
VirusT: TVirusTotalAPI;
Tarama: TvtFileSend;
Sonuclar: TvtFileReport;

2) Projemize 3 button, 1 edit, 1 memo, 1 opendialog ekledikten sonra, ilk butona dosya seçmeniz için gereken kodları;

   2.1) 1.Button, dosya seçme kodu;

OpenDialog1.Execute ///Bunu niye yazdım bende bilmiyorum :))

   2.2) 2.Button, gerekli dosyayı gönderme kodu;

 VirusT := TVirusTotalAPI.Create;

Tarama := VirusT.ScanFile(OpenDialog1.FileName);
Edit1.Text := Tarama.permalink;  // Virus Total ulaşım URL'sini alırsınız.

   2.3) 3.Button, sonuçları isteme kodu;

Sonuclar := VirusT.ReportFile(Tarama.SHA256);

/// buraya response_code, verbose_msg gibi tanımlarla hata alıp almadığını sorgulayabilirsiniz.

if Sonuclar.Scans.Avast.detected = True then
begin
Memo1.Lines.Add('Avast: Bulduk bişeyler hacı' + sLineBreak + 'Bulduğumuz Şu: '+Sonuclar.Scans.Avast.result);
end
else
begin
Memo1.lines.add('Tertemiz bir dosya, helal olsun!!11!');
end;


Bir deneme yapalım:

MaWNpM.png


Şimdi birkaç uyarıda bulunayım;

   - Max. 32 mb dosya kabulu olduğu söyleniyor çizelgede, bu yüzden programı tasarlarken gerekli uyarıları ayarlasanız yararınıza olacaktır.
   - Dosya uploadı internet hızına ve dosya boyutunu bağlı, tarama ise 1dk içinde size veriliyor, yüklendiği gibi sonuç almak isterseniz yanlış sonuç alabilme durumunuzu göz önünde bulundurursak 1dk sonra sonuç istemeniz yararınıza olacaktır.
  

Göz önünde bulunduracağım pek bişey kalmadı gibi, eğer varsa eklerseniz sevinirim. Yakında Linkleri Görebilmeniz İçin Giriş yap veya Üye Olhesabıma kaynak kodlarıyla paylaşırım inşaAllah.

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Saygılarımla,
İyi çalışmalar.
Eski dos'tan windows olmaz.
Cevapla
#2
API key almsk daha doğru. Belli bir seviyeden sonra ücretli üyelik gerektiriyor. Herkes kod içindeki API kullanırsa bu sıkıntı ortaya çıkabilir.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#3
(02-10-2017, Saat: 23:29)engerex Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlAPI key almsk daha doğru. Belli bir seviyeden sonra ücretli üyelik gerektiriyor. Herkes kod içindeki API kullanırsa bu sıkıntı ortaya çıkabilir.

Bu kısmı düşünmemiştim  Shy
Eski dos'tan windows olmaz.
Cevapla
#4
Paylaşım için teşekkürler. Emeğinize sağlık.
There's no place like 127.0.0.1
WWW
Cevapla
#5
Yazdığım havada kalmasın. Şimdi siteden baktım.
2 API üyeliği var. PUBLIC ve PRIVATE

Şöyle not düşmüşler.

Alıntı:Notice
The Public API is limited to 4 requests per minute.
The Private API returns more threat data and exposes more endpoints.
The Private API is governed by an SLA that guarantees readiness of data.

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SQL Server : Tablo Değişkeni Kullanımı (Running Total, Yürüyen Bakiye Örneği) uparlayan 5 258 22-03-2018, Saat: 12:28
Son Yorum: hi_selamlar
  Delphi Direktif Kullanımı narkotik 3 190 12-03-2018, Saat: 00:44
Son Yorum: mcuyan
  StringReplace Kullanımı Hk. hyperxman 0 165 13-01-2018, Saat: 22:33
Son Yorum: hyperxman
  Delphi ile .Net Ortamında geliştirilen dll içerisindeki fonksiyon kullanımı yhackup 5 639 27-09-2017, Saat: 16:32
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi