Я не знаю, какой у вас уровень владения сборкой, или есть ли у вас доступ к исходному коду / символам отладки для неуправляемого приложения, но кроме такого рода хитрости, нет никакого реального способа определить оригинал начальная стоимость. Весь смысл генераторов случайных чисел в том, чтобы придумать способ дать вам непредсказуемые числа - связь между любыми двумя заданными вызовами rand () не должна быть выводимой. В криптографически стойких генераторах псевдослучайных чисел можно было бы считать серьезным недостатком возможность угадывать начальное число на основе сгенерированного случайного числа.
Самый простой способ сделать это - запустить приложение под отладчиком и установить точку останова, где вызывается srand()
, а затем просто посмотреть на переданный параметр.
Далее будет разобрать приложение и выяснить обстоятельства вызова srand. Вполне возможно, что это происходит с текущим временем - тогда вы можете попробовать несколько догадок (вы можете сузить его до нескольких тысяч или около того) и посмотреть, дают ли они ту же последовательность случайных чисел, которую использует приложение. , (Конечно, это предполагает, что у вас есть какой-то способ узнать, каковы генерируемые случайные значения). Также возможно, что семя все время что-то тупое, как «0».