folder Tahribat.com Forumları
linefolder Delphi - Pascal
linefolder Bytescanner.Com Basic API SDK For Delphi Developers



Bytescanner.Com Basic API SDK For Delphi Developers

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wh0
    wh0's avatar
    Kayıt Tarihi: 21/Temmuz/2008
    Homo

     

    Delphi Source Code :

    http://bytescanner.com/sdk/ByteScannerDelphiAPI.rar

    Kullanilan Teknolojiler:

    • Delphi7
    • WinAPI
    • CURL

    ByteScanner API Dokumantasyonu:

    http://tahribat.com/Forum-Bytescanner-Com-Api-Dokumantasyonu-Developerlar-Icin-183574/

     

    ByteScanner Nedir?

    http://tahribat.com/Forum-Bytescanner-Com-Guvenilir-Dosya-Analizi-Sistemi-183507/

     


    🏴‍☠️Hi'dan gelen varır Who'ya, Hi'da onun adıdır Who'da...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Çok sağlam beyler, ayrıca virustotal gibi yüklediklerinizi antivirus firmalarına bildirmiyor kendi trojanınız varsa güvenle test için yükleyebilirsiniz.

     


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wh0
    wh0's avatar
    Kayıt Tarihi: 21/Temmuz/2008
    Homo
    HolyOne bunu yazdı

    Çok sağlam beyler, ayrıca virustotal gibi yüklediklerinizi antivirus firmalarına bildirmiyor kendi trojanınız varsa güvenle test için yükleyebilirsiniz.

     

    tesekkurler :)

    {
      Author : Ersan YAKIT
               http://www.bytescanner.com
    
               ZLIB1.DLL
               http://www.zlib.net/DLL_FAQ.txt
    
               CURL
               http://curlpas.sourceforge.net/curlpas/doc/requires.html
    }
    unit uByteScanner;
    
    interface
    uses Windows,Winsock,Classes,curlobj,sysUtils;
    
    type
      TCallbackFunc = procedure(fullData : string);
    
    const
      sDomain    : string  = 'bytescanner.com';
      sLoginURL  : string  = 'client2api.php';
      sUploadURL : string  = 'startup.php';
      sResultURL : string  = 'api2client.php';
    
    type  TByteScanner = class(TThread)
      private
        bsUserName : string;
        bsPassword : string;
            
    
        scanResult : TCallbackFunc;
        statResult : TCallbackFunc;
        sFileData  : string;
        sFilePath  : string;
        procedure ReadFile;
      public
        constructor Create(
                           lFilePath:string;
                           sUserName:string;
                           sPassword:string;
                           funcResult:TCallbackFunc;
                           funcStatus:TCallbackFunc);
      protected
        procedure Execute; override;
    
    end;
    var
      TempBSThread : TByteScanner;
      ScanID : String;
      FullScanData : String;
    implementation
    
    constructor TByteScanner.Create(lFilePath:string;
                                    sUserName:string;
                                    sPassword:string;
                                    funcResult:TCallbackFunc;
                                    funcStatus:TCallbackFunc);
    begin
        TempBSThread := Self;
        FreeOnTerminate := True;
        scanResult   := funcResult;
        statResult   := funcStatus;
        sFilePath    := lFilePath;
    
        bsUserName   := sUserName;
        bsPassword   := sPassword;
        FullScanData := '';
        ReadFile;
        inherited Create(true);
    end;
    
    procedure TByteScanner.ReadFile;
    var
        fhandle : Thandle;
        dSize   : DWORD;
        dRead   : DWORD;
    begin
        fhandle := Windows.CreateFile(PChar(sFilePath), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
        if fhandle <> 0 then
        begin
           dSize := Windows.GetFileSize(fhandle, nil);
           if dSize<>0 then
           begin
                Windows.SetFilepointer(fhandle,0,nil, FILE_BEGIN);
                SetLength(sFileData, dSize);
                Windows.ReadFile(fhandle, sFileData[1],dSize, dRead, nil);
           end;
           Windows.CloseHandle(fhandle);
        end;
    end;
    
    function LoginCallBack(IncomingData: pChar; ItemSize, ItemCount:LongWord; UserData:pointer):LongWord; cdecl;
    begin
      TempBSThread.statResult(String(IncomingData));
    
    end;
    
    function UploadCallBack(IncomingData: pChar; ItemSize, ItemCount:LongWord; UserData:pointer):LongWord; cdecl;
    var
      StrData : String;
    begin
      StrData := String(IncomingData);
      delete(StrData,1,POS('"root":',StrData)+Length('"root":')-1);
      Delete(StrData,Pos(',',StrData),Length(StrData));
      ScanID := StrData;
    end;
    
    function ScanResultCallBack(IncomingData: pChar; ItemSize, ItemCount:LongWord; UserData:pointer):LongWord; cdecl;
    begin
      FullScanData:=FullScanData + String(IncomingData);
    end;
    
    
    procedure TByteScanner.Execute;
    var
      Curl : pCURL;
      FirstPost, LastPost:pcurl_httppost;
    begin
        Curl := curl_easy_init();
        FirstPost:=nil;
        LastPost:=nil;
        curl_easy_setopt(Curl, CURLOPT_COOKIEJAR, 'bytescanner.txt');
        curl_easy_setopt(Curl, CURLOPT_URL, 'http://'+sDomain+'/'+sLoginURL);
        curl_easy_setopt(Curl, CURLOPT_VERBOSE, True);
        curl_easy_setopt(Curl, CURLOPT_WRITEFUNCTION, @LoginCallBack);
        curl_easy_setopt(Curl, CURLOPT_POSTFIELDS, 'action=Auth&email=' + bsUserName + '&password=' + bsPassword);
        curl_easy_perform(Curl);
    
        curl_easy_setopt(Curl, CURLOPT_URL, 'http://'+sDomain+'/'+sUploadURL);
        curl_easy_setopt(Curl, CURLOPT_VERBOSE, True);
        curl_easy_setopt(Curl, CURLOPT_WRITEFUNCTION, @UploadCallBack);
    
        curl_formadd(@FirstPost, @LastPost,
          CURLFORM_COPYNAME,     'action', 
          CURLFORM_COPYCONTENTS, 'BinaryFileTransfer',
          CURLFORM_END
        );
    
        curl_formadd(@FirstPost,@LastPost,
          CURLFORM_COPYNAME,    'binaryFile',
          CURLFORM_FILE,        sFilePath,
          CURLFORM_END
        );
        curl_easy_setopt(Curl, CURLOPT_HTTPPOST, FirstPost);
        curl_easy_perform(Curl);
    
        curl_easy_setopt(Curl, CURLOPT_URL, 'http://'+sDomain+'/'+sResultURL + '?action=scanResult&ResultID=' + ScanID);
        curl_easy_setopt(Curl, CURLOPT_VERBOSE, True);
        curl_easy_setopt(Curl, CURLOPT_WRITEFUNCTION, @ScanResultCallBack);
        curl_easy_perform(Curl);
    
        scanResult(FullScanData);
    
        curl_formfree(FirstPost);
        curl_formfree(LastPost);
        curl_easy_cleanup(Curl);
    
    end;
    
    end.
    
    unit uMain;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls, XPMan, ExtCtrls;
    
    type
      TForm1 = class(TForm)
        ListView1: TListView;
        StatusBar1: TStatusBar;
        XPManifest1: TXPManifest;
        GroupBox1: TGroupBox;
        edtEmail: TLabeledEdit;
        edtPassword: TLabeledEdit;
        GroupBox2: TGroupBox;
        edtFile: TLabeledEdit;
        Button3: TButton;
        Button1: TButton;
        OpenDialog1: TOpenDialog;
        Memo1: TMemo;
        procedure Button1Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure ListView1CustomDrawItem(Sender: TCustomListView;
          Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
      private
        { Private declarations }
      public
        { Public declarations }
    
      end;
    
    var
      Form1: TForm1;
    
    implementation
      uses uByteScanner, Math;
    
    {$R *.dfm}
    
    procedure StatusCallBack(FullData : string);
    begin
      Form1.StatusBar1.Panels[1].Text := FullData;
      form1.Memo1.Lines.Add(FullData);
    end;
    
    
    procedure ScanResultCallBack(FullData : string);
    type
      TAntivirus = RECORD
       malwareScanProvider,
       malwareScanProviderVer,
       malwareScanProviderResultTime,
       malwareScanProviderResult : String;
      End;
    var
      Antivirus : TAntivirus;
      Item : TListItem;
       smalwareScanProvider,
       smalwareScanProviderVer,
       smalwareScanProviderResultTime,
       smalwareScanProviderResult : String;
    begin
      Form1.ListView1.Items.BeginUpdate;
       try
       Application.ProcessMessages;
       smalwareScanProvider           := '"malwareScanProvider":"';
       smalwareScanProviderVer        := '"malwareScanProviderVer":"';
       smalwareScanProviderResultTime := '"malwareScanProviderResultTime":"';
       smalwareScanProviderResult     := '"malwareScanProviderResult":"';
       FullData := Trim(FullData);
      while pos(smalwareScanProvider,FullData)>0 do
      begin
        with Antivirus do
        begin
              delete(FullData,1,POS(smalwareScanProvider,FullData)+Length(smalwareScanProvider)-1);
            malwareScanProvider := Copy(FullData,1,POS('"',FullData)-1);
              delete(FullData,1,POS(smalwareScanProviderVer,FullData)+Length(smalwareScanProviderVer)-1);
            malwareScanProviderVer := Copy(FullData,1,POS('"',FullData)-1);
            malwareScanProviderVer :=SysUtils.StringReplace(malwareScanProviderVer,'\/','/',[rfReplaceAll]);
              delete(FullData,1,POS(smalwareScanProviderResultTime,FullData)+Length(smalwareScanProviderResultTime)-1);
            malwareScanProviderResultTime := Copy(FullData,1,POS('"',FullData)-1);
              delete(FullData,1,POS(smalwareScanProviderResult,FullData)+Length(smalwareScanProviderResult)-1);
            malwareScanProviderResult := Copy(FullData,1,POS('"',FullData)-1);
    
            Item := Form1.ListView1.Items.Add;
            Item.Caption := Antivirus.malwareScanProvider;
            Item.SubItems.Add(malwareScanProviderVer);
            Item.SubItems.Add(malwareScanProviderResultTime);
            Item.SubItems.Add(malwareScanProviderResult);
        end;
      end;
      except on e : exception do
        begin
          StatusCallBack('Error : ' + e.Message);
        end;
      end;
     Form1.ListView1.Items.EndUpdate;
    end;
    
    
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      ByteScanner: TByteScanner;
    begin
      ByteScanner := TByteScanner.Create(edtFile.Text,edtEmail.Text,edtPassword.Text,ScanResultCallBack,StatusCallBack);
      ByteScanner.Resume;
    
    end;
    
    procedure TForm1.Button3Click(Sender: TObject);
    begin
      if OpenDialog1.Execute then
      begin
          edtFile.Text := OpenDialog1.FileName;
      end;
    end;
    
    procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
    var
      CleanList : Array[0..4] of string;
      i : Integer;
      scolor : TCOLOR;
    begin
      CleanList[0]:='Nothing Found!';
      CleanList[1]:='Beta Version';
      CleanList[2]:='Demo Version';
      CleanList[3]:='Order Now!';
      scolor := clRED;
     for i:= low (CleanList) to High(CleanList)-1 do
     begin
      if (item.subItems[2]=cleanList[i]) then
      begin
        scolor := clGreen;
      end;
     end;
     ListView1.Canvas.Font.Color:=scolor;
    
    end;
    
    end.
    
    wh0 tarafından 05/Eyl/13 16:38 tarihinde düzenlenmiştir

    🏴‍☠️Hi'dan gelen varır Who'ya, Hi'da onun adıdır Who'da...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    websitesinde interface icin kullandiginiz frameworkmudur herneyde ne hocam ? jsf mi o ?


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wh0
    wh0's avatar
    Kayıt Tarihi: 21/Temmuz/2008
    Homo

    extjs'dir.. ancak programlamada profesyonel degilseniz kullanmamanizi oneririm. cunku debug etmek / hata yakalamak cok zor...


    🏴‍☠️Hi'dan gelen varır Who'ya, Hi'da onun adıdır Who'da...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SUPERBICO
    SUPERBICO's avatar
    Kayıt Tarihi: 13/Haziran/2008
    Erkek

    benzetmişim :) / #tr0jan.net /

    SUPERBICO tarafından 05/Eyl/13 16:59 tarihinde düzenlenmiştir
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mugen
    mugen's avatar
    Kayıt Tarihi: 22/Haziran/2013
    Erkek

    Abi şahsen son zamanlarda gördüğüm en taşaklı girişim, yolunuz açık olsun.


    O mahiler ki derya içredir deryayı bilmezler.. .
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    my4
    my4's avatar
    Kayıt Tarihi: 09/Nisan/2013
    Erkek

    bende geçen gün doctus ta görmüştüm . siteyi denedimde . upload biraz uzun sürüyor onun dışında iyi :D .


    daha iyi bir dünya için ne yapıyorsun?
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Creator
    Creator's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    Simdilik sunucuyu kendi bunyemizde barindirdigimizdan upload biraz yavas malesef. Ama kisa sure sonra cozulecektir.


    aquila non captat muscas! - d0gma.org
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wh0
    wh0's avatar
    Kayıt Tarihi: 21/Temmuz/2008
    Homo


    🏴‍☠️Hi'dan gelen varır Who'ya, Hi'da onun adıdır Who'da...
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    sayfaya girince kullanıcı girişi istiyor :d


    Si vis pacem para bellum.
Toplam Hit: 5216 Toplam Mesaj: 12