其他分享
首页 > 其他分享> > buuctf,luck_guy

buuctf,luck_guy

作者:互联网

核心函数get_flag()

 

 switch里面的代码仔细看一下,case4才生成f2字符串,然后case5对字符串进行了一些变换,由case1进行拼接并输出,在case1里面的f1字符串已经能看见部分flag,GXY{do_not_

这个for循环会执行5次,只要改变rand函数的返回值ret,让ret与mod200分别等于4,5,1,程序就会自己把flag吐出来。

 猜测call rand后返回值存在了eax里。

在rand处设置断点,启动ida调试,remote linux debugger

linux虚拟机那边会要求输入数字,经分析必须偶数

 此时程序会断在设置的rand断点处

 f8单步一下,能发现eax的值变了,直接右键-修为4,f9进入下一轮,修改为5,f9下一轮,修改为1,最后两轮不用修改,程序结束后linux虚拟机那边就能看到结果了。

 

 

标签:rand,buuctf,虚拟机,flag,linux,字符串,guy,断点,luck
来源: https://blog.csdn.net/amber_o0k/article/details/119608589