Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ReplicatedRandom — Инструмент репликации состояния Java Random, который предсказывает будущие случайные значения, восстанавливая внутреннее состояние по наблюдаемым выходным данным и демонстрируя слабости ГПСЧ на основе LCG. | Kitploit
Инструменты/GitHubGitHub/fta2012/replicatedrandom
ЭксплуатацияКриптографияОбучение и Образование
GitHubfta2012/replicatedrandom

ReplicatedRandom

Инструмент репликации состояния Java Random, который предсказывает будущие случайные значения, восстанавливая внутреннее состояние по наблюдаемым выходным данным и демонстрируя слабости ГПСЧ на основе LCG.

Репозиторий
120139 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Node (MWC1616)

См. README в папке node

Java (LCG)

Имея double, сгенерированный через nextDouble из java.util.Random, воссоздайте Random с тем же состоянием. Этот ReplicatedRandom затем можно использовать для предсказания будущих значений исходного Random.

Пример:

root@kitploit:~
Random r = new Random();
ReplicatedRandom rr = new ReplicatedRandom();
rr.replicateState(r.nextDouble());
System.out.println(r.nextDouble() == rr.nextDouble()); // True
System.out.println(r.nextDouble() == rr.nextDouble()); // True
System.out.println(r.nextDouble() == rr.nextDouble()); // True

Также работает с Math.random(), поскольку внутри он использует Random:

root@kitploit:~
ReplicatedRandom rr = new ReplicatedRandom();
rr.replicateState(Math.random());
System.out.println(Math.random() == rr.nextDouble()); // True
System.out.println(Math.random() == rr.nextDouble()); // True
System.out.println(Math.random() == rr.nextDouble()); // True

Также работает для nextInt(), но требует двух последовательных значений:

root@kitploit:~
Random r = new Random();
ReplicatedRandom rr = new ReplicatedRandom();
rr.replicateState(r.nextInt(), r.nextInt());
System.out.println(r.nextInt() == rr.nextInt()); // True
System.out.println(r.nextInt() == rr.nextInt()); // True
System.out.println(r.nextInt() == rr.nextInt()); // True

Подробности см. в этом сообщении в блоге.

Скачать инструмент