В этой теме я хочу рассказать вам, как получить исходный код html в самописную программу на делфи. Для чего это нужно?
Ну хотя бы для того, чтобы написать свой собственный брут или бот.
Для того, чтобы получить исходный код, нужно пройти авторизацию на сайте. Именно авторизацией мы сейчас и займёмся.
Запустите среду программирования делфи (лично у меня стоит embarcadero rad studio 2010).
embarcadero rad studio - это среда разработчика, объединяющая два популярных языка программирования: с++ и делфи.
Поэтому я вам рекомендую установить себе на комп этот программный продукт, если его у вас ещё нет. Где взять сами
знаете (гугл в помощь). Можете конечно пользоваться и старыми версиями делфи, но этого делать не рекомендую.
Установленные компоненты могут различаться в разных версиях. Даже в пределах одного компонента могут быть различия.
Итак, установили среду, запустили. Далее File -> New -> VCL Forms Application Delphi. Перед нами появится основная
форма, на которую мы будет помещать необходимые компоненты:
Для работы нам понадобятся следующие компоненты:
Button (кнопка) - одна штука
Edit (поле ввода) - одна штука
компонент TIdHTTP - одна штука
Кнопка находится на панели компонентов, на вкладке стандартные: standard -> TButton
Поле ввода находится на панели компонентов, на вкладке стандартные: standard -> TEdit
Компонент TIdHTTP находится на панели компонентов, на вкладке Indy Clients
Для того, чтобы добавить компонент на нашу форму, просто перетащите его левой кнопки мыши.
У вас должно получиться примерно следующее:
Теперь давайте настроим компонент TIdHTTP. На основной форме выделите этот компонет - слева появятся его свойства. Нас
здесь интересуют только два свойства этого компонента:
AllowCookies - разрешает нашей программе использовать куки
HandleRedirects - разрешает автоматический переход по страницам
У этих двух свойств, нужно поставить значение True:
Компонент поле ввода мы трогать не будем.
Теперь давайте напишем код, который будет выполняться при нажатии на кнопку. Для этого щёлкните два раза по кнопке на форме.
Перед нами появится следующее окошко:
Перед тем как писать код, нужно определиться что и куда отправлять. Т.е. нам нужно узнать имя хоста авторизации,
метод передачи данных (post или get), имена полей ввода. Узнать всё это можно на главной странице сайта. Двайте перейдём
на главную страницу ДО и посмотрим на исходный код страницы.
В коде нам нужно найти тег <form>, кторый отвечает за передачу данных. Найти его не трудно, вот собственно и он:
--------------------------------------------------------
-----------------------------------------------------------
Из всего этого кода нам нужны только четыре параметра:
method="post"
action="http://darkorbit.bigpoint.com/?locale=ru&aid=0"
name="loginForm_default_username"
name="loginForm_default_password"
Теперь, когда у нас есть вся необходимая информация, возвращаемся к нашей кнопке и пишем код:
-------------------------
Код:
procedure TForm1.Button1Click(Sender: TObject);
var list: TStringList;
begin
list:=TStringList.Create;
try
list.Add('loginForm_default_username=ваш ник');
list.Add('loginForm_default_password=ваш пароль');
Edit1.Text:=IdHTTP1.post('http://darkorbit.bigpoint.com/?locale=ru&aid=0',list);
finally
list.Free;
end;
end;
---------------------------
Небольшой комментарий к коду.
Мы завели переменную list. Тип данной переменной TString (список строк). Далее создали список. Добавили в него логин и
пароль. И в случае успеха отправленных данных присвоили полю вводу полученный от сервера html код.
Теперь с полученным кодом можно уже работать (анализировать, удалять, менять и т.д.). В данном коде мы получили список
серверов. Выбрав нужный, можно зайти на свой акк, опять получить код. Проанализировать, получить СИД. А зная сид, можно
получить доступ к карте. А получив доступ к карте, можно отправлять команды "лететь влево", "лететь вправо", "поднять коробку"
и т.д. Т.е. можно создать своего бота.
Пример программы здесь:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Отчёт с вирустотал:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Ну и напоследок, чтобы статья была интересна не только новичкам, но и матёрым хакерам, пердлагаю небольшой конкурс.
Задача конкурса состоит в следующем, вам нужно получить логин и пароль из примера. Программа без всякой защиты, логин и
пароль жёстко вшиты в .exe файл. Так что трудностей думаю у вас не возникнет. Можете дизасемблировать, можете применять
другие методы - главное результат. Кто справится с заданием первый - получит приз. Призовой фонд - 1 рубль.
Всем спасибо за внимание.