Приложение
откроет
сайт и удалится
Из
разговора
на базаре: Вот
тебе кукиш,
чего хочешь
того и
купишь.
Адрес
документа |
http://shabronov_s2.dyn-dns.ru/temp/melodii_rnd_del/melodii_rnd_del.doc инд:
|
Архив
программ |
http://shabronov_s2.dyn-dns.ru/temp/melodii_rnd/melodii_rnd_del.zip |
От
автора:
·
Продолжение
темы
программирования
на FORTH.
Пример "ликвидации
следов"
приложения.
·
Исходные
условия
смотрите в
теме "Открываем
сайт из
списка по
случайному
закону"
Вступление
·
Данная
программа, из
области
задач поиска,
но добавлена
способность "самоудаляться".
·
Автор
напоминает,
что на своем
авторском
сайте для
себя и своих
знакомых
располагает
музыкальные
фото события.
Соединил и
поместил на
своем сайте.
·
Теперь
на сайте есть
ссылка,
которая
запускает
случайным
образом музыкальные
сайты.
·
По
ссылке
загружается *.exe
приложение,
открывает
сайт из
списка по случайному
закону и
удаляется.
·
Ниже
на рисунках-gif показан
процесс
"музыкального
появления"
сайтов.
·
Если
скучно стало
друг, ты
нажми,
увидишь вдруг.
...
Текст
программы.
·
Программа
находиться в архиве ,
это
текстовый
файл melodii_rnd.f
·
Приведен
ниже в таблице
текст
начинается от раздела
"самоудаления".
Работа
без
удаления
смотрите в
теме "Открываем
сайт из
списка по
случайному
закону"
\
окончился
текст программы
для работы
без
удаления \
================================================================================================================================ CREATE
melodii_rnd.txt 0 , 0 , ( резервируем
адрес и
количество
записанного
в памяти это
файл данных
melodii_rnd.txt ) \
далее
открываем
и
записываем в тело exe
приложения файлы
поиска
музыки на
этапе
компиляции : MELODII_RND_MEM ( слово
для
подготовки
файл
простое
исполнение
требует
многих
подготовительных
слов ) S"
melodii_rnd.txt" ( An N -- имя
файла в
котором
выполняется
поиск
) R/W OPEN-FILE-SHARED
0<> IF
DROP 7 EMIT 7 EMIT BYE THEN ( выходим
с
пиком
если
нет
файла ) ( fr
-- ) DUP ( fr fr --
открыли
файл
получили
дескриптор
и
продублировали
далее
считаем
размер файла ) FILE-SIZE ( fileid -- ud
ior )
2DROP ( fr N2 -->
подсчитали
Nf и
перевели в
одинарное
значение из двойного
слова ) DUP ALLOCATE THROW ( fr Nf Af --
заняли
память под exe файл
начало Af
в
количестве Nf ) SWAP ( fr Af
Nf --- в стеке
данные
выделенной
памяти под
размер
проверяемого
файла )
2DUP ( fR Af
Nf Af Nf
-
задублировали ) 4 PICK ( fr Af
Nf Af Nf
fr -
достали из
глубины
стека
дескриптор
открытого
файла ) READ-FILE ( c-addr u1 fileid
-- u2 ior )
2DROP ( -->
считали
файл в память и
убрали
значение
считанных байт
) ( fr Af Nf
-- ) ROT CLOSE-FILE ( fr -- ior ) DROP ( и
закрыли тот
файл
который ужо
в памяти ) ( An Nf -- )
; MELODII_RND_MEM ( An N - в
стеке адрес
начала
данных и
количество ) DUP melodii_rnd.txt 4 +
! (
кол-во байт ) HERE
melodii_rnd.txt ! ( adr nачала
тут ) DUP ALLOT ( An N ) melodii_rnd.txt @ SWAP CMOVE (
перенесли в
память
программы
что бы пользоваться
при
исполнении ) : CREATE_FILE_DELET ( -
создаем
файл cmd в
котором
пишем
удаление
через 2 секунды
и запускаем
его ) S"
del_file_muz.cmd" 2DUP DELETE-FILE ( c-addr u -- ior ) DROP 2DUP ( An
n An n---- ) R/W CREATE-FILE-SHARED DROP ( FR -- ) S" TIMEOUT /T
2 /NOBREAK" 2 PICK WRITE-FILE THROW ( FR - строка
задержки
выполнения
на 2 секунды ) S"
__" ( FR An n -- ) 0x0D 2 PICK C! 0xA 2 PICK 1+ C! 2 PICK WRITE-FILE THROW ( FR - КОД
ВК-ПС ) S" del
melodii_rnd_html_and_delete.exe" 2 PICK WRITE-FILE THROW ( FR ) CLOSE-FILE ( fileid -- ior ) DROP 0x100 PAUSE ( пауза
на 255 милисекунд
на подготовку
файла
операционной
системой ) START_link_clik
( запуск командной
строки для
удаления
файл *.exe ) ; :
START_WWW_RND_TEST_DELETE ( --
запуск
ссылок
содержащихся
в файле и
удаление
после
исполнения ) melodii_rnd.txt
DUP @ SWAP 4 + @ ( Af Nf -- все в
памяти ужо )
POISK_WWW_IN_MEM ( Af Nf
-- An Nf Ns --
выполняется
поиск cтрок
в
выделенной
памяти )
RND_NS_UST
( An Nf Ns -- An Nf Nsrnd' из
полученного
количества
случайным
образом
выбираем
число )
POISK_NS_IN_MEM ( An Nf
Nsrnd -- Ac Ns --
получаем
строку
выбранную
случайно ) START_link_clik ( An n
-- выполняем
текст
ссылки
открываем
ее браузером
)
CREATE_FILE_DELET ( - создаем
файл cmd в котором
пишем
удаление
через 2
секунды и
запускаем
его ) BYE ( останавливаем
приложение и
файл
через 2
секунды
удалиться ) ; \
добавили
другое
стартовое
слово для
формирования
программы
удаления
файла после
исполнения '
START_WWW_RND_TEST_DELETE
TO < S"
melodii_rnd_html_and_delete.exe" SAVE ( записали
файл
выполнения ) BYE ( вышли
из
компиляции
текста ) \ текст программы
окончен |
Получение
программы из текста.
·
Текст
есть, нужен
компилятор
языка
программирования
FORTH. Это
файл 100_spf4.exe
Он
так же
находиться в
архиве.
·
Кроме
того,
в архиве и
другие
версии FORTH
o
spf4.exe - версия
для
приложений
до 4мб.
o
JPF375C.EXE
- версия
компактная,
размер ~40кб
o
spf4wc.exe - версия в
формате окна WINDOWS
·
Создать
новый
файл melodii_rnd_html_and_delete.exe –
выполнить в каталоге
компиляцию текста
компилятором
FORTH spf4.exe \\100_spf4.exe melodii_rnd.f <enter> Сформируется
новый исполняемый
файл.
·
Ниже
на рисунке-gif
приведена
последовательность
распаковки архива
melodii_rnd_del.zip и
компиляции
приложения
со всеми
версиями FORTH.
·
В
файле melodii_rnd.txt расположены
ссылки
автора. Но Вы
можете заменить
их на
свои.
·
Редактировать
txt файл
можно любым
ТЕКСТОВЫМ
редактором,
например
БЛОКНОТОМ.
·
Формат
файла
текстовый,
кодировка 1251 WIN русская.
·
Для
открытия
сайтов
браузером
требуется один
файл melodii_rnd_html_and_delete.exe
·
После
открытия
сайта,
формируется
файл формата CMD del_file_muz.cmd
·
С
текстом:
o
TIMEOUT
/T 2 /NOBREAK
o
·
Файл
*.exe прекращает
работу после
открытия
сайта.
·
Файл
cmd
начинает
выполняться
через 2
секунды и удаляет
файл
приложения *.exe.
·
Таким
образом
файла
приложения
нет. Остался
только след удаления.
·
Однако!
Надо помнить,
что удален только
заголовок из
файловой
системы, и
специальными
программами
можно
"вытащить"
данный файл.
·
Файл
требуется
удалять, что
бы при
скачивании,
не было
сообщения,
что он уже
существует.
Выводы
·
Данная
программа повторяет
вызов заставок
и
"привязывает"
точку вызова
к "списку
вызова".
·
Автор
постарался
дать текст
упрощенный, "ученический"
и в
максимально
подробном стиле,
для уяснения
алгоритма. Задача
темы
показать
основные
принципы работы
FORTa
·
Программа
не
устанавливается,
не прописывается
в системные
библиотеки.
·
Программа
работает под
операционными
системами WINDOWS 95/98/NT/2000/XP/Vista/Win7/8/10 и
использует
только
функции api- ядра
системы
·
Программа
написана на
языке Форт
версия
spf4.exe – автор А.
Черезов http://www.forth.org.ru
·
Программа
доступна для
использования,
изучения и
модификации
всем
желающим.
·
За
модифицированный тест
отвечает сам
модификатор.
Автор может,
при наличии времени,
только кратко
провести
консультацию
по
используемым
им forth-словам.
·
Автор
оставляет за
собой право
на модификацию
и улучшение алгоритма
и
отображения.
---------------------------------------------------------------------------------------------------------------------------------
Автор - Шабронов
Андрей
Анатольевич Тс. +7 913-905-8839 e_mail - shabronov@ngs.ru
ред. 2017-11-26 .