1. STLcRash

    STLcRash New Member

    Joined:
    4 Jun 2009
    Messages:
    39
    Likes Received:
    0
    Reputations:
    0
    Помогите через ShockwaveFlash зайти в какую - нибудь игру с сайта vkontakte. На форме будет кнопка запуска, сам компонент ShockwaveFlash и поле edit для ввода в него auth_key
    Возможно ли вообще через ShockwaveFlash открыть игры с сайта вконтакте? Сам swf файл я скачал, но при процедуре ShockwaveFlash1.Movie := ExtractFilePath(Application.ExeName) + 'gala.swf'; отображается только стартавая картинка, а игра не работает.

    Если через webbrowser, то там довольно странно всё выходит, если сначала удалить игру из кэша, а потом зайти на страницу с ней, то она загружается и работает нормально, однако если игра уже есть в кэше, то ничего не происходит. Какждый раз убивать кэш и перезагружать игру довольно муторно... Тем более скоростью интернета похвастаться не могу.
     
    #1 STLcRash, 23 Jul 2010
    Last edited: 23 Jul 2010
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Ну смотри через сниффер какие куда запросы шлются. Мож там авторизация нужна или мож флешка чтото подгружает по относительному пути а не обсолютному
     
  3. Refqs

    Refqs Banned

    Joined:
    20 Feb 2010
    Messages:
    139
    Likes Received:
    56
    Reputations:
    27
    есть такая штуки, как контейнеры, и политика безопастностит\
     
  4. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    Пральна говорит.
    OCX компотнент один фик не даст таких привелегий, при том привсем флешка грузится через специальный контактовский flash враппер.

    Решение :
    Надо копать в сторону плагина Flash для браузеров(взять хотя бы для FF), почитать как взаимодействует конкретный браузер со своими плагинами и просто написать свой подгрузчик этого плагина, а там уже смотреть какие flash vars и т.д. кидает контакт. Дело конечно далеко не для новичка.
     
  5. STLcRash

    STLcRash New Member

    Joined:
    4 Jun 2009
    Messages:
    39
    Likes Received:
    0
    Reputations:
    0
    Нашел как подгузить, тема не актуальна, но чтоб не создавать ещё одно, спрошу тут, почему виснет цикл в следующей кнопке?
    При первом нажатии всё работает нормально, при 2м зависает. ( Подскажите что подправить?
    Code:
    procedure TForm1.sburClick(Sender: TObject);
    var
      bmp: TBitmap;
      i,j,k:extended;
    begin
      razvY:=0;
      StatusBar1.Panels[0].Text := 'определяем высоту разведзонда';
      Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\IMG\RAZV.bmp');
    while k < 95 do
    begin
      bmp := TBitmap.Create;
      bmp.Width := 60;
      bmp.Height := 20;
      BitBlt(bmp.Canvas.Handle, 0,0, 60, 20, GetDC(form1.Handle), 178,165+razvY,SRCCOPY);
      Image.Width := 60;
      Image.Height := 20;
      Image.Picture.Assign(bmp);
      Threshold(Image.Picture.Bitmap, 140, clWhite, clBlack);
      bmp.Free;
      razvY:=razvY+1;
      i:=CompareImageW(Image2,Image,60,20,0,0);
      j:=CompareImageB(Image2,Image,60,20,0,0);
      k:=(i+j)/2;
      if k > 95 then StatusBar1.Panels[0].Text := 'высота разедзонда = '+IntToStr(175+razvY)+' совпадеие '+FloatToStr(k)+ ' %';
      if razvY > 350 then begin StatusBar1.Panels[0].Text := 'разведзонды не обранужены'; Break; end;
      Application.ProcessMessages;
    end;

    И собственно функции из этого цикла:

    Сравнение белых и черных пикселей на 2х картинках:
    Code:
    //функции попиксельного сравнения}
      function CompareImageW(TrueImg, ComprblImg:TImage;//TrueImg-это картинка-шаблон,ComprblImg-сравниваемая
             Width,Height,x1,y1:integer):extended; //x1,y1 - координаты начала ComprblImg. результат в "%"
    var
      x,y,k,n:integer;
      one,two:extended;  //числитель и знаменатель. extended-это потому что нам нужны дробные числа
    begin
      Result:=0;
      n:=0;
      k:=0;
      for x := 0 to Width do
      for y := 0 to Height do
        if TrueImg.Canvas.Pixels[x,y]=clWhite then
          begin
            inc(n);  //это наш знаменатель - сколько всего черных пикселей
            if ComprblImg.Canvas.Pixels[x+x1,y+y1]=clWhite then
              inc(k);//это числитель - кол-во совпадений
          end;
      one:=k; two:=n;  //присваиваем числитель и знаменатель
      Result:=(one/two)*100;  //и результат умножаем на 100%.
    end;
    function CompareImageB(TrueImg, ComprblImg:TImage;//TrueImg-это картинка-шаблон,ComprblImg-сравниваемая
             Width,Height,x1,y1:integer):extended; //x1,y1 - координаты начала ComprblImg. результат в "%"
    var
      x,y,k,n:integer;
      one,two:extended;  //числитель и знаменатель. extended-это потому что нам нужны дробные числа
    begin
      Result:=0;
      n:=0;
      k:=0;
      for x := 0 to Width do
      for y := 0 to Height do
        if TrueImg.Canvas.Pixels[x,y]=clBlack then
          begin
            inc(n);  //это наш знаменатель - сколько всего черных пикселей
            if ComprblImg.Canvas.Pixels[x+x1,y+y1]=clBlack then
              inc(k);//это числитель - кол-во совпадений
          end;
      one:=k; two:=n;  //присваиваем числитель и знаменатель
      Result:=(one/two)*100;  //и результат умножаем на 100%.
    end;
    Перевод изображение в чернобелое:
    Code:
    //перевод изображения в чернобелый цвет
     procedure Threshold(Bitmap: TBitmap; Value: Byte; Color1, Color2: TColor); type TRGB = record B, G, R: Byte; end; pRGB = ^TRGB; function ColorToRGB(Color: TColor): TRGB; begin with Result do begin R := Lo(Color); G := Lo(Color shr 8); B := Lo((Color shr 8) shr 8); end; end; var x, y: Word; C1, C2: TRGB; Dest: pRGB; begin Bitmap.PixelFormat := pf24Bit; C1 := ColorToRGB(Color1); C2 := ColorToRGB(Color2); for y := 0 to Bitmap.Height - 1 do begin Dest := Bitmap.ScanLine[y]; for x := 0 to Bitmap.Width - 1 do begin if (Dest^.r + Dest^.g + Dest^.b) / 3 > Value then Dest^ := C1 else Dest^ := C2; Inc(Dest); end; end; end;
    
     
  6. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    Врядли кто то поможет.

    Что тут???
     
  7. STLcRash

    STLcRash New Member

    Joined:
    4 Jun 2009
    Messages:
    39
    Likes Received:
    0
    Reputations:
    0
    не знаю как описать что это... Может выложу исходником и вы поглядите что не так и что вообще вызывает зависание и почему виснет только при втором нажатии?
     
  8. STLcRash

    STLcRash New Member

    Joined:
    4 Jun 2009
    Messages:
    39
    Likes Received:
    0
    Reputations:
    0
    Ошибка была вызвана " bmp.Free;" нужно освобождать в момент полного выхода из программы... :) Нашел более удобный способ.

    Другим способом ищу 15 маленьких картинок размером 30/20 на 800/900 меньше чем за пол секунды, может даже около десятой. :)
     
  9. STLcRash

    STLcRash New Member

    Joined:
    4 Jun 2009
    Messages:
    39
    Likes Received:
    0
    Reputations:
    0
    Слдедующий вопрос:
    В игре, для которой я пишу бота ввели правило на использование кликеров, сказали, что если заметят любые кликеры, забанят на неделю :) Вопрос следующий:

    Как можно через swf игру Vkontakte отличить обычную мышку от програмной? И вообще возможно ли это?
    Так - же вопрос, как сделать, чтоб невозможно было отличить програмную мышку от настоящей :)
     
  10. Shadow67

    Shadow67 Banned

    Joined:
    21 Jul 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Да никак не отличить.. но в игре скорее всего проверяют количество кликов в минуту и координаты куда делается клик.
    Если у тебя будет по несколько тысяч кликов в минуту и все в одну точку то скорее всего заметят , ведь человек так не смог бы :)
     
  11. qefs

    qefs Banned

    Joined:
    2 Aug 2010
    Messages:
    8
    Likes Received:
    5
    Reputations:
    0
    кликеров вроде всегда быстро узнают и банят
     
  12. STLcRash

    STLcRash New Member

    Joined:
    4 Jun 2009
    Messages:
    39
    Likes Received:
    0
    Reputations:
    0
    Ерунда.. С пару десятков акков на моей программе работает уже довольно продолжительное время :) Забанили пока только одного, но не за прогу, за мультов..