本文最后更新于207 天前,其中的信息可能已经过时,如有错误可以直接在文章下留言
是国外的类似比赛.
一道简单题,题目描述
Flag will be printed out straight away when you run the binary.
竟然他都这么说了,我们就运行一下文件
这也没flag啊😒
用IDA打开
还是这些符号,但是看不出什么
感觉更像一个Misc,而不是逆向😢
看了一下主函数,也没什么头绪,看了别人的Writeup。
然后发现是sleep函数的问题,平常接触这个函数的机会比较少,所以对他不是很敏感。
sleep()
函数在编程中主要用于让程序暂停执行一段时间,使线程进入休眠状态,从而在多任务和多线程环境中更有效地控制程序的执行流程。他里面的数据的单位是毫秒。
这里每次循环都休眠很久,所以导致我们运行这个二进制文件的时候,运行的并不完整我们可以去修改一下sleep()函数里面的数据,再运行二进制文件应该就可以得到flag了。
看汇编这里,后面还有个seconds,我们改一下汇编指令,再动态调试。
可以隐约看到flag的轮廓,但是可能是PowerShell的原因,宽度不够,也拉不开,眯着眼看倒是能看得更清晰。
用cmd就解决了。
flag就是
vsctf{1nTr0_r3v3R51ng!}