HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4261  
Старый 29.08.2009, 12:18
Nullsleep
Познающий
Регистрация: 02.06.2009
Сообщений: 67
Провел на форуме:
237284

Репутация: 54
Отправить сообщение для Nullsleep с помощью ICQ
По умолчанию

Цитата:
там все даже проще оказалось, вот как сделал:
Но твой код не сохраняет атрибутов, которые были у окна раньше.

Цитата:
но ToolWindow не нашел всеравно)
Плохо смотришь
WS_EX_TOOLWINDOW
Но для него нужно сменить GWL_STYLE на GWL_EXSTYLE. Примерно так:
Код:
var
  wnd: HWND;
  old_long: Integer;
begin
  wnd := FindWindow('Notepad', nil);
  old_long := GetWindowLong(wnd, GWL_EXSTYLE);
  SetWindowLong(wnd, GWL_EXSTYLE, old_long or WS_EX_TOOLWINDOW);
end;

Последний раз редактировалось Nullsleep; 29.08.2009 в 12:25..
 
Ответить с цитированием

  #4262  
Старый 29.08.2009, 21:26
Flenov
Участник форума
Регистрация: 22.11.2008
Сообщений: 142
Провел на форуме:
636446

Репутация: 32
По умолчанию

Всем привет.
Такой вопросик довольно простой, но для меня довольно значимый.

Внимание вопрос:

Существует главный юнит (юнит главной формы), в нём существует определйнная функция.
Существует Юнит потока (TThread) из которого вызывается та функция.
Где она будит выполняться?
а) В главном юните.
б) В юните потока.

Последний раз редактировалось Flenov; 29.08.2009 в 21:28..
 
Ответить с цитированием

  #4263  
Старый 30.08.2009, 07:24
Nullsleep
Познающий
Регистрация: 02.06.2009
Сообщений: 67
Провел на форуме:
237284

Репутация: 54
Отправить сообщение для Nullsleep с помощью ICQ
По умолчанию

Flenov, на сколько я понял (сделав бесконечный цикл) функция выполняется в потоке, потому что интерфейс формы не зависает, но проц грузит хорошо)
 
Ответить с цитированием

  #4264  
Старый 30.08.2009, 13:06
cremator (c)
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
Провел на форуме:
1240829

Репутация: 165
Отправить сообщение для cremator (c) с помощью ICQ
По умолчанию

sleep(1) надо в поток добавлять
 
Ответить с цитированием

  #4265  
Старый 30.08.2009, 13:13
InfectedM
Познающий
Регистрация: 04.11.2007
Сообщений: 51
Провел на форуме:
310791

Репутация: 6
Отправить сообщение для InfectedM с помощью ICQ
По умолчанию

ВОПРОС: как останавливать возобновлять поток созданный через:

PHP код:
var
th:cardinal;
   
h:integer;
begin            //

 
:= beginthread(nil1024, @sending1nil0th);
end

Последний раз редактировалось InfectedM; 30.08.2009 в 15:17..
 
Ответить с цитированием

  #4266  
Старый 30.08.2009, 15:27
Nullsleep
Познающий
Регистрация: 02.06.2009
Сообщений: 67
Провел на форуме:
237284

Репутация: 54
Отправить сообщение для Nullsleep с помощью ICQ
По умолчанию

Цитата:
Сообщение от cremator (c)  
sleep(1) надо в поток добавлять
Я как раз наоборот пытался увидеть зависание на форме, так что Sleep() тут не нужен.
 
Ответить с цитированием

  #4267  
Старый 30.08.2009, 15:55
Nullsleep
Познающий
Регистрация: 02.06.2009
Сообщений: 67
Провел на форуме:
237284

Репутация: 54
Отправить сообщение для Nullsleep с помощью ICQ
По умолчанию

InfectedM: beginthread все равно сводится к винапишной функции CreateThread, так что лучше использовать её. Тем более вместе с ней можно юзать SuspendThread и ResumeThread (приостановить и продолжить выполнение потока).

Последний раз редактировалось Nullsleep; 30.08.2009 в 16:00..
 
Ответить с цитированием

  #4268  
Старый 30.08.2009, 23:00
Flenov
Участник форума
Регистрация: 22.11.2008
Сообщений: 142
Провел на форуме:
636446

Репутация: 32
По умолчанию

Доброго времени суток!

Я на Delphi пишу одну програмку.
Она проходит авторизацию, получает какие-то куки.
Ну например вот фрагмент ответа сервера:

PHP код:
 Set-Cookiepar1=val1expires=Sun22-Aug-2010 22:38:14 GMTpath=/; domain=.domain.ru
 Set
-Cookiepar2=val2expires=Sat04-Sep-2010 08:38:06 GMTpath=/; domain=.domain.ru
 Set
-Cookiepar3=val3expires=Sat04-Sep-2010 08:50:26 GMTpath=/; domain=.domain.ru 

После чего я хочу использовать эти куки, но видимо что-то не так делаю.
Ниже текст HTTP запроса.
Куда правильно присоединить эти куки?
Если запрос не правильный, подправьте пожалуйста.
Заранее спасибо!

