randcrack is a tool used to "crack" a sequence of pseudo random numbers and predict the next terms in the list.
It currently only supports the LCG generator as used by java.util.Random JavaDocs
There are two versions, randcrack_st (single threaded) and randcrack_mt which is multi-threaded and the one to use if you want to max out all your CPU cores.
The process to crack a LCG generator is documented here. What this tool adds is the ability to crack nextInt(n), as well as cases where the subsequent calls to nextInt(n) has a decrementing n as used for the Fisher-Yates shuffle. Missing values can also be handled.
See the PDF file for writeup and explantation.
go get -d github.com/fransla/randcrack should download the files. go build randcrack_st.go or go build randcrack_mt.go as required. Alternatively, binaries are located in the bin folder.
Vulnerable Java samples are included in the goats folder, and (mostly) match the asciinema demos in the demos folder.
Full usage instructions will be put here, until then, see the demo section