The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Техника предсказания содержимого буфера на основе анализа вр..., opennews (ok), 09-Май-14, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


32. "Техника предсказания содержимого буфера на основе анализа вр..."  +/
Сообщение от irinat (ok), 09-Май-14, 12:18 
> Может сократить до return ret

return !!ret;


Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

34. "Техника предсказания содержимого буфера на основе..."  +/
Сообщение от arisu (ok), 09-Май-14, 12:21 
>> Может сократить до return ret
>
return !!ret;

снова ошибка. man memcmp.

Ответить | Правка | Наверх | Cообщить модератору

35. "Техника предсказания содержимого буфера на основе..."  +1 +/
Сообщение от irinat (ok), 09-Май-14, 12:36 
>>> Может сократить до return ret
>> return !!ret;
> снова ошибка. man memcmp.

Неа, ошибки нет. return ret можно заменить на return !!ret, если хочется редуцировать именно до 0 или 1, и это абсолютно корректно. Это демонстрация трюка на случай, если кто-то про него не знает.

Участвовать в соревнованиях по переписыванию memcmp или других библиотечных функций я не собираюсь. Для занятий на досуге есть другие, более интересные и более нужные мне задачи.

Ответить | Правка | Наверх | Cообщить модератору

36. "Техника предсказания содержимого буфера на основе..."  +/
Сообщение от arisu (ok), 09-Май-14, 12:38 
функция называется memcmp_s(). функция ЯВНО пытается (хоть и неправильно) возвращать именно то, что возвращает memcmp(). твой код поломал её ещё больше. но «ошибки нет», ага.
Ответить | Правка | Наверх | Cообщить модератору

37. "Техника предсказания содержимого буфера на основе..."  +3 +/
Сообщение от irinat (ok), 09-Май-14, 13:06 
> твой код поломал её ещё больше. но «ошибки нет», ага.

Обрати внимание на то, что ret объявлен как unsigned char.

Может всё-таки обратишь своё стремление искать ошибки в более конструктивное русло? В мире куча open source проектов, которые не отказались бы от ещё одной пары глаз, просматривающих код на предмет багов. А искать ошибки в наколенных поделиях на форумах это, знаешь ли, как-то мелко.

Ответить | Правка | Наверх | Cообщить модератору

38. "Техника предсказания содержимого буфера на основе..."  +/
Сообщение от arisu (ok), 09-Май-14, 13:20 
>> твой код поломал её ещё больше. но «ошибки нет», ага.
> Обрати внимание на то, что ret объявлен как unsigned char.

обрати внимание на то, что про уже наличествующую до тебя ошибку я сказал раньше.

> Может всё-таки обратишь своё стремление искать ошибки в более конструктивное русло?

спасибо, без твоего ценного указания я и не догадывался, как можно применить моё умение видеть ошибки. но ты открыл мне глаза!

Ответить | Правка | Наверх | Cообщить модератору

43. "Техника предсказания содержимого буфера на основе..."  –1 +/
Сообщение от pavlinux (ok), 09-Май-14, 14:08 
Фишка в том, что возвращаемый результат сохраняется один раз, но проверяются все байты.


if (a != b && ret == 0) {
              ret = (a - b);

а не какого цвета ret

И эта, оба, хвать здипить покажите ваш код!

Ответить | Правка | Наверх | Cообщить модератору

44. "Техника предсказания содержимого буфера на основе..."  +1 +/
Сообщение от arisu (ok), 09-Май-14, 14:18 
> Фишка в том, что возвращаемый результат сохраняется один раз, но проверяются все
> байты.

фишка в том, что у тебя неправильно возвращает результат: по спекам должно возвращать отрицательное в соответствующем случае, а у тебя никогда отрицательного результата не будет. это раз.

два: время исполнения всё равно зависит от значений, хоть и не так сильно.

три: утекают данные о точной разности.

ну, и всякие мелочи типа const, __restricted и ты пы.

так что фишка в том, что показанная фигня не особо лучше memcmp(), да ещё и с ошибками.

> И эта, оба, хвать здипить покажите ваш код!

зачем? тебя же тоже никто за руку не тянул, ты сам свою лапшу сюда вывалил. вот и обтекай теперь.

Ответить | Правка | Наверх | Cообщить модератору

54. "Техника предсказания содержимого буфера на основе..."  –1 +/
Сообщение от pavlinux (ok), 09-Май-14, 15:02 
> два: время исполнения всё равно зависит от значений, хоть и не так сильно.

Да ты чо???!!!

if ( 55 != 47 ) будет отличатся от if ( 56 != 48 ) ??? :)


