Is there a way to determine what a random number generator is doing to my numbers assuming I have unlimited access to providing seed values and getting the values it spits out?
RNG algorithm?
Started by Paud, Oct 19 2009 12:48 PM
6 replies to this topic
#1
Posted 19 October 2009 - 12:48 PM
|
|
|
#2
Posted 19 October 2009 - 12:51 PM
The random number generator in Linux is handled by a system object. Since it's open-source, you can look at the code directly. Windows may not be as easy to work with.
#3
Posted 19 October 2009 - 12:58 PM
Ah yes, sorry I should have specified. The RNG is in an application on a Windows platform. The application is built in C++, I do not have access to the source at the moment but I would like to know what it's doing to the seed I provide it. Was hoping there might be some way I can determine the algorithm being used, even if by brute force comparison... if not, I guess I can live without it.
#4
Posted 19 October 2009 - 04:57 PM
You can determine the algorithm by disassembling the program and tracing program execution to find out what its doing. You can usually get someone to do this for you if you're willing to pay and you have no knowledge of assembly.
#5
Posted 19 October 2009 - 05:02 PM
Thank you TkTech, I was searching around a bit more after I posted here without any results, I figured I would have to disassemble the program with something like IDA Pro or Ollydbg, sadly I have no knowledge of assembly. I guess I can hit the tutorials and maybe the assembly sections. Thanks for the reply (and of course confirming my nightmare haha).
#6
Posted 19 October 2009 - 05:15 PM
Assembly is a fairly easy language to pick up on. Sadly, intels assembly for the x86 is one of the worst :) Take your time, learn the language, and you'll be able to get it done.
#7
Posted 20 October 2009 - 11:15 PM
You could always compare the output to well known algorithms. The mersenne twister is pretty much the standard as far as PRNG's go.


Sign In
Create Account

Back to top









