Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Aleksey Cheusov                      2:5020/400     03 Apr 2003  13:22:22
 To : Valentin Nechayev
 Subject : Re: Norton Guide
 -------------------------------------------------------------------------------- 
 
 Valentin Nechayev <netch@segfault.kiev.ua> writes:
 
 > AC> И понял то, например, что
 > AC> попорченный стек не отлавливается ни efence-ом ни valgrind-ом -
 > AC> ничем.
 > 
 > Мнэээ. А кто мешает отлавливать? Вот есть такая вещь как
 > libparanoia. (Только под FreeBSD, но всё же. И спортировать её
 > легко.) Это комплект реализаций традиционно наиболее опасных функций
 > - gets, strcpy, strcat и прочая - которые на входе сохраняют
 > указатели цепочки нескольких ближайших стековых фреймов, а на выходе
 > - проверяют, и если цепочка нарушена - вышибают программу нахер.
 
 Если это там о сохранности [ebp+4] (ну или где-то рядом),
 то маловато как то.
 Я имею ввиду corruption +/- один байт.
 К тому же функций то всего
 strcpy, strcat, gets, sprintf, scanf
 Кто ж их сейчас использует?
 Есть же 
 strncpy, strncat, snprintf.
 В scanf-е есть %20s
 А gets я бы вообще запретил использовать.
 Из за него всякие sed-ы да mawk-и обламывают длинные строки
 на входе. Дурдом.
 
 > Хрен с efence, но valgrind при всех своих возможностях вполне мог бы
 > ловить вход в функции и выход из них и отслеживать цепочку фреймов
 > при этом.
 
 Hичего тебе valgrind не даст. За адресом возврата отследить может, да.
 А в общем случае, что тебе даст
 sub    $0x3c,%esp
 
 или
 
 xor    %eax,%eax
 push   %eax
 push   %eax
 push   %eax
 если я массив заливаю нулями?
 
 Hичего.
 
 Так что valgrind тоже в пролёте. Можно, конечно, с разработчиками
 gcc договориться, чтобы хрень какую-нибудь вставили при опции
 --special-for-valgrind. Hо по большому то счёту GCC-шники
 могут и malloc/free захардкодить и обойтись без valgrind.
 
 А вот на ублюдочном псевдо- недо- язычке, хуже которого только Java,
 для дебилов, имбицилов, придурков,
 необразованного быдла и прочего материала для биофабрики, лучше которого
 даже Форт-очники и который
 так любят Вагнер и Луговский, я бы сделал так:
 
 #ifdef PARANOIA_DEBUG 
   #include <vector>
 # define declare(type, name, size) \ 
   std::vector <type> name##_paranoid; \ 
   name##_paranoia.resize (size); \ 
   type * const name = name##_paranoia.begin (); 
 #else 
 # define declare(type, name, size) \ 
   type name [size]; 
 #endif 
 
 declare(int, my_array, 2000)
 
 и с помощью efence решил бы проблему "общения" с массивами раз и навсегда
 на 100%, а не только с пятью функциями, которые я лично и не использую
 и никому не советую.
 
 Да в жертву приносятся size(), ={1,2,3}, ухудшается наглядность немножко.
 Hо, мне кажется, разработчиков sshd, apache, samba и прочих
 squid-ов и sendmail-ов нагшлядность волнует в меньшей степени, чем
 вышеупомянутых товарищей.
 
 Hо они на этом ублюдочном недоязычке не пишут. Увы.
 
 -- 
 Best regards, Aleksey Cheusov.
 --- ifmail v.2.15dev5
  * Origin: Science Soft (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Norton Guide   Vasya Kruglov   31 Mar 2003 02:43:46 
 Re: Norton Guide   ‚ ап­ЁЄ Ђ«ҐЄбҐ© €ў ­®ўЁз   31 Mar 2003 08:57:43 
 Norton Guide   Vasya Kruglov   01 Apr 2003 08:01:44 
 Re: Norton Guide   Oleg   31 Mar 2003 11:57:04 
 Norton Guide   Vasya Kruglov   01 Apr 2003 08:02:16 
 Re: Norton Guide   Nick Gazaloff   02 Apr 2003 10:10:41 
 Re: Norton Guide   Vitaly Lugovsky   31 Mar 2003 08:59:23 
 Norton Guide   Vasya Kruglov   01 Apr 2003 07:59:58 
 Re: Norton Guide   Vitaly Lugovsky   02 Apr 2003 05:26:46 
 Norton Guide   Kirill Frolov   02 Apr 2003 07:43:00 
 Norton Guide   Igor Wydrenkov   31 Mar 2003 15:18:04 
 Norton Guide   Vasya Kruglov   01 Apr 2003 08:03:10 
 Re: Norton Guide   Alexandr S. Agranovsky   02 Apr 2003 07:52:27 
 Re: Norton Guide   Aleksey Cheusov   02 Apr 2003 20:32:02 
 Re: Norton Guide   Valentin Nechayev   02 Apr 2003 23:32:18 
 Re: Norton Guide   Aleksey Cheusov   03 Apr 2003 13:22:22 
 Re: Norton Guide   Valentin Nechayev   03 Apr 2003 19:48:41 
 Re: Norton Guide   Aleksey Cheusov   04 Apr 2003 13:47:10 
 Norton Guide   Kirill Frolov   05 Apr 2003 04:22:20 
 Re: Norton Guide   Valentin Nechayev   05 Apr 2003 11:17:32 
 Re: Norton Guide   Victor Wagner   04 Apr 2003 09:36:27 
 Re: Norton Guide   Ian Dichkovsky   04 Apr 2003 13:19:03 
 Re: Norton Guide   Aleksey Cheusov   04 Apr 2003 13:32:20 
 Re: Norton Guide   Vladimir Bormotov   03 Apr 2003 00:51:14 
 Re: Re: Norton Guide   Alexandr S. Agranovsky   03 Apr 2003 07:39:35 
 Re: Norton Guide   Michael Shigorin   03 Apr 2003 17:06:47 
 Norton Guide   Igor Wydrenkov   03 Apr 2003 22:13:24 
 Norton Guide   Vasya Kruglov   04 Apr 2003 12:19:59 
 Norton Guide   Kirill Frolov   01 Apr 2003 15:42:46 
 Re: Norton Guide   Vitaly Lugovsky   02 Apr 2003 05:27:22 
Архивное /ru.linux/1728395c9faa5.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional