关于随机数绕过
随机数
程序里面没有真正的随机数,随机数来源于一段周期很长的数字序列,在小范围内可以看做随机数。
srand
是随机数使用前的初始化函数,需要传入不同的参数(种子)。如果种子是一样的话,每次产生的“随机数”也是一样的。
绕过
pwn题里面如果有类似需要猜测随机数或者绕过某个随机数的问题,可以先看一下他的srand
中传入的数字是否可以覆盖或者可见,这样在得到了libc
的情况下是可以使用 ctypes
这个库来调用其中的rand
函数获取和程序相同的随机数序列。
ctypes
是一个第三方库,可以使用dll
里面的函数。
1 |
|