ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

27.01.2009, 16:14
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
ShellExecute(hInstance,"open","md.exe","c:\SSS", null,sw_sownormal);
шото в этом роде
|
|
|

27.01.2009, 16:57
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
LEE_ROY увы непомогает
|
|
|

27.01.2009, 18:02
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
http://www.delphirus.com/article32.html
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

27.01.2009, 19:43
|
|
Познающий
Регистрация: 31.08.2007
Сообщений: 94
Провел на форуме: 422909
Репутация:
200
|
|
WinExec и ShellExecute немного не то. С их помощью можно выполнять команды DOS (типа rundl32 xx.dl, бла бла ), вызывать процедуры запуска файлов с параметрами. Но для того, чтобы выполнить консольную команду можно создать поток, запускающий консольную программу. Подключаем только уже написанный для этого модуль.
Код:
//Подключаем модуль в Uses
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
StdCtrls, ExtCtrls, ComCtrls, CmdLine;
type
TForm1 = class(TForm)
btnRun: TButton;
btnWrite: TButton;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
procedure DoCommand(_lpcmd:string);
end;
var
Form1: TForm1;
CmdCom :TRedirectThread;
implementation
{$R *.dfm}
procedure TForm1.DoCommand(_lpcmd:string);
var
_data:string;
begin
if CmdCom<>nil then
begin
_data :=_lpcmd+#13#10;
CharToOem(@_data[1],@_data[1]);
CmdCom.WriteData(_data);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CmdCom:= TRedirectThread.Create(true);
CmdCom.RunProgram :='cmd';
CmdCom.Params :='';
CmdCom.FreeOnTerminate := true;
CmdCom.Resume;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if CmdCom<>nil then
CmdCom.Terminate();
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DoCommand('mkdir c:\121'); // задаем командную строку
end;
end.
Модуль CmdLine
|
|
|

27.01.2009, 20:44
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
Спасибо всем, решение с модулем больше мне подходит
|
|
|

28.01.2009, 01:13
|
|
Познающий
Регистрация: 29.12.2008
Сообщений: 45
Провел на форуме: 83889
Репутация:
1
|
|
progressbar1
Привет всем обьясните пожалуйсто как можно сделать в таком коде чтобы при выборе файла который отправлять работал Progressbar1 никак не пойму как нужно его сюда вставить да ещё чтобы по окончании передачи файла возникало окно типо Файл успешно передан !
procedure TForm1.Button4Click(Sender: TObject);
begin
if OpenDialog1.Execute then idUDPClient1.Send(OpenDialog1.FileName) //выбираем и отправляем файл
end;
end.
|
|
|

28.01.2009, 10:41
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
То, что ты делаешь - это не файл отправляет, а имя файла.
Для того чтобы отправить файл тебе нужно сделать примерно так:
progressbar1.max = размер файла
затем файл блоками читаешь и отправляешь. И в прогрессбар ставишь сколько уже отправил данных
|
|
|

29.01.2009, 07:31
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Есть php скрипт:
Код:
<?php
$uploaddir = '/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print "File is valid, and was successfully uploaded. ";
print "Here's some more debugging info:\n";
print_r($_FILES);
} else {
print "Possible file upload attack! Here's some debugging info:\n";
print "Possible file upload attack! Дополнительная отладочная информация:\n";
print_r($_FILES);
}
print "</pre>";
?>
Он принимает файл POST параметром "userfile" и загружает на сервак.
Собственно вопрос, как в делфи реализовать передачу файла этому скрипту???
Пробовал через IdHttp, не катит. Тут явно что то ещё надо юзать...
|
|
|

29.01.2009, 11:27
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Тебе нужно самому постоить HTTP запрос. Вид запроса для отсылки файла примерно такой:
Код:
POST /test.php? HTTP/1.1
Host: site.ru
Content-Length: 185
Content-Type: multipart/form-data; boundary=----------HRMPqBFF7FBJH4xJX2p87i
------------HRMPqBFF7FBJH4xJX2p87i
Content-Disposition: form-data; name="userfile"; filename="myfilename.txt"
Content-Type: text/plain
TEST TEST
------------HRMPqBFF7FBJH4xJX2p87i--
----------HRMPqBFF7FBJH4xJX2p87i - это уникальный разделитель который невстречается в передаваемых данных. ты модешь генерить его сам.
каждая строчка заканчивается на #13#10
В дельфе этот запрос будет строиться примерно так:
1) генери boundary типа ------------HRMPqBFF7FBJH4xJX2p87i
2) data:=boundary+#13#10+'Content-Disposition: form-data; name="userfile"; filename="'+filename+'"'+#13#10+'Content-Type: text/plain'+#13#10#13#10+filedata+#13#10#13#10+boundary +'--'+#13#10;
3) pack:='POST /'+script+' HTTP/1.1'#13#10+Host: '+host+#13#10+'Content-Length: '+inttostr(length(data))+#13#10+'Content-Type: multipart/form-data; boundary='+boundary+#13#10#13#10+data;
4) СОединяйся с сервером каких угодно способом и шли ему pack
Последний раз редактировалось slesh; 29.01.2009 в 11:31..
|
|
|

29.01.2009, 14:27
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Пасиб, про формирование заголовков и POST запроса на сокэтах и т.д... Ну это понятно.
Хотелось бы через специальный компонент упростить всё это дело, должен же быть какой то компонент отвечающий за пердачу файлов.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|