Код:
'GET '+WebAddr+' HTTP/1.0'+#13#10+
'Accept: text/html, */*'+#13#10+
'Host: '+Server+#13#10+
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'+#13#10+
'Content-Type: text/html'+#13#10#13#10;

Последний раз редактировалось Flenov; 30.08.2009 в 23:17..
 
Ответить с цитированием

  #4269  
Старый 01.09.2009, 16:51
dos999
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме:
183980

Репутация: 50
По умолчанию

Полностью поддерживаю Nullsleep в его совете о использовании CreateThread но раз уж так хочется можно делать так:
Код:
var
  th:cardinal;
  h:integer;
begin            //
  h := beginthread(nil, 1024, @sending1, nil, 0, th);
  SuspendThread(h);//приостановить
  ResumeThread(h);//продолжить
end;
 
Ответить с цитированием

  #4270  
Старый 01.09.2009, 17:03
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

Репутация: 229
По умолчанию

Цитата:
Сообщение от Flenov  
Доброго времени суток!

Я на Delphi пишу одну програмку.
Она проходит авторизацию, получает какие-то куки.
Ну например вот фрагмент ответа сервера:

PHP код:
 Set-Cookiepar1=val1expires=Sun22-Aug-2010 22:38:14 GMTpath=/; domain=.domain.ru
 Set
-Cookiepar2=val2expires=Sat04-Sep-2010 08:38:06 GMTpath=/; domain=.domain.ru
 Set
-Cookiepar3=val3expires=Sat04-Sep-2010 08:50:26 GMTpath=/; domain=.domain.ru 

После чего я хочу использовать эти куки, но видимо что-то не так делаю.
Ниже текст HTTP запроса.
Куда правильно присоединить эти куки?
Если запрос не правильный, подправьте пожалуйста.
Заранее спасибо!

Код:
'GET '+WebAddr+' HTTP/1.0'+#13#10+
'Accept: text/html, */*'+#13#10+
'Host: '+Server+#13#10+
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'+#13#10+
'Content-Type: text/html'+#13#10#13#10;
В мемо1:
maska=aallalaalala;session=ashhasha;lala=2481;

(кукисы, можно и запрос туда пихнуть, разницы не имеет для ниже приведенного кода)

Код принятия кукисов:
Код:
function Tform1.CopyCookie(s,sBuff:string):string;
var
text:string;
i:integer;
 Begin
  text:='';
  showmessage(inttostr(pos(s+'=',sBuff)));
  showmessage(inttostr(Length(sBuff)));
//Посл символ у нас под номером 45
  For i:=pos(s+'=',sBuff) to Length(sBuff) Do
//в i записываем откуда начинается фраза "what="
//(В мемо1 у меня начинается фраза с 20 символа)
//(в дальнейшем будет сокр МПК - МестоПоложениеКуки)
//Дальше идем от МПК до символа ";" (когда сод. куки обрывается)
//Но мы не знаем где будет находится символ ";"
//Поэтому будем проходится от МПК до посл. символа sbuff (в намем случае до посл. символа memo1)
    Begin
      If sBuff[i]<>';' then text:=text+sBuff[i] else Break;
     //Тут мы сверяем текущий символ с символом ";"(окончание куки)
     //Если этого ";" символа нету то добавляем символ
     //В итоге как символ ";" встретился то у нас в переменной text будет кука (кука+значение куки)
     //и мы закончим проходится цикл так как уже кука у нас есть и нам не зачем дальше проходиться
    End;
  Result:=text;
 End;
В Button1.OnClick пишем:

Код:
ShowMessage('Наша кука+значение куки: '+CopyCookie('What',Memo1.Lines.Text));
Коменты можно убрать (расписал для новичков)

План примерно таков:
-Отправляем пакет (без кукисов)
--Принимаем ответный пакет (ответный ответ придет с кукисами если отправляли на авторизацию пакет)

-Отправляем пакет с кукисами, к примеру:
Код:
  sendbuff :='GET vkontakte.ru/id1 ' HTTP/1.1'+ #13#10 +
                    'Host: vkontakte.ru'+ #13#10 +
                    'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 AdCentriaIM/1.7 Firefox/2.0.0.14 WebMoney Advisor'+ #13#10 +
                    'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'+ #13#10 +
                    'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3'+ #13#10 +
                    'Accept-Encoding: gzip,deflate'+ #13#10 +
                    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'+ #13#10 +
                    'Keep-Alive: 300'+ #13#10 +
                    'Connection: keep-alive'+ #13#10 +
                    'Referer: http://vkontakte.ru/index.php'+ #13#10 +
                    'Cookie: '+CopyCookie('remixchk',sBuff)+';'+' '+CopyCookie('remixmid',sBuff)+';'+' '+CopyCookie('remixemail',sBuff)+';'+' '+CopyCookie('remixpass',sBuff)+ #13#10+ #13#10;
--Принимаем ответный пакет

Последний раз редактировалось wolmer; 01.09.2009 в 17:09..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