News for hackers. Stuff that matters.
Re:Predicting and controlling NetHack's randomness (2009) by dahart on Saturday October 03, 2015 @11:29AM (#10324208)
This bit is clever:

"The trickiest part, which was the only point of failure, was in starting a game on the server at some exact second. Due to clock skew, the server could think it is several seconds (or even minutes) earlier or later than your clock does. The server doesn't broadcast what it thinks the current time is, either. One way to actually figure out the current time is through the random seed! Start a game on the server, noting the current time on your clock. Then generate NetHack games for that time, that time plus a second, that time minus a second, plus two seconds, and so on until you get the same starting map and stats. The offset you used is the number seconds between your machine and the server, so you can use it to know exactly when to start a server game. It's still not as exact as I would like, since you only get resolution of a second."

Reminds me of the oracle exploits the Matasano crypto challenge taught. I'm sure this is a very common type of tactic, I just haven't spent much time practicing exploits, despite my interest.

But correct me if I'm wrong, I would guess that with many attempts, possibly a binary search of time offsets, one can get sub-second timing resolution in the clock skew exploit above, no?

Re:Predicting and controlling NetHack's randomness (2009) by quarktasche on Saturday October 03, 2015 @02:55PM (#10324950)
If you like this kind of thing go read this write-up of predicting hands in online poker due to bad implementations of shuffling and PRNG algorithms! Its quite a fun read.

https://www.cigital.com/papers/download/developer_gambling.p...