[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. xfrzx

    xfrzx New Member

    Joined:
    9 Feb 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Браузер сам всё это пишет(в редких случаях не пишет).
    1)Найти где хранится история браузера.
    2)Копипастить оттуда каждые 10секунд например, на случай если история будет удалена.

    Прокси тоже варнант впринципе.
     
    #8661 xfrzx, 4 Dec 2011
    Last edited: 4 Dec 2011
    1 person likes this.
  2. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    не слишком то сложно.как и сказано было через хуки.где то видел даже пример на вб. только он там от всех прог записывал.для браузеров там просто отслеживать окна и их классы придется.
     
  3. waik

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

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    Nightmarе а смотреть все что идет через 80порт?
    А чем прокcи не устраивает?
     
    #8663 waik, 4 Dec 2011
    Last edited: 4 Dec 2011
  4. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    короче делаешь так(или если уже знаешь то не делаешь):берешь прогу для отслеживания используемых апи.берешь любой браузер там открываешь любую страницу,смотришь какие функции юзаются.дальше пишешь перехватчик ф-ии.
    пысы: пунто умеет кстати такое.
    конечно в 10 строк кода не уложишься, но...
    __________________________________________
    короче покопался я тут за тя малех,даю более прямую наводку.
    смотри на функи из либы wsock32.dll
    чтишь сие http://ru.wikipedia.org/wiki/HTTP
    в обработчике отлавливаешь хттп запрос.как правило тебе надо выдергивать метод get, в которм и будет содержаться url на который пошел юзвер.как то так.
     
    #8664 DooD, 4 Dec 2011
    Last edited: 4 Dec 2011
    1 person likes this.
  5. waik

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

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    Ну реализовать на мой взгляд не самая сложная задача, самому стало интересно(пиши в icq будем думать вместе )
    Некротема прослушки 80 порта на ачате
     
  6. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Можно перехватывать функции, которые браузеры используют для работы с сетью, но только лучше не функции Ws2_32.dll, а функции более высокого уровня (так как перехватывая send и recv ты не сможешь получить адреса страниц, на которые переходит пользователь и которые начинаются с https).
     
    1 person likes this.
  7. vernite akk=

    vernite akk= New Member

    Joined:
    18 May 2011
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Как распарсивать стр в Chuncked энкодинге, точнее как понять что часть ответа чанк(размер следующей порции данных в шестнадцатеричном формате) а не часть документа.
     
  8. firstfallen

    firstfallen New Member

    Joined:
    1 Mar 2010
    Messages:
    64
    Likes Received:
    0
    Reputations:
    0
    ребят!!! есть хоть кто нить, кто шарит в инди в делфи 2010(не знаю какая там версия)
    Кто может помочь?
     
  9. Leon2009

    Leon2009 New Member

    Joined:
    1 Sep 2009
    Messages:
    44
    Likes Received:
    0
    Reputations:
    0
    как с помощью УДП отправить файл частями

    как с помощью УДП отправить файл частями
    Клиент
    Code:
     procedure TForm1.screens;
     var
     Buf: array[1..8192] of Char;   size:integer;
      Begin
    try
    MemStream:= TMemoryStream.Create;
    MemStream.LoadFromFile('c:\1.bmp');
    MemStream.Position:=0;
    IdUDPClient1.SendBuffer(MemStream.memory^,MemStream.Size);
    Application.ProcessMessages;
    finally
    MemStream.Free;
    end;
    end;
    сервер
    Code:
    procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
      ABinding: TIdSocketHandle);
    begin
        MemStream:= TMemoryStream.Create;
        MemStream.CopyFrom(AData, AData.Size);
        MemStream.Position := 0;
        MemStream.SaveToFile('111.bmp');
        MemStream.Free;   
    end;
    Спасибо!
     
  10. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Очень просто. Размер порции данных стоит в начале документа сразу же после хидеров. Поэтому копируешь все от начала тела документа до #13#10 и переводишь эту строку в число. Далее считываешь столько байтов, сколько было указано и повторяешь эту процедуру до тех пор, пока размер следующего чанка не равняется 0.
    Напиши конкретно в чем проблема.
     
  11. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Ну да, конечно, chunked кодирование вообще глупые люди придумали...
     
  12. vernite akk=

    vernite akk= New Member

    Joined:
    18 May 2011
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Chrome~, спасибо.
    Вот зачем говорить то чего не знаеш?
    Ты слишком самоуверен....
    Скачай синапс, скачай стр в chunked енкодинге, и попробуй разжать злибом...
    Вылезет исключение причина в том что синапс считает перые 1-2 байта...
    В следующий раз думай что говориш...
     
  13. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Как по твоему работают компоненты, которые поддерживают работу с chunked?
     
  14. vernite akk=

    vernite akk= New Member

    Joined:
    18 May 2011
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Я тоже довольно таки долго ее использую, но мб стоит попробовать воспроизвести мою ситуацию, и получить сжатую жзипом стр. передаваемую чанкед енкодингом?
     
  15. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    есть в паскале что-то вроде .split(' ')
    чтобы разделяло строку определенным символом?
    или предложите способ разбить предложение на слова
     
    _________________________
    1 person likes this.
  16. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Есть процедура, но не помню имени. Правильное решение - пробелы. Нужно посчитать количество и позицию всех пробелов.
    Кол - во примерно можно посчитать так:
    PHP:
    var iinteger;
     
    sstring;
     
    begin
     s 
    := edit1.text;
     for 
    := 1 to length(s) do
     if 
    s[i] = ' ' then ShowMessage('alert');
     
    end;
    Код на делфи, но думаю, разберешся ;) .
    Чтобы подсчитать позицию гугли ф-цию Pos().
     
    1 person likes this.
  17. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Ну так надо вопрос до конца читать, а не только первые строчки.
     
  18. vernite akk=

    vernite akk= New Member

    Joined:
    18 May 2011
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    http://vk.com/feed
    Code:
    Content-Encoding:gzip
    Transfer-Encoding:chunked
    
    Вот пример такой стр.
    Первоначально вопрос стоял не о синапсе а о том как понять где начинаеться и кончаеться чанк....
     
  19. Helium

    Helium New Member

    Joined:
    6 Jan 2010
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    Ребята, нужно отправить и считать стринговую строку из com порта. Ковыряться с createfile нет желания. Скачал компоненту tbcomport не всекаю как использовать в консольном приложении. Спасибо-пожалуйста.
     
  20. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Подключаешь в uses юнит, в котором находится описание tbcomport. Далее пишешь что то подобное этому:
    Code:
    var
      bcomport: tbcomport;
      ...
    begin
      bcomport := tbcomport.Create; // Create может принимать некоторые параметры
      // Выполняешь любые действия, работаешь с объектом bcomport
      bcomport.Free;
    end.
     
Thread Status:
Not open for further replies.