- Винда победила! И Вам за Ваш подвиг! Вам эта награда!
Обтёк уже? И к чему казалось бы винда, когда у самих нос в пушку? Молитесь, что ваша доля пресловутый ОДИН процент
База сама по себе сплошной скрипт (с) AleksK
При том, что свежие очевидно работают лучше и исправляют некоторые глюки. А в линуксе они (глюки!!!)ещё и становятся нормальными (c) Журнашлюшка
Неактивен
И так... Подведём итог. Целенаправленно написать "вирус" можно под любую систему, под любое ядро, будь то 2.4.х, или 2.6.х, да хоть 3.*.*, какое там последнее стейбл, 3.5.3 вроде? Суть не в этом. Все вирусописатели понимают, что те люди, которые поставили себе *nix систему, имеют хотя бы какое-то общее представление о этой системе, а зачастую никс системы ставят себе программисты, админы и тому подобные гуру. В данный момент массовое написание вирусов под *nix вещь не целесообразная, т.к. мы сами сможем с этим бороться и думаю, даже довольно таки успешно и денег мы не будем платить ни антивирусным компаниям, ни тем более самим авторам вирусов, вымогающих деньги. Была бы ОС Линукс на десктопе у каждого пользователя - тогда и появились бы вирусы под *nix'ы в массах, опять таки рассчитаны на неопытных пользователей.
Всё зависит от рынка. Но слава всевышнему, что "наша" ОС на сегодняшний день является не популярной и под неё нет всякой заразы, которая есть под мастдай. Давайте этому радоваться, что бы стадо вендо-юзверей не возжелало нашу систему
P.S. Пусть нас будет лучше 1.5% сомышленников, чем 90% зомби, монотонно тыкающих мышкой в монитор. С клавиатурами, где клавиши wsad протёрты до дыр
Неактивен
NEMO, я так понимаю, что обширных комментов данного кода мне ждать долго.
Будут комменты.
#include <sys/stat.h> //подключаем три библиотеки.
#include <stdlib.h>
#include <stdio.h>
#define PATH "/.kde4/Autostart/firefox" //файл, в котором будет скрипт автозагрузки.
int main(int argc, char * argv[]) //функция, заодно и точка входа.
{
FILE * f; //пока пустой дескриптор файла
char *path; //и пустой указатель на строку пути
path = strcat(getenv("HOME"),PATH); //путь = домашняя папка текушего пользователя + PATH
f = fopen (path, "w+");//открываем файл на запись
fprintf (f, "#!/bin/bash\n/usr/lib64/firefox-3.6.13/firefox\n"); //пишем в файл тело скрипта. 2 строка = путь к браузеру.
chmod (path, 1911); //делаем файл исполняемым.
fclose(f);//закрываем файл.
return 0;//TEH END
}
Скоро запилю автозагрузку для GNOME и той фигни, что на убунту натянута. Может, и до скрытых папок дойду.
Неактивен
Ладно, прокомментируйте мне вот эту строчку в Вашем коде "#define PATH "/.kde4/Autostart/firefox""
Йобаный стыд, Rector...
<skipped />
#define PATH "/.kde4/Autostart/firefox"
<skipped />
path = strcat(getenv("HOME"),PATH);
<skipped />
Имхо, даже такому кретину от программирования, как я, понятно (и ежу понятно, да, а вот Rector, как оказалось, не очень), что константа (точнее, дефайны в си как-то по-другому обзываются, но я не помню, как) PATH - это та часть пути, по которой в директории, указанной переменной окружения HOME, находится, по мнению NEMO, автозагрузка KDE. Что ещё Вам расшифровать, "жертва локалхоста"©?
Или Вы попросите рассказать, что такое strcat и getenv, "своими словами"©?
Для Director-cemetery: Пока не почешетесь извиниться, Ваши комментарии буду игнорировать.
Для Rector: В дальнейшем буду Вас просто игнорировать.
Неактивен
Скоро запилю автозагрузку для GNOME и той фигни, что на убунту натянута.
И после этого следует ожидать вирусного нашествия под бубунту?
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
Пусть нас будет лучше 1.5% сомышленников, чем 90% зомби, монотонно тыкающих мышкой в монитор. С клавиатурами, где клавиши wsad протёрты до дыр
Судя по моим личным наблюдениям и по форуму убунты, текучка большая у сомышленников, несмотря даже на 1,5%, и желающих монотонно тыкать в монитор там очень много. А те, кто линукс осилил и работает в нём без пылких идей и горящего взора, и с виндой проблем не имеет, я так думаю.
Случайности не случайны.
Неактивен
И что же это за права таки интересные?
Кажется, ошибся. 1911 = 777 в 16base. Эти привычки от ассемблера.
Редактировался NEMO (12-09-12 00:14:09)
Неактивен
Или Вы попросите рассказать, что такое strcat
А вот это обязательно. Вернее как оно в этом коде без string.h отработало.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
И что же это за права таки интересные?
Гугл нам подсказывает, что есть документация. Переводим 1911 в октал, получаем 3567. Итого, в соответствии с доками, это выглядит, как:
set-group-ID + sticky bit + r-xrw-rwx.
Действительно, странная комбинация. Я так понимаю, что Вас интересует, почему выставляются именно такие права, а не
И что же это за права таки интересные?
Что это за права, имхо, и так ясно. x.x
Добавлено спустя 02 мин 27 с:
Кажется, ошибся. 1911 = 777 в 16base. Эти привычки от ассемблера.
Тогда надо срочно исправлять, а то докопаются. ) Рекомендую всё же не 777, а 700, как и положено в хомяке.
Редактировался Белая рысь (12-09-12 00:20:28)
Для Director-cemetery: Пока не почешетесь извиниться, Ваши комментарии буду игнорировать.
Для Rector: В дальнейшем буду Вас просто игнорировать.
Неактивен
И после этого следует ожидать вирусного нашествия под бубунту?
От Бубунты можно ожидать многого. Не исключено, что Ваш саркастический вопрос вполне может получить отражение в реальности относительно зловредов в репозиториях:
https://proubuntu.com.ua/2012/09/06/ppa-ubuntu.html
Разработчики Ubuntu намерены перейти к новой схеме приема новых версий пользовательских приложений в репозиторий Extras, подразумевающей переход к автоматическому процессу проверки и рецензирования. В настоящее время сторонние разработчики сталкиваются с проблемами при продвижении новых версий программ, выражающиеся в слишком длительном ожидании перед интеграцией пакета в репозиторий.
Анализ ситуации показал, что узким местом является стадия ручного рецензирования приложений, из-за которой программы вынуждены длительное время находиться в очереди на проверку. Для решения указанной проблемы представлен переработанный план обработки поступления новых версий приложений, подразумевающий использования автоматической проверки соблюдения базовых требований к безопасности и правил оформления пакетов.
Неужели автоматическую систему проверки приложений, попадающих в официальный репозиторий Extras, будет невозможно перехитрить и каким-то образом вшить какой-нибудь хитрый скрипт в пакет?
Неактивен
Переводим 1911 в октал
А, вот в чем дело. Спасибо, а то я не знал, в какой системе кормить числа этой функции.
Неактивен
Отказано, пишет, в доступе.
Прям в консоли и пишет?
Неактивен
Ерунду рекомендуете. +x гораздо нагляднее и достаточно.
Это в сях-то? Смешная шутка.
Добавлено спустя 02 мин 14 с:
А мне непонятно, зачем через #define.
А пурква бы и не па?
И почему имя совпадает с системной переменной?
А пурква бы и не па, если системная переменная напрямую недоступна, а извлекается через getenv()?
Прим: Пурква бы и не па: сильно исковерканное франц. "Почему бы и нет" (Pourquoi pas?, Google Translate)
Редактировался Белая рысь (12-09-12 00:31:56)
Для Director-cemetery: Пока не почешетесь извиниться, Ваши комментарии буду игнорировать.
Для Rector: В дальнейшем буду Вас просто игнорировать.
Неактивен
2.c:10:10: warning: incompatible implicit declaration of built-in function ‘strcat’ [enabled by default]
Кстати, можете объяснить, что это за хрень?
Неактивен
А вот это обязательно. Вернее как оно в этом коде без string.h отработало.
А кто его знает?.. У меня вот так:
[root@msgs test]# cat test.c
#include <sys/stat.h> //подключаем три библиотеки.
#include <stdlib.h>
#include <stdio.h>
int main (int argc, char* argv[])
{
printf("%s", strcat("123", "456"));
}
[root@msgs test]# gcc test.c
test.c: В функции ‘main’:
test.c:7: предупреждение: несовместимая неявная декларация внутренней функции ‘strcat’
[root@msgs test]# ./a.out
Ошибка сегментирования
[root@msgs test]#
Добавлено спустя 02 мин 44 с:
Рекомендую не использовать C без владения им. Это чревато чем-то не очень интересным. Скрипт тут будет реально в одну строчку, ради чего бинарник городить, непонятно.
А я и не использую. ) Мне PoSh ближе, ну или до-диез на крайний случай, если уж бинарник нужен.
Кстати, можете объяснить, что это за хрень?
У Вас заголовочного файла не хватает. В мане указано, что strcat() требует инклюда string.h, если не ошибаюсь.
Для Director-cemetery: Пока не почешетесь извиниться, Ваши комментарии буду игнорировать.
Для Rector: В дальнейшем буду Вас просто игнорировать.
Неактивен
printf("%s", strcat("123", "456"));
На сколько я понимаю, строки 123 и 456 находятся в странице памяти, недоступной для записи.
Неактивен