WAIT4STRING(NUMBER,STRING,NUMBER, COMMAND,STRING)
В
представленном здесь языке скриптов это самая важная команда. После ее выполнения
выходной сигнал модема будет находиться в состоянии ожидания. В этот момент
должна начаться загрузка специального слова. Если стыковка осуществлена, то скрипт
продолжается, если — нет, то после тайм-аута в модем будет отправлена
заданная последовательность, затем — вновь тайм-аут и, наконец, идет
выполнение команды.
Важно: Сначала команда WAIT4STRING проверяет текущую
строку с представленным словом. Синтаксис:
WAIT4STRING(a,b,c,d,e).
a
Определить
тайм-аут в диапазоне от 0 до 255 секунд. Ноль соответствует неограниченному
ожиданию, то есть ждать до тех пор пока не наступит так называемый TOTAL
TIMEOUT (скрипт переходит в секцию #NOCARRIER в том случае, если
данные не поступают из модема в течение пяти минут). Если ничего не получено,
то последовательность в потоке данных распознается снова, или в какой-то
момент несущая частота объявляется потерянной.
b
Последовательность
данных, которая будет послана в модем после тайм-аута.
c
Частота
отказов или количество общего времени, в течение которого может выполняться
фатальная команда. Диапазон: от 0 до 255 (0=никогда, 1=первый раз).
d
Выполнение
специальной фатальной команды. Это могут быть любые команды, исключая: ALARM,
WAIT4STRING и IF.
e
Последовательность
данных для ожидания. Данные чувствительны к регистру.
Например:
WAIT4STRING(15,^M,2,GOTO(1),ogin:)
В
этом примере происходит ожидание последовательности ogin: в течение 15
секунд. Если стыковка не получилась, а каретка возвращается в модем (^M), то
команда снова ждет 15 секунд, пока вновь не наладится стыковка с
последовательностью данных ogin:.
Как
только истекут следующие 15 секунд, вызывается фатальная команда, что означает
переход к GOTO с меткой под номером 1.
LOG_SESSION_ON
Начиная
с этого пункта, все данные поступающие из модема записываются в файл
регистрации.
Например:
LOG_SESSION_ON
LOG_SESSION_OFF
Если
содержимое экрана записано в файл регистрации, то к этому пункту больше не
будет обращений.
Например:
LOG_SESSION_OFF
SEND(STRING)
Команда
SEND передает последовательность данных в модем. Через эту команду вы
можете пересылать в модем переменные со знаком $. В конец
последовательности передается возврат каретки. Если последовательность данных
не задана, то сразу осуществляется переход на возврат каретки.
Например:
SEND(echo Hacked you system Time: $TIME - Date: $DATE >
HACKED.TXT)
В
данном примере команда SEND посылает в модем строку:
echo HAcked your system Time: 23:00 - Date: 24-12-95 >
HACKED.TXT
SEND_(
)
Эта
команда аналогична вышеописанной, но она не посылает в модем символ возврата каретки
^M. Ее можно использовать, если вам нужно загрузить в модем только один
символ или командный режим +++.
Примеры:
SEND_(n)
SEND_(+++)
SEND_DIC(NUMBER)
Переслать
текущий словарь в модем.
Например:
SEND_DIC(1)
NEXT_DIC(NUMBER)
Переместиться
на слово, соответствующее аргументу NUMBER.
Например:
NEXT_DIC(1)
SEND_NEXT_BRUTE(NUMBER)
Используя
Brute Force Generator, сгенерировать следующую допустимую последовательность
и переслать их в модем.
Например:
SEND_NEXT_BRUTE(1)
SEND_BRUTE(NUMBER)
Переслать
в модем текущую последовательность допустимых данных из словаря Brute Force Generator.
Например:
SEND_BRUTE(1)
NEXT_BRUTE(NUMBER)
Сгенерировать
следующую допустимую последовательность данных из словаря Brute Force Generator.
Например:
NEXT_BRUTE(1)
IF VARIABLE OPERATOR STRING THEN COMMAND
Команда
IF первой версии этой программы не очень гибкая. Синтаксис этой команды следующий:
IF <variable><operator><string> THEN
<command> <variable>
<operator>
Означает
равносильность при аргументе =, больше или меньше при аргументах < или
> соответственно и переменную содержащую любую последовательность слов при
аргументе ~. Переменные и последовательности должны быть дискретными
переменными.
<command>
Эта
команда выполнится в том случае, если будет соблюдено условие TRUE.
Чтобы ее использовать, просмотрите список команд для оператора WAIT4STRING.
Например:
IF STRING~ogin THEN GOTO(3)
То
есть, если текущая строка (STRING), содержит дискретную (~) последовательность
данных ogin, то идти (GOTO) к маркеру с номером 3
EXECUTE(STRING)
Выполнить
DOS-программу, а затем запустить скрипт. Вы должны включить переменные в
выполняемую строку. Вы также должны выполнить соответствующие внутренние
команды MS DOS. Помните, что перед переменной может стоять знак $ с
возможными пробелами позади и впереди самого знака.
Важно:
Если вы хотите запустить программу в то время,
когда по вашему скрипту осуществлено соединение, то вы должны использовать
драйвер fossil. В противном случае ваш компьютер зависнет. Поэтому запустите X00.EXE
E 2 перед выполнением программы Login Hacker.
Важно: Чтобы ваша программа не была повреждена, предварительно
сохраните ее в каталоге отличным от исходного.
Примеры:
EXECUTE(C:\ SB\ VPLAY C:\ SB\ VOC\ HACKED.VOC)
EXECUTE(COPY $LOGFILE C:\ HACKED)
ALARM(STRING,COMMAND)
Опасно
нажимать на спусковой крючок! Если на удаленном компьютере сработала система
защиты, то вы будете активны до тех пор, пока не выполниться эта команда.
STRING
Последовательность,
для которой осуществляется поиск данных с их последующей передачей в модем.
COMMAND
Эта
команда будет выполнена после стыковки. Чтобы ее использовать, просмотрите
листинг команд для WAIT4STRING. Примените эту команду в том случае,
например, если вы взломали BBS, а сисоп вас раскусил и задает глупые вопросы.
После этой команды вы автоматически прервете соединение и остановите
выполнение скрипта.
Например:
ALARM(chat,GOTO(#END))
SET
VARIABLE=STRING
Этой
командой вы определяете переменную в секции #START или #NOCARRIER.
Если переменная является статической переменной, то вы должны это отметить.
Вы должны устанавливать только следующие переменные: STRING, DIAL_TRIED,
LOGIN_TRIED, S_TMP и D_TMP.
Например:
SET
D_TMP=3
Определить статическую переменную
D_TMP в качестве 3.
INC(DIGIT_VARIABLE)
Увеличить
число указанной переменной на 1. Эта команда будет выполнена лишь в том
случае, если переменная после дополнения не находится в указанном диапазона.
Имеют
силу следующие команды:
●
DIAL_TRIES
● DIAL_TRIED
● LOGIN_TRIES
● LOGIN_TRIED
●
D_TMP.
Например:
INC(D_TMP)
DEC(DIGIT_VARIABLE)
Уменьшить
число указанной переменной на 1. Эта команда будет выполнена лишь в том
случае, если переменная после вычитания не будет находиться вне указанного диапазона.
Имеют
силу следующие команды:
●
DIAL_TRIES
● DIAL_TRIED
● LOGIN_TRIES
● LOGIN_TRIED
●
D_TMP.
Например:
DEC(D_TMP)
WAIT(NUMBER)
Ожидать
до тех пор, пока идут секунды определенные аргументом NUMBER. Аргумент
NUMBER соответствует любому числу в диапазоне от 1 до 65535.
Например:
WAIT(10)
(десять секунд)
WAIT_(NUMBER)
Ожидать
до тех пор, пока идут миллисекунды, определенные аргументом NUMBER.
Аргумент NUMBER соответствует любому числу в диапазоне от 1 до 65535.
Например:
WAIT(500)
(полсекунды)
BEEP
Создает
сигнал, похожий на легкий звук бибикалки!
Переменные
и управляющие символы
Речь
идет о переменных, которые могут быть использованы в командах SEND( )
или LOG( ). Как уже отмечалось, печатать переменных в модем или файл
регистрации задается символом $ (доллара), поставленным перед
соответствующей переменной, и пробелами. Вы можете использовать #DEFINE
любые специфические переменные. Вам их нужно только определить.
STRING
Символы
пересылаются из модема в последнюю строку.
STRING2
Последние
250 символов отправляются из модема.
DIAL_TRIED
Фактические
попытки набора номера.
LOGIN_TRIED
Фактические
попытки получить имя и пароль.
TIME
Действительное
время в часах и минутах (двоеточие пропускается). Например, TIME=1505
означает 15:05.
DATE
Текущая
дата в формате MMDD. Например, DATE=503 означает 3 мая.
DIC(1)
Текущий
загруженный словарь 1.
BRUTE(2)
Текущая строка словаря Brute Force Generator 2.
S_TMP
Переменная
строка. Вы можете ее использовать, как вам нравится.
D_TMP
Переменная
для цифр. Вы можете ее использовать, как вам нравится.
В
командах IF и SET вы можете использовать исключительно
вышеописанные переменные. Переменные из #DEFINE исключаются. Только
статические переменные и константы приемлемы для IF!
Не
стоит также использовать знак $ перед переменной. Этот знак допустим
только в командах SEND, LOG и WAIT4STRING.
Например:
IF TIME>1215 THEN GOTO #END (отсоединиться после
12:15).
LOG($DIC(3))
SEND($S_TMP)
Теперь
относительно спецсимволов. Вы можете записывать любые управляющие символы
вместе с командами LOG, SEND или WAIT4STRING через знак ^
(шапочка). Это означает, что вы можете ввести, например ^M или
написать ^^ ... окей?, или использовать любые конструкции от ^A
до ^Z плюс ^[ ^\ ^] и ^^.
Например:
SEND_(^D)
#DEFINE
<определения>
#NOCARRIER
<некоторые
команды>
#START
<ваш
алгоритм>
#END
|