начинающий программист
Что мне дальше изучать после С++
Visual C++?
или что то другое?
Assembler обязательно изучать, пригодится он?
Если ты не умеешь сравнивать 2 строки с strcmp, тогла лучше найди другую профессию.
Это не так. Нет никого, кто умел бы сравнивать строки с рождения. Как говорил В.И.Ленин, «учиться, учиться и учиться [коммунизму, если кто читал]». А бросить и найти другую профессию каждый сможет.
Кстати, надо бы всем поблагодарить heavenа за то, что положил начало такой ветке. Лично я говорю своё спасибо. И Бобру тоже за стойкость. Без него дискуссия уже давно зачахла бы. Мало кто может вынести такое количество нападок, а он ещё жив :!!!:;);) Я бы давно уже повесился, если бы узнал о себе столько... столько... э-э-э... хорошего :roll: Снимаю шляпу.
Ну не знаю как тебе, но мне времени не хватает для изучения языка, Последний месяц вобще пол дня читаю книжки, многое по 10 раз перечитываешь, пока не пошевельнется извилина. Но опыта набираешься только с практики, даже если вызубришь теорию...
Много времени занимают другие занятия, например поставил себе linux, потихоньку учусь с ним работать... Но разом все не изучишь.. Нужна постепенность...
Скажите пожалуйста, какие книжки лучше читать, каких авторов? по Асме, С++ и др.
Не, 1сек!
Кто сказал, что языки программирования нужно учить?!?
Их нужно ИЗУЧАТЬ!
А это, уже совсем другое…
Что касательно какие книги нужно читать, скажу так… Перечитал кучу литературы, и абсолютно во всех книгах, находятся «касяки», описки, опечатки… Так что, покупай любую, всё равно получишь минимум знаний и массу головной боли… (я лично так считаю, если нет практики, то книги абсолютно бесполезны! Короче, литература без практики, лишь макулатура!) Вот мой дружок, закончил ВУЗ с отличием, приходит ко мне, ну а я его решил протестировать (так, ради хохмы) и чего из этого вышло… смех да и только! (даже фрактал не нарисовал)…
Мой тебе совет:
Хватай свой ПК, ставь Delphi 2005 (это, лишь моё мнение), купи книгу (да по толще), открывай на первой странице, хватай «Клаву» в руки и поехал писать всё, что просит автор книги… Конечно, сразу (да ещё и без пива) не разобрать, но потом втянешься и дело по прёт! Главное, ТЕРПЕНИЕ! А потом, тебе самому станет интересно… Это я тебе говорю!
Дерзай, в нашей жизни, только «Упёртые» и храбрые, выходят в люди, а остальные… в пролёте!
Код на CBuilder
{
char c1[20];
char c2[] = "Hello";
strcpy(c1,"Hello");
if(strcmp(c1, c2)==0)
ShowMessage("Строки равны!");
else
ShowMessage("Строки не равны!");
if(sizeof(c1)==sizeof(c2))
ShowMessage("Размерность строк равна!");
else
ShowMessage("Размерность строк не равна!");
if(strlen(c1)==strlen(c2))
ShowMessage("Текущая длина строк равна!");
else
ShowMessage("Текущая длина строк не равна!");
}
Рад за Ваше чувство юмора но я тоже над Вашими доводами от души хохочу. Подумайте на досуге о длинне строки c1 в Вашем примере.
Это не так. Нет никого, кто умел бы сравнивать строки с рождения. Как говорил В.И.Ленин, «учиться, учиться и учиться [коммунизму, если кто читал]». А бросить и найти другую профессию каждый сможет.
Ну я немношко погорячился. Просто программирую не первый год, и не ожидал услышать такое, что строки разной длины по определению не могут быть равны. Потом c strcmp() работают миллионы. Это что у них рука кривая?
По всей видимости heaven еще не знает, что строка в С заканчивается на 0-й символ. Только не ясно, как он присваивает значение своим строкам.
Рад за Ваше чувство юмора но я тоже над Вашими доводами от души хохочу. Подумайте на досуге о длинне строки c1 в Вашем примере.
Что смешного в приведенном мной примере? Код не работает. Или строки c1 и c2 не равны?
И можете привести рабочий код Вашего примера. Типа вот 2 строки, инициализация, сравнение.
Что смешного в приведенном мной примере? Код не работает. Или строки c1 и c2 не равны?
И можете привести рабочий код Вашего примера. Типа вот 2 строки, инициализация, сравнение.
Ну что же раз думать Вы не хотите, тогда немного теории (терпение и все станет ясно):
1. В теории множеств оперции эквивалентности (равности) множеств определена только для множеств одинаковой мощьности (с одинаковым количеством элементов). Для множеств разной мощности определна оперция вхождения, а это не равенство.
2. По стандарту языка С (подчеркиваю С, а не С++, поскольку там, как верно заметил SquirL есть ещи и строки Unicode и AnsiString. Но это предмет отдельного обсуждения) строка это Множество символов, заканчивающаяся двоичным 0". Следовательно строка длиной 10 символов пораждает множество мощьности 11, а строка длиной 20 символов пораждает множество мощности 21.
3. См п. 1 и понимаем, ЧТО СРАВНЕНИЕ СТРОК НА РАВЕНСТВО РАЗНОЙ ДЛИНЫ НЕ ИМЕЕТ СМЫСЛА ПО ОПРЕДЕЛЕНИЮ.
ЗЫ: В Вашем примере строки имеют одинаковую длину. И не чего путать новичков.
Ну я немношко погорячился. Просто программирую не первый год, и не ожидал услышать такое, что строки разной длины по определению не могут быть равны. Потом c strcmp() работают миллионы. Это что у них рука кривая?
По всей видимости heaven еще не знает, что строка в С заканчивается на 0-й символ. Только не ясно, как он присваивает значение своим строкам.
Ну вот! Бобр потихоньку заражает всех боевым настроением :) Это эпидемия.
Меня все мучает вопрос: Стоит ли на него переходить, учиться шкодить под него, и какую литру читать, или лучше сходить на курсы, чтобы быстрее вникнуть в тему?
heaven, могу посоветовать тебе как начавший недавно. squirL был бы прав на 200%, если бы такое было возможно. Учись сам, особенно в мелочах. Когда я начинал, у меня инета вообще не было - модем попросту отсутствовал. И приходилось все ковырять исключительно своей мозгой. Хотя я и сейчас в плане вопросов по своим работам на форуме не злоупотребляю.
[color=blue]Про написание дизассемблера[/color]
Меня тут вдруг осенило: вот все спорим, на чем лучше дизасмы писать - на Си или асме?
Сам забыл то, что было примерно пол года назад. А было следующее - в рамках курсового переделывал под винду отладочный комплекс для микроконтроллера в который включался в частности дизассемблер. Как вы думаете, на чем был написан этот комплекс? На Турбо Паскале! При чем работал комплекс замечательно на протяжении лет 5-ти, не меньше. Переделывал не потому, что програма глючила, а потому что была сделана исключительно под ДОС и понятно немного морально устарела :), да еще и к портам не правильно с точки зрения NT обращалась, но это уже совсем другая история...
А вы всё про Си да про асм.
Ну вот! Бобр потихоньку заражает всех боевым настроением :) Это эпидемия.
Бобра и близко небыло. Кроме этого, я прочитал пару предложений с его постов, и больше не стал читать. Так что ненадо. Есть код
char c2[20];
...
if(strcmp(c1,c2)==0)
{
//c1==c2
}
if(strcmp(c1,c2)<0)
{
//c1<c2
}
if(strcmp(c1,c2)>0)
{
//c1>c2
}
char c2[20];
strcpy(c1,"abcdef");
strcpy(c2,"abcdef");
if(strcmp(c1,c2)==0)
{
AfxMessageBox("eq!");
}
Главное, ТЕРПЕНИЕ! А потом, тебе самому станет интересно…
heaven, простите великодушно, что за вас отвечаю, но я просто уверен, что вы скажете: «Да мне уже сегодня всё это интересно!» Кому не интересно, тех на этом форуме вообще нет.
Бобра и близко небыло. Кроме этого, я прочитал пару предложений с его постов, и больше не стал читать. Так что ненадо. Есть код
char c2[20];
...
if(strcmp(c1,c2)==0)
{
//c1==c2
}
if(strcmp(c1,c2)<0)
{
//c1<c2
}
if(strcmp(c1,c2)>0)
{
//c1>c2
}
char c2[20];
strcpy(c1,"abcdef");
strcpy(c2,"abcdef");
if(strcmp(c1,c2)==0)
{
AfxMessageBox("eq!");
}
Сказал бы, что в азах С разобраться действительно не мешает.
Пример №1
char c2[20];
//Отводится два массива симоволов по 10 и 20 элементов
//Прошу Вас ометить, что массивы никак не инициализуруются
//И ни о каких строка здесь речь идти не может,
//поскольку содержимое этих массивов не определено и что там в памяти есть сам БГ не знает
//Ну и что с чем сравнивается совсем не понятно
if(strcmp(c1,c2)==0)
{
//c1==c2
}
if(strcmp(c1,c2)<0)
{
//c1<c2
}
if(strcmp(c1,c2)>0)
{
//c1>c2
}
Пример №2
char c2[20];
//Два массива разной длины
strcpy(c1,"abcdef");
strcpy(c2,"abcdef");
//Инициализируются одной и той же строкой, т.е.
//в массивах строки одинаковой длинны,
//а утверждается, что длины строк разные. Это как?
if(strcmp(c1,c2)==0)
{
AfxMessageBox("eq!");
}
char c2[20];
strcpy(c1,"abcdef");
strcpy(c2,"abcdef");
if(strcmp(c1,c2)==0)
{
AfxMessageBox("eq!");
}
не совсем корректный пример. как мой :) функция strcmp все равно будет переданные параметры воспринимать не как два символьных массива длинной соответственно 10 и 20 символов, а просто как два указателя. будет это выглядеть приблизительно так:
{
for ( ; *str1 == *str2; str1++, str2++)
if (*str1 == '\0')
return 0;
return *str1 - *str2;
}
как видите, функция ничего не знает о том, что первая строка "короче" второй. поэтому строки "не равны" только на бумаге, вернее на экране монитора.
heaven, простите великодушно, что за вас отвечаю, но я просто уверен, что вы скажете: «Да мне уже сегодня всё это интересно!» Кому не интересно, тех на этом форуме вообще нет.
Это точно… Я просто знаю, что иногда интерес пропадает (когда «долбишься» в стену "проблем")…
Инициализируются одной и той же строкой, т.е.
в массивах строки одинаковой длинны,
а утверждается, что длины строк разные. Это как?
ну можно с натяжкой утверждать, что под первую строку выделено больше места чем под вторую (хотя до инициализации это никакая не строка :) ). идея понятна, но исходная посылка неверна.
Бобра и близко небыло. Кроме этого, я прочитал пару предложений с его постов, и больше не стал читать. Так что ненадо. Есть код
char c2[20];
...
c1[10];
char c2[20];
strcpy(c1,"abcdef");
strcpy(c2,"abcdef");
if(strcmp(c1,c2)==0)
{
AfxMessageBox("eq!");
}
Ладно вам по мелочам раззоряться. Еще раз повторю - большая часть этой ветки: флуд чистой воды, следовательно принимать его в серьез не стоит.
Во всяком случае это относится к моему высказыванию про "эпидемию". Неужели похоже, что это было сказано всерьез?
Про strcmp - ну в общем я сильно не вникал (голова своим делом занята), но в отношении использования полностью согласен с вашим примером. Сам делаю обычно точно так же и ни где проблем не было. Равенство - значит равенство, длинна - значит длинна.
Но ИМХО, глазу все же приятней не if(strcmp(c1,c2)==0), а if(!strcmp(c1,c2)) хотя конечно суть от этого не меняется, но многие гуру программирования на Си советуют делать именно так.
Я просто знаю, что иногда интерес пропадает (когда «долбишься» в стену "проблем")…
Значит, либо плохо долбишься, либо нужно почитать книжку :)
Терпение господа.
Чем пример некорректен? Чем он противоречит первому коду?
тем, что строки в вашем примере - одинаковые. этими строками инициализируються два символьных массива разной длинны. но строки при этом остаются одинаковыми.
Это точно… Я просто знаю, что иногда интерес пропадает (когда «долбишься» в стену "проблем")…
Вот для этого как раз и форум, чтобы не раздолбить весь интерес об стену... ну и немного для флуда, конечно.
PS:
Господа, кончайте флудить про strcmp, а то я на вас модератора натравлю :D Сколько можно? Даже я уже всё понял.
тем, что строки в вашем примере - одинаковые. этими строками инициализируються два символьных массива разной длинны. но строки при этом остаются одинаковыми.
Согласен. А вот такой вопрос:
char str2[256]
strcpy(str1,"Съешь еще этих мягких булочек");
strcpy(str2,"Съешь еще этих мягких булочекСъешь еще этих мягких булочек");
//что будет в результате по вашему?
if(strcmp(str1,str2))
printf("true");
else
printf("false");
Если Вы все поняли, тогда скажите по Вашему imho кто прав? В языке C равенство строк определяется их длиной или же ихним текущим содержимым? :)
Утверждалось, утверждается и будет утверждаться что:
ДВЕ СТРОКИ РАЗНОЙ ДЛИННЫ НЕ РАВНЫ ПО ОПРЕДЕЛЕНИЮ.
ЗЫ: Здесь собрались нормальные люди а не экстрасенсы, которые могут через компьютер прочесть Ваши мысли. Поэтому, когда Вы приводите пример делайте это аккуратно и корректно. А ваш первый пример не правильный. В результате новичок не смог в нем разобраться и только запутался.
Это Вы запутались, и все еще не привели рабочий код Вашей программы. Вы утверждали, что
Повторю еще раз. ВАМ ИЗВЕСТНО, ЧТО strcmp() РАБОТАЕТ С СТРОКАМИ НУЛЕВЫМ СИМВОЛОМ В КОНЦЕ? Вы посмотрели, ага под с1 10 символов, под c2 20 символов, и сделали вывод, цитирую: "В этом примере строки всегда не равны".
От этого утверждения у любого C программиста мин. челюсть упадет.
Этот пример чушь.
char c2[20];
...
if(strcmp(c1,c2)==0)
{
//c1==c2
}
if(strcmp(c1,c2)<0)
{
//c1<c2
}
if(strcmp(c1,c2)>0)
{
//c1>c2
}
Здесь вообще нет строк. И если Вы этого не понимаете, то дальнейший разговор бессмысленен.
Психолог... И как много ты трудов изучил по этой те метике, сколько у тебя лет практики? И самое главное как много положительных результатов?
Психами стало .... человек :)
Какими-то детскими категориями мыслишь: круче, моднее, понтовее...
Почему детскими?
Я - профессионал. Это значит лишь то, что за свои труды я получаю деньги. А в IT, как в "Алисе": для того чтоб хотябы стоять на месте, надо бежать со всех ног, а чтоб двигаться вперед, надо бежать ещё быстрее. Поэтому каждый специалист должен постоянно прогрессировать и обладать гибкостью мышления. Кроме того нужно четко представлять перспективы. Писать ОС - неприбыльно, писать доп. фичи под существующие ОС - прибыльно.
Ты хотел видеть мои плоды. За хвастовство рано или поздно приходится платить, поэтому приведу лишь ссылки на серьезные проекты в которых я участвовал:
http://www.turbocad.com
http://www.turbocad.com/prodinfo.asp?mcid=244
http://speechpro.com/production/?id=338&fid=6
http://www.drive-image.com
http://www.data-security-software.com
http://www.r-firewall.com
http://www.activisionvalue.com/titles/AmericanChopper
Хорошие деньги можна и за вирусы получать. Ссылки впечатляют? Тебе сколько лет то? Наверное, минимум 10 лет, как универ закончил.
Ничего не скажу я не помню их имен, но некоторое время я занимался защитой информации, поэтому что-то из их "трудов" да изучал. Обычно это рассусоливание в винмейкерской нотации того, что уже более профессионально описали Метт Питрек, Русинович, Рихтер.
Еще "реальный чувак" это Жора Гусински.
Знаю, Руссиновичи Рихтер - действительно "реальные чуваки", только идея то не ихняя... А вообще вирмейкеров интересует не только защита информации(точнее взлом), а еще много чего другого.
Ты действительно в ВУЗе учишься? А на кого?
Программист - это инженерная специальность. Это на тот случай, если ты в свою зачетку не заглядывал...
Дейтсвительно... Но в зачетке про инженеров ни слова... А вообще - поступал я на матфак, кафедру информатики. Потом кафедру отделили, создали новый факультет -компютерных наук.
Ерунда. Кроме того мой код будет лекго поддерживаем, тестируем, изменяем, встраиваем.
Что значительно приоритетнее, чем некоторый незначительный лишь предполагаемый выигрыш в скорости. Ты задумайся: выигрыш в скорости (в профессиональном программировании) в основном достигается не за счет какой-либо реализации алгоритма, а в самом выборе правильного алгоритма. Реализуй "пузырек" хоть на ассемблере, хоть на С, он все-равно будет медленнее, чем другие методы сортировки.
Но выбор правильного алгоритма не всегда заранее очевиден, поэтому пока ты будешь реализовывать это дело на ассемблере, кое как отлаживать, я полностью проведу первую итерацию на языке высокого уровня и перейду к следующей итерации.
Поэтому за конечный промежуток времени я разработаю более оптимальный (в т.ч. и по производительности) алгоритм.
Не спорю, портируемость кода - больше, но насчет тестируемости и изменяемости - так это можно и на асме устроить...
Ерунда. Не вижу разницы между защитой ассемблерного кода и кода на С/С++. Попробуй доказать обратное.
На асме это реализовать проще... ИМХО писать, к примеру, пи-код на асме - это уже извращение.
Причем тут язык и кольцо?
С/С++ компилируется в машинный код, а не в байт-код, как к примеру Java, а по тому может запускаться в любом кольце.
При том что в это самое кольцо попасть еще надо. Либо юзать callgate либо драйвер писать(я про NT -подобные оси), а сделать это проще, и даже природнее на асме...
Не... до инженера тебе ещё учиться и учится...
Причем тут срок заражения? Ты, видимо, ещё очень плохо знаешь, что из себя представляет ОС.
Оччень даже притом. Злобный вирус попав на комп до антивиря может реально обмануть последний, ессли написан на более низком уровне, конечно. А вот если антивирь был первым, то это будет для него уже сложнее(опять мыслю с точки зрения нт-подобных осей). Так-что скорее имеет значение не только врмя заражения, а и то, как низко написаны вирь и антивирь.
Всесильная... :D
Вообще-то SI обходится довольно легко, как и любой другой отладчик.
На этот счет тоже антиприколы придуманы. :)
А ты видел его код? Можешь привести конкретные примеры корявостей?
Нет? Тогда сидим и молчим в тряпочку.
А что он сервиспаками затыкает? Ну точно не скорость прорисовки окон увеличивается. Конкретный пример - BackDoor под Windows2000.
Не поверишь. Именно так. Каждый второй.
И в этом нет ничего ТАКОГО... Это может любая обезьяна, был бы стимул.
Не поверю :). Наверное я первый... А вообще я про то, что к примеру создал Dark Avenger, а не то что студенты на парах пишут.
Что-то ты даже области винмейкерства не знаешь. Вирусы пишут студенты, мняшие себя кулхацкерами, студентки-переростки, мнящие себя кул-хацкерами и подогревающие свой комплекс написанием статей для начинающих. И есть ещё группа, которая не любит себя афишировать, которая зарабатывает на этом деньги. Сами по себе деньги для винмейкеров небольшие, больше получают те, кто пользуются их продуктом, а таких людей немного, да и к программированию они отношения не имеют. Это обычные СПАМЕРЫ.
А я и не претендую на звание "гуру" в этой области. Но Dark Avenger, Vecna, Z0mbie, ИМХО е есть людьми с комплексами. Они за свои вири могут реальные деньги зарабатывать.
Для того чтоб изучить баги осей не обязательно писать вирусы (смотрим приведенные мною выше ссылки).
Но очень желательно. Хочешь найти баг - софтайс в лапы. Нашел баг - протесть вирусом собственного производства. Конечно. это всего лишь мое ИМХО.
Про мозги сишников... Александреску прочитай. Если сможешь прочесть дальше оглавления, то тогда на эту тему с тобой и поговорим.
Дай ссылочку, плиз( ато наверное гуглить приидется долго). В своем городе я такую книгу в бумажном варианте не достану.
pacific_7
А кто сказал что я под винду вири пишу? А софтайс юзал давно для общего развития.
Хорошие деньги можна и за вирусы получать.
Разочарую. НЕЛЬЗЯ.
Обоснование простое: хорошие деньги можно получать за массовые продукты, либо за узкоспециализированные, вирусы не относятся ни к тем ни к другим.
Тебе сколько лет то? Наверное, минимум 10 лет, как универ закончил.
Пусть это останется тайной.
Но я не так стар... ;)
Не спорю, портируемость кода - больше, но насчет тестируемости и изменяемости - так это можно и на асме устроить...
Языки высокого уровня для того и создавались, чтоб быть более удобными в т.ч. и для тестирования, изменяемости и повторного применения. Поэтому ассемблеру с ними не сравниться.
При том что в это самое кольцо попасть еще надо. Либо юзать callgate либо драйвер писать(я про NT -подобные оси), а сделать это проще, и даже природнее на асме...
Поверь, на С драйвера писать куда приятнее и проще.
А что он сервиспаками затыкает? Ну точно не скорость прорисовки окон увеличивается.
Любое изделие содержит деффекты разработки и реализации. Их и устраняют.
Дай ссылочку, плиз( ато наверное гуглить приидется долго). В своем городе я такую книгу в бумажном варианте не достану.
http://anatolix.naumen.ru/Books/ModernCPPDesign?v=16g9
http://lib.canmos.ru/search.php?action=tilet&letter=M
А кто сказал что я под винду вири пишу?
Вирусы как раз есть смысл писать именно под винду, т.к. эта самая распространенная система
Вирусы как раз есть смысл писать именно под винду, т.к. эта самая распространенная система
Думать об убийстве - еще не значит совершить убийство.
pacific_7
А кто сказал что я под винду вири пишу?
А под что? Я же попросил - дать конкретный ответ на вроде бы не сложный вопрос: что за ось, какая оболочка (коммандная/графическая), версия ядра, используемый компилятор?
И где ответ?
Может ты под маки ваяешь? Сомневаюсь. А под *nix системы - это значительно труднее чем под винды т.к. для успешного (читай - серьезного) заражения любой ОС в подавляющем большинстве случаев требуются привелегии администратора. Если в nix'е постоянно работать под root'ом, то все равно рано или поздно сам свою систему грохнешь, тут и вирусов не надо - не доживешь до такого "счастья".
Винда - это другое дело. В ней большинство пользователей локально работают с привилегиями админа. Вот и расхлебываем. Конечно распростарненность данной ОС тоже не малую роль в играет.
Может ты вдохновлен "подвигом" Роберта Морриса-младшего? Так это было давненько, да и не вирус это был а червь и написан он был совсем не на асме, а на нелюбимом тобою Си.
Разочарую. НЕЛЬЗЯ.
Обоснование простое: хорошие деньги можно получать за массовые продукты, либо за узкоспециализированные, вирусы не относятся ни к тем ни к другим.
Тем не менее я читал где-то статью написаную одним вирмейкером. Когда его прижал каспер, то он сказал, что 10 штук баксов он может без проблем отвалить, чтоб каспера наказать. Может это для кого-то и не большие деньги, но на мой взгляд достаточные что-б писать вирье.
Пусть это останется тайной.
Но я не так стар... ;)
Блин, я так и знал, только деградирую в этом универе. :(( Только кучу времени убиваю, а толку - 0. Все равно не учат ничему полезному. :(
Языки высокого уровня для того и создавались, чтоб быть более удобными в т.ч. и для тестирования, изменяемости и повторного применения. Поэтому ассемблеру с ними не сравниться.
Ассемблер может сравниться с любым языком програмирования, так как код в конечном счете - машинный, а ассемблер - его упрощенная интерпретация. Просто кто как пишет... Согласен на асме это убьет намного больше времени, но по-моему для прочистки мозгов это того стоит.
Поверь, на С драйвера писать куда приятнее и проще.
Все можно. Только я их пока-что не пишу... :(( Однако стоит этим заняться, ибо в восьмом зайне от 29А с вирями идут исходники дров.
Любое изделие содержит деффекты разработки и реализации. Их и устраняют.
Правильно, но всё же были баги, которые присутствовали с 95 винды вплоть до ХР. Конечно, дело идет к усовершенствованию, защищенности, удобности и т.д. Но баги будут пока БГ не будет делать бета-тесты как Близзард и не сделает открытый код :).
http://anatolix.naumen.ru/Books/ModernCPPDesign?v=16g9
http://lib.canmos.ru/search.php?action=tilet&letter=M
Большое спасибо. Почитаю для общего развития :)).
Вирусы как раз есть смысл писать именно под винду, т.к. эта самая распространенная система
Вирусы есть смысл писать под все что угодно, даже под мобилы. Это конечно мое ИМХО.
pacific_7
Я не успокоюсь, мне просто надоест посты писать :). Я это забью програмить на асме и ... пойду учиться в машинном коде ваять и дворды ксорить в уме. :))
А насчет осей - вооб-ще то у меня на компе и фрии бсд и винда(блин куда уж без нее). Вири можна и под линь писать, правда я пока сложные писать не умею(надо сорсы копать), для этого хватит того же самого Зубкова. А что касается винды, то ее надо постоянно ругать, может до БГ наконец дойдет, что народ хочет опенсорс. К тому же я крайне недоволен некоторыми фичами(читай багами и недоделками) винды, например тот же откат системы сделан довольно паскудно, из-за него можно потерять нужные данные и найти давно стертые, забытые, ненужные... Нехорошо получается.
А под *nix системы - это значительно труднее чем под винды т.к. для успешного (читай - серьезного) заражения любой ОС в подавляющем большинстве случаев требуются привелегии администратора. Если в nix'е постоянно работать под root'ом, то все равно рано или поздно сам свою систему грохнешь, тут и вирусов не надо - не доживешь до такого "счастья".
под никсы существует немерянное количество експлоитов, благодаря которым можно получить рута. дело не в качестве системы. как только распространенность Linux приблизиться к распространенности винды, а средний уровень пользователей соотвественно упадет - вот тогда и получите эпидемии всякой дряни.
Винда - это другое дело. В ней большинство пользователей локально работают с привилегиями админа. Вот и расхлебываем. Конечно распростарненность данной ОС тоже не малую роль в играет.
см. выше. между прочим, Windows имеет сертфикат безопасности Пентагона. ЛюниксЪ - нет. сама по себе система безопасности в Windows лучше. другое дело, что в угоду маркетингу Мелкософт сует в систему всякий остой типа IE на который полсистемы завязано :) а вот Kerberos, IPSec, ACL реализованы в винде получше. естественно, все это можно прикрутить и к никсам, но... тут уже нужен пользователь высокой квалификации. проекты SeLinux, RSBAC выводят Linux на новый уровень безопасности, но см. про квалификацию :)
Правильно, но всё же были баги, которые присутствовали с 95 винды вплоть до ХР. Конечно, дело идет к усовершенствованию, защищенности, удобности и т.д. Но баги будут пока БГ не будет делать бета-тесты как Близзард и не сделает открытый код
1. пожалуйста, поименно - баги которые дошли с 95 до ХР. или это так, ради крсного словца? ;)
2. насчет защищенности - см. то что я написал про безопасность для пасифика.
3. открытый код - никому не нужен нафиг. а баги мелкософт устраняет вполне оперативно. почти все известные хаки винды были связаны с нерадивыми админами, которые поздно скачали свежую заплатку (или вообще не качали). так что оставьте мифы и легенды...
под никсы существует немерянное количество експлоитов, благодаря которым можно получить рута.
Может вам это покажется странным, но мне это известно. Не вчера родился.
Просто сама суть того, что придется впихивать в вирь эксплоит может отпугнуть некоторое количество вирусописателей. Естественно что "самых одаренных" это не сломит.
И потом, дыры - тоже залатываются. А значит вирье перестает действовать так как было задумано. А в винде - запись "администратор" ни кто не патчит.
Кстати, про то, что проблемы с вирьем и т.п. от того, что винды в основном работают под админом - это не я придумал. Сами MS-ы сказали. И добавили, что в лонгхорне они это постараются исправить. Поживем - увидим.
дело не в качестве системы.
А где я говорил про качество системы?
как только распространенность Linux приблизиться к распространенности винды, а средний уровень пользователей соотвественно упадет - вот тогда и получите эпидемии всякой дряни.
Пардон. Разьве это не мной написано? "Конечно распростарненность данной ОС тоже не малую роль в играет." Или вы это не читали?
см. выше. между прочим, Windows имеет сертфикат безопасности Пентагона. ЛюниксЪ - нет.
Ых. Знаю по той же причине, что описана в начале. С1 если не ошибаюсь. Если ошибаюсь, то поправьте. Нужно правда упомянуть, что к 9x это не относится а как ни странно - эти системы еще вполне успешно живут на многих компьютерах.
сама по себе система безопасности в Windows лучше.
Вот этого я честно говоря не знаю, но верю вам как специалисту.
3. открытый код - никому не нужен нафиг. а баги мелкософт устраняет вполне оперативно. почти все известные хаки винды были связаны с нерадивыми админами, которые поздно скачали свежую заплатку (или вообще не качали). так что оставьте мифы и легенды...
Про открытый код Бобр конечно загнул. Представить не могу, за чем это может пригодиться подавляющему большинству пользователей винды.
В связи с вашим высказыванием (про админов) у меня родился вопрос: вы попадали на slammer'а? Если да, то как оно было? Статьи читал, но очень интересно узнать из первых рук если можно. Когда приключилась эта "эпидемия" я еще и понятия о компах толком не имел, не говоря уж об интернет-червях и сети вообще.
Вот этого я честно говоря не знаю, но верю вам как специалисту.
ну это вы зря. я не настолько вас старше и опытнее, чтобы принимать мои слова на веру ;)
В связи с вашим высказыванием (про админов) у меня родился вопрос: вы попадали на slammer'а? Если да, то как оно было? Статьи читал, но очень интересно узнать из первых рук если можно. Когда приключилась эта "эпидемия" я еще и понятия о компах толком не имел, не говоря уж об интернет-червях и сети вообще.
меня тьфу-тьфу миновали пока эпидемии...
кстати. не торопитесь писать и рассудите логически: размножающийся эксплоит не есть вирус?
Просто сама суть того, что придется впихивать в вирь эксплоит может отпугнуть некоторое количество вирусописателей. Естественно что "самых одаренных" это не сломит.
И потом, дыры - тоже залатываются. А значит вирье перестает действовать так как было задумано. А в винде - запись "администратор" ни кто не патчит.
дело в том, что большинство известных вирусов под вынь как раз и лечаться установкой соответствующих заплаток. и эксплуатируют как раз дыры в ОС или завязанных на нее приложениях.
а вот то, что под непривилегированным аккаунтом в винде работать потяжелее чем в никсах - это 100%
3. открытый код - никому не нужен нафиг. а баги мелкософт устраняет вполне оперативно. почти все известные хаки винды были связаны с нерадивыми админами, которые поздно скачали свежую заплатку (или вообще не качали). так что оставьте мифы и легенды...
Сори, Господа. Зацепился.:)По поводу открытого кода. Простому, не простому и даже суперпродвинутому пользователю открытый код конечно не нафиг. Разве только для общего интеллектуально развития. Но тут у меня своя точка зрения. Это скорее вредно, чем полезно. Приведу аналогию с медицинским справочником. Начитаются и "знают", как лечить любую болячку и т.д. и т.п.
А вот программисту это очень дажке не лишнее дело.
1. Исчезнет наконец понятие недокументированная функция.
2. В процессе принятия решения можно найти более оптимальное.
3. Даже просто посмотреть, как это умные дяди делают, тоже не последнее дело. Борланд вот открыл исходники VCL. С тех пор я ниразу ни одной API функцией не воспользовался. Все оказывается и через VCL сделать можно и даже покачественней.
Так что если ты программист - Даешь OpenSource!!!
ЗЫ: За то и люблю я FreeBSD, что код там открытый и найденный самостоятельно баг, сам же и исправить можешь. И ждать не надо, пока какой-нибудь яйцеголовоый дядя за тебя это сделает.
...
По поводу открытого кода.
...
Вот это точно. По всем пунктам.
ну это вы зря. я не настолько вас старше и опытнее, чтобы принимать мои слова на веру ;)
Возраст - хи. Есть люди которые старше меня на n лет (где n > 10), и при этом знают намного меньше, являесь преподом по данному предмету. И говорит это не о том, что у меня высокий уровень знаний, а о том, что у препода он очень низкий. Думаю, вы сами попадали в такие ситуации.
Опыт - это дело другое. Особенно если он сочетается с хорошими теоритическими знаниями предмета. Вы - работаете админом в немаленькой конторе. Не думаю, что у вас маленький опыт (если сравнивать например с моим). Или вы нас вводите в заблуждение? :D
О своем опыте, вернее его отсутствии в очень многих областях (в которых он имхо должен быть) я лучше промолчу. Стараемся отсутствие оного добирать теорией но, "все красиво на бумаге..."
Кстати, я не сильно фанатично воспринимаю ваши слова, если вы имели ввиду это. Я вообще ни чьи слова так не воспринимаю. Просто держу их в голове как информацию из наиболее достоверного на данный момент источника. Так что они то же могут быть преданы забвению.
кстати. не торопитесь писать и рассудите логически: размножающийся эксплоит не есть вирус?
Вы не поняли моей задумки, или я непонял вашей.
В nix нужен эксплоит для получения прав root'а, а в винде уже не нужен. Чувствуете мою мысль? Вирмейкеру на одну головную боль меньше - от него не требуется взломать систему. Требуется только заставить некорректно работь какое-либо приложение.
дело в том, что большинство известных вирусов под вынь как раз и лечаться установкой соответствующих заплаток. и эксплуатируют как раз дыры в ОС или завязанных на нее приложениях.
Вот-вот. Главная фраза: "или завязанных на нее приложениях".
В общем - это не ко мне, а к мелкософтам которые сами так считают. Попробуйте их переубедить :).
дело в том, что большинство известных вирусов под вынь как раз и лечаться установкой соответствующих заплаток. и эксплуатируют как раз дыры в ОС или завязанных на нее приложениях.
а вот то, что под непривилегированным аккаунтом в винде работать потяжелее чем в никсах - это 100%
Полностью согласен :)
Насколько я знаю этот код убивает все винды вплоть до ХР(правда первый сервиспак уже фиксит этот баг. На всех виндах сам не тестил, но читал, что так оно есть. Тестил на ХР без сервиспаков - глючит :)) :
for(int i = 0; i<500; i++)
{
printf("\t\t\b\b\b");
};
Налицо баг роботы консоли...
Открытый код нужен шоб такие лентяи как я не сидели с ида и сайсом. Все равно рано или поздно приидется разобраться как оно работает. :)
for(int i = 0; i<500; i++)
{
printf("\t\t\b\b\b");
};
А че с ним происходит? У меня SP2, расскажи если не в лом. Две табуляции, затем три удаления предыдущих символов. Консоль сама себя удаляет? :D
Насколько я знаю этот код убивает все винды вплоть до ХР
Не верь наслово.
Открытый код нужен шоб такие лентяи как я не сидели с ида и сайсом. Все равно рано или поздно приидется разобраться как оно работает. :)
Изучение кода само по себе занятие не из легких.
Кроме того без SI все равно не обойтись, т.к. кое-что понимается лишь при дебаге.
Не верь наслово.
Так кто-нибудь посвятит меня в эту великую тайну? Я со своим SP2 никак это проверить не могу.
А че с ним происходит? У меня SP2, расскажи если не в лом. Две табуляции, затем три удаления предыдущих символов. Консоль сама себя удаляет? :D
Описываю что творилось на моей безсервиспачной хрюше - Вывалился BSOD. Поскольку консоль написана в винде криво, то получается что при выполнении даного кода данные ззаписываются, точнее затираются за пределами сегмента, в некоторую "левую" память, затирают там что-то и винда глючит.
Это вся великая тайна :). Просто не могу оперативно общаться, в нете только вечерами сижу...
Green
Я же проверяю по возможности...
Это вся великая тайна :).
Ясно. Небольшая корявость, но к счастью уже исправленная.
Просто не могу оперативно общаться, в нете только вечерами сижу...
Если ты не заметил, то я в основном ночами, и подпись под аватаром соответствующая :).
Тебе почему не спится? (про себя я уже рассказывал)
офтоп ЗЫ: люблю город Краснодыр. Обратите внимание на время написания поста. Обратили? А теперь представьте, что в это время под окнами во всю врываются ребята с отбойными молотками. Краснодырское "спокойной ночи" :D. Муниципалитет мля.
Ясно. Небольшая корявость, но к счастью уже исправленная.
Появление BSOD, имхо, не небольшая корявость, а хороший баг, потому-что его можно спокойно избежать, да и использовать его в злостных целях можно было...
Если ты не заметил, то я в основном ночами, и подпись под аватаром соответствующая :).
Тебе почему не спится? (про себя я уже рассказывал)
офтоп ЗЫ: люблю город Краснодыр. Обратите внимание на время написания поста. Обратили? А теперь представьте, что в это время под окнами во всю врываются ребята с отбойными молотками. Краснодырское "спокойной ночи" :D. Муниципалитет мля.
Не спится. Ночной и-нет :(. Да и сплю я мало по 4-5 часов в сутки. просто люблю работать ночью. Тишина, покой, любимая музыка в наушниках, никто не мешает, нирвана :)).
А куда это они врываются? :) Хотя, вообще-то, это грустная история, спать все равно захочется.
Появление BSOD, имхо, не небольшая корявость, а хороший баг, потому-что его можно спокойно избежать, да и использовать его в злостных целях можно было...
Согласен. Это я просто так сказать уменьшительно-ласкательно выразился ;)
Не спится. Ночной и-нет :(. Да и сплю я мало по 4-5 часов в сутки. просто люблю работать ночью. Тишина, покой, любимая музыка в наушниках, никто не мешает, нирвана :)).
Понимаю. Полностью аналогичная ситуация, правда вместо наушников колонки. Сосед по комнате уже привык :).
А куда это они врываются? :) Хотя, вообще-то, это грустная история, спать все равно захочется.
Понятно куда: под землю. Вернее под трамвайные пути :). Правда теперь уже без отбойных молотков - в ход пошли кувалдометры. Гномы х$#вы! Сразу вспоминается клип Rammstein'а (Sonne). О! Снова компрессор завели. Понеслась!
Описываю что творилось на моей безсервиспачной хрюше - Вывалился BSOD.
Поскольку консоль написана в винде криво, то получается что при выполнении даного кода данные ззаписываются, точнее затираются за пределами сегмента, в некоторую "левую" память, затирают там что-то и винда глючит.
Не стыдно?
А ещё винмейкером пытаешься зваться...
Никакой BSOD не вываливается и вываливаться не может. Бери книги в руки и начинай учить матчасть. Для начала прочти про процессы и их пространства адресов.
Далее берещь VC++ c его отладчиком и заходишь внутрь функции printf и ищешь там "пределы сегмента"...
Понятно куда: под землю. Вернее под трамвайные пути :). Правда теперь уже без отбойных молотков - в ход пошли кувалдометры. Гномы х$#вы!
Гм, а что это такое? Неужели в Краснодаре метро строят?