pwnable.kr之write up之random

CTF

Posted by 0xl00se on May 11, 2017

1.进入终端之后,查看random.c源码。

2.发现rand()函数没有设置种子,系统会给该函数设置一个默认的种子。可以在本地机器上进行验证,发现每次运行出来的值都固定为41。

3.gdb调试random可执行程序,并定位于rand函数调用处。

4.在*main+13处设置断点,并运行程序到断点处。

5.查看此时的寄存器eax的值,而里面的值就是通过rand函数生成第一个结果。

6.计算 0x6b8b4567^0xdeadbeef=3039230856L,即可解决本puzzle。