Loading

BUUCTF 新年快乐解题思路

1.正常走流程拖ida

 这里大意了,就两个函数说明是有壳的,本以为靠前面的题不会给带壳的,我自己的脱壳软件也已经很久没有用过了

 

2.脱壳软件脱壳

我的tools仓库里有脱壳软件,需要可以自取

https://gitee.com/adsarea/tools/raw/master/FFI.zip

  unpacked是未包装的意思也就是脱了壳的软件(话说正确英文不应该是dumped吗)

 

3.果然是靠前面的题,脱了壳就没东西了,直接省去shift+F12查字符串这一步骤

下拉发现敏感字符串this is true flag!

 

 

4.F5查看伪代码

 

这就很明显了

讲解一下:

strcpy(&v4,"HappyNewYear!");

strcpy()是一种用于复制的函数声明,这里是指将后面的字符串复制到v4

strncmp((const char *)&v5, &v4, strlen(&v4))

这是指将v5与v4中的内容相比较,strncmp就是用来比较的函数,strlen是获取字符串v4的长度,在这个长度下进行比较。

v5则是咱们输入的内容,输入v4时puts("this is true flag!"),v4就是flag,即HappyNewYear!

答案就是flag{HappyNewYear!}

 

posted @ 2021-06-24 13:48  adsarea  阅读(649)  评论(0编辑  收藏  举报