>> И эта, оба, хвать здипить покажите ваш код!
> зачем? тебя же тоже никто за руку не тянул, ты сам свою лапшу сюда вывалил. вот и обтекай теперь.

хвать здипить покажите ваш код! маны я и без тебя наизусть знаю

Ответить | Правка | Наверх | Cообщить модератору

59. "Техника предсказания содержимого буфера на основе..."  +1 +/
Сообщение от arisu (ok), 09-Май-14, 15:08 
>> два: время исполнения всё равно зависит от значений, хоть и не так сильно.
> Да ты чо???!!!

а ты подумай про неполное вычисление условий и про записи в память, гыгы. и про то, что это неплохо бы амортизировать хотя бы двумя циклами.

> хвать здипить покажите ваш код!

зачем? тебя же тоже никто за руку не тянул, ты сам свою лапшу сюда вывалил. вот и обтекай теперь.

> маны я и без тебя наизусть знаю

тем не менее, в реализации облажался.

Ответить | Правка | Наверх | Cообщить модератору

64. "Техника предсказания содержимого буфера на основе..."  +1 +/
Сообщение от irinat (ok), 09-Май-14, 16:27 
> покажите ваш код!

int
memcmp_s(const void *s1, const void *s2, size_t n)
{
    return CRYPTO_memcmp(s1, s2, n);
}

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

70. "Техника предсказания содержимого буфера на основе..."  –3 +/
Сообщение от pavlinux (ok), 09-Май-14, 17:21 
>> покажите ваш код!
> int
> memcmp_s(const void *s1, const void *s2, size_t n)
> {
>     return CRYPTO_memcmp(s1, s2, n);
> }

Пля, толант.

Ответить | Правка | Наверх | Cообщить модератору

73. "Техника предсказания содержимого буфера на основе..."  +1 +/
Сообщение от arisu (ok), 09-Май-14, 18:25 
> Пля, толант.

его код — в отличие от твоего — без ошибок.

Ответить | Правка | Наверх | Cообщить модератору

86. "Техника предсказания содержимого буфера на основе..."  –2 +/
Сообщение от Аноним (-), 09-Май-14, 19:24 
> его код — в отличие от твоего — без ошибок.

Глядя на авторов openssl я бы на него 100 баксов не поставил...

Ответить | Правка | Наверх | Cообщить модератору

88. "Техника предсказания содержимого буфера на основе..."  +1 +/
Сообщение от arisu (ok), 09-Май-14, 19:26 
>> его код — в отличие от твоего — без ошибок.
> Глядя на авторов openssl я бы на него 100 баксов не поставил...

а это уже совсем других людей ошибка. нельзя же считать, что ошибка именно в коде, который использует некие библиотечные функции, если в самих функциях ошибки.

Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

82. "Техника предсказания содержимого буфера на основе..."  +/
Сообщение от Аноним (-), 09-Май-14, 19:17 
>> покажите ваш код!
>     return CRYPTO_memcmp(s1, s2, n);

Ха-за :) Но - таки - ДА!

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

105. "Техника предсказания содержимого буфера на основе..."  +/
Сообщение от Xaionaroemail (ok), 12-Май-14, 10:10 
>> покажите ваш код!
> int
> memcmp_s(const void *s1, const void *s2, size_t n)
> {
>     return CRYPTO_memcmp(s1, s2, n);
> }

Можно сделать static inline, чтобы уменьшить на одну обёртку. А ещё подумать на тему всяких "restrict"-ов. :)

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру