Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ReplicatedRandom — Outil de réplication d'état Java Random qui prédit les futures valeurs aléatoires en récupérant l'état interne à partir des sorties observées, démontrant les faiblesses des PRNG basés sur LCG. | Kitploit
Outils/GitHubGitHub/fta2012/replicatedrandom
ExploitationCryptographieApprentissage et Éducation
GitHubfta2012/replicatedrandom

ReplicatedRandom

Outil de réplication d'état Java Random qui prédit les futures valeurs aléatoires en récupérant l'état interne à partir des sorties observées, démontrant les faiblesses des PRNG basés sur LCG.

Voir le dépôt
12013il y a 9 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Node (MWC1616)

Voir le README dans le dossier node

Java (LCG)

Étant donné un double généré par nextDouble d'un java.util.Random, recréez un Random avec le même état. Ce ReplicatedRandom peut ensuite être utilisé pour prédire les valeurs futures du Random d'origine.

Exemple :

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

Fonctionne également avec Math.random() car il utilise Random en interne :

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

Fonctionne également pour nextInt() mais nécessite deux valeurs consécutives :

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

Voir ce billet de blog pour plus de détails.

Télécharger l’outil