169 похожих чатов

Если я вызываю сисколл для заполнения буфера случайными битами в

цикле и примерно на пятой итерации он начинает мне возвращать одно и то же число бесконечно то это проблема в коде или сисколл действительно может быть ненадежным?

14 ответов

71 просмотр

Ты не слышал про псевдо-случайность?

Myrrrca- Автор вопроса
Myrrrca- Автор вопроса
🦝 Katowski Kotovsky
Ты не слышал про псевдо-случайность?

я знаю что реализация случайного числа всегда не 100% случайна, нужен алгоритм который создает иллюзию полной случайности, как в С с time.h например привязка к миллисекундам

А ты проверяешь, сколько тебе вернуло?

Myrrrca
я знаю что реализация случайного числа всегда не 1...

Да. Все верно. Ты при старте своего приложения один раз считыватель состояние внешнего мира (таймер), инициализирует свой генератор и дальше с ним и работаешь. Часы дергать не надо

Myrrrca- Автор вопроса
s54820
А ты проверяешь, сколько тебе вернуло?

угу, после пятой итерации примерно начинает одно и то же число возвращать

Myrrrca
угу, после пятой итерации примерно начинает одно и...

Попробовал. Либо ты делаешь что-то не так. Либо я делаю что-то не так. Чтение по байту: 89 49 c3 e7 7e 90 fe 6b e1 29 d7 a8 f2 fe 50 67 66 2d a2 ae ec e3 04 ce 85 4d ab 6f 67 6d f7 18 69 e1 cc 3c a4 c6 ab 25 a4 55 c3 e2 b5 6e 1f 7d 55 6e 6f 80 e7 9e e4 94 5c 10 5e 59 8a d2 cb 44

Myrrrca- Автор вопроса
s54820
Попробовал. Либо ты делаешь что-то не так. Либо я ...

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

Myrrrca
действительно все значения разные. я еще раз посмо...

mov eax,355 push eax mov ebx,esp mov ecx,1 xor edx,edx int 0x80 pop eax Код примерно такой, но тебе в прошлый раз предлагали указывать прямо целевой буфер.

Myrrrca- Автор вопроса
s54820
mov eax,355 push eax ...

то есть буфер не перезаписывать а прям сделать его большим чтобы много рандомных значений за один вызов получить?

Myrrrca
то есть буфер не перезаписывать а прям сделать его...

Зависит от того, зачем тебе рандом. Но попросить 256 байт сразу вместо того, чтобы бедный сискол дёргать каждый раз кажется хорошей идеей.

Myrrrca- Автор вопроса
s54820
Зависит от того, зачем тебе рандом. Но попросить 2...

мне 100 байт за глаза хватит, да. тогда так и сделаю, спасибо!

Myrrrca- Автор вопроса
s54820
Зависит от того, зачем тебе рандом. Но попросить 2...

а вот теперь действительно заработало... про псевдослучайость надо почитать, видимо

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта