Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/fta2012/replicatedrandom
ExploitationCryptographyLearning & Education
GitHubfta2012/replicatedrandom

ReplicatedRandom

Java Random 상태 복제 도구로, 관찰된 출력에서 내부 상태를 복구하여 향후 난수 값을 예측하며, LCG 기반 PRNG의 취약점을 입증합니다.

저장소 보기
1201319년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Node (MWC1616)

node 폴더의 README를 참조하세요.

Java (LCG)

java.util.Random의 nextDouble로 생성된 double이 주어지면, 동일한 상태를 가진 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

자세한 내용은 이 블로그 게시물을 참조하세요.

도구 다운로드