【CTF对抗-第十一题 步步逼近】此文章归类为:CTF对抗。
1
2
3
|
根据前期分析得知,所求目标是一个长度小于等于
9
位的数字,而且值在
0x1000
到
0x100000000
之间。虽然不能明白具体含义,但是暴力求取肯定是可行的。
一开始对随机取值的含义没有理解,把rand全部取返回
0
,导致走了一会儿弯路,很快就发现固定随机数和真实随机数的执行结果不同。也就是题目求取的是一个满足极大概率的情况,而不是所有概率的情况。
因为题目自带的多线程和锁操作很容易导致多花时间,因此先随便根据ida的反编译结果写了
64
位的代码放到机器上跑,结果跑了一天半全部跑完都没结果。很可能是自己的代码恢复的不对,因此只要调用原程序跑。
|
又根据小于1024时的经验和题意,应该是求取满足条件的最小值,因此满足条件的数可能有很多,因此编写代码从最高位开始求取,很快就搜索到符合条件的一个值,然后再递减确认,直到找到最小值,就是答案。
更多【CTF对抗-第十一题 步步逼近】相关视频教程:www.yxfzedu.com