buuctf 新年快乐

博主尝试手动脱壳多次失败后使用自动脱壳,脱壳后进行反编译,通过对比字符串、读取赋值、初始化等操作获取到flag为HappyNewYear!,还提及数组调用细节和memset函数作用,因脱壳卡了寒假,与题目“新年快乐”有缘分。

有个壳,原本信心满满得跟着攻略去脱的,但是试了N多次都失败,所以无奈使用自动脱壳,以后学成一定回来脱壳!

脱壳后

反编译

1.对比Str2[0]和Str2[14]开始的字符串,若相同,则输出this is true flag!;反之,输出wrong!

2.读取并将值赋给Str2[14]

3.将Str2[14]及之后的32位置0(初始化)

4.Str2=HappyNewYear!

从这里应该就知道了flag就是HappyNewYear!

flag{HappyNewYear!}

一些小细节:如果使用数组后面没有[],一般默认从第一位开始调用,此时指针也指向数组的首个空间

memset(a,b,c)函数:将数组a的c位全部换为b,此程序是初始化

笔记:

寒假就写了这么多wp,哈哈。因为脱壳卡了一个寒假,而题目正好是新年快乐,也是一种缘分吧!

日更五篇,完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值