random_WriteUp(pwnable.kr_random)C语言伪随机数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/levones/article/details/81436802

random_WriteUp(pwnable.kr_random)C语言伪随机数

本题考察的是伪随机数

伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。在计算伪随机数时,若使用的初值(种子)不变,那么伪随机数的数序也不变。伪随机数可以用计算机大量生成,在模拟研究中为了提高模拟效率,一般采用伪随机数代替真正的随机数。模拟中使用的一般是循环周期极长并能通过随机数检验的伪随机数,以保证计算结果的随机性。

–百度百科

题目中并未设置随机数种子,因此实际上每次生成的random的值都是相同的,只要在源代码的基础上在中间加上一句输出打印出random即可

如在本地计算机上(kali_64)运行代码

#include <stdio.h>

int main()
{
    unsigned int random;
    random = rand();
    unsigned int temp = 0xdeadbeef ^ random;
    printf("%u\n", random);
    printf("%u\n", temp);
    return 0;
}

得到

1804289383
3039230856

输入得到flag

猜你喜欢

转载自blog.csdn.net/levones/article/details/81436802
今日推荐