перенести js на delphi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by sova1611, 2 May 2013.

  1. sova1611

    sova1611 New Member

    Joined:
    10 Jan 2009
    Messages:
    30
    Likes Received:
    3
    Reputations:
    0
    есть код на js
    PHP:
    <script_=+!+[];d='';f=0;s=[]+(_--+!+[])+(_--)+(_+!+[])+(++_+!+[]-~[]+!+[]+!+[])+(++_+!+[]+!+[])+(_--)+(+!(_=8)+8)+(_+~[])+(_)+(+!(_=3)+1); var _0xcf15=['\x2D','\x6C\x65\x6E\x67\x74\x68','\x63\x68\x61\x72\x41\x74','\x63\x6F\x6F\x6B\x69\x65','\x6E\x5F\x6A\x73\x3D','\x3B\x20\x6D\x61\x78\x2D\x61\x67\x65\x3D\x33\x36\x30\x30\x3B\x20\x70\x61\x74\x68\x3D\x2F'];if(f){d=_0xcf15[0];} ;for(i=s[_0xcf15[1]]-1;i>=0;i--){d=d+s[_0xcf15[2]](i);} ;document[_0xcf15[3]]=_0xcf15[4]+d+_0xcf15[5]; if(document.cookie.indexOf('n_js='+d)!=-1){document.formddpost.submit();}else{if(window.navigator.cookieEnabled){document.cookie='n_js='+d;window.location.href='http://wf.mail.ru/ie6cookie?c='+d;}else{document.body.innerHTML 'Для просмотра этой страницы необходима поддержка JavaScript и Cookie';}} </script

    может подскажет кто как генерируется эта кука и как её перенести на delphi)
     
  2. los8005

    los8005 Member

    Joined:
    28 Sep 2009
    Messages:
    19
    Likes Received:
    5
    Reputations:
    5
    всмысле перенести? заставить дельфи посчитать что выдаст скрипт?
     
  3. sova1611

    sova1611 New Member

    Joined:
    10 Jan 2009
    Messages:
    30
    Likes Received:
    3
    Reputations:
    0
    ну да мне бы алгоритм,как генерируется кука,
     
  4. los8005

    los8005 Member

    Joined:
    28 Sep 2009
    Messages:
    19
    Likes Received:
    5
    Reputations:
    5
    очевидно что код обфусцирован. можно попробовать скормить это TWebBrowser и получить то что он исполнит, прочитав его куки.
     
  5. sova1611

    sova1611 New Member

    Joined:
    10 Jan 2009
    Messages:
    30
    Likes Received:
    3
    Reputations:
    0
    PHP:
    _=+!+[];d='';f=0;s=[]+(++_+!+[]+!+[]+!+[])+(+!(_=6)+9)+(+!(_=8)+0)+(+!(_=4)+0)+(--_-!+[]-!+[])+(++_+!+[]+!+[]+!+[])+(_--)+(++_+!+[]-~[]+!+[]+!+[]);var _0xcf15=['-','length','charAt','cookie','n_js=','; max-age=3600; path=/'];if(f){d=_0xcf15[0];};for(i=s[_0xcf15[1]]-1;i>=0;i--){d=d+s[_0xcf15[2]](i);}document[_0xcf15[3]]=_0xcf15[4]+d+_0xcf15[5];t
    вот такое содержимое файла js расшифрованое
     
    #5 sova1611, 2 May 2013
    Last edited: 2 May 2013
  6. sova1611

    sova1611 New Member

    Joined:
    10 Jan 2009
    Messages:
    30
    Likes Received:
    3
    Reputations:
    0
    нашёл решение:)
    может кому пригодится

    Code:
    unit Unit1;  interface  uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls,ComObj;  type   TForm1 = class(TForm)     Button1: TButton;     Memo1: TMemo;     procedure Button1Click(Sender: TObject);   private     { Private declarations }   public     { Public declarations }   end;  var   Form1: TForm1;  implementation  {$R *.dfm}  procedure TForm1.Button1Click(Sender: TObject); var  js:OleVariant; begin   js:=CreateOleObject('ScriptControl');  js.Language:='JavaScript';   ShowMessage(js.Eval(memo1.text));  js:=Unassigned; end;  end.
    в мемо наш js)
     
    1 person likes this.