![](https://img-blog.csdnimg.cn/img_convert/2f288d638577061d0dcbecd30ef2ae4c.png)
![](https://img-blog.csdnimg.cn/img_convert/897919906e1e008875ddadb31af724f8.png)
有个壳,原本信心满满得跟着攻略去脱的,但是试了N多次都失败,所以无奈使用自动脱壳,以后学成一定回来脱壳!
![](https://img-blog.csdnimg.cn/img_convert/ad96e90d1eb4dbf537b592a61b6352fb.png)
脱壳后
![](https://img-blog.csdnimg.cn/img_convert/a5bd03344f7cc850ec4c194263894eae.png)
反编译
![](https://img-blog.csdnimg.cn/img_convert/3a6747e882f6a0fbe5598e5e86421c01.png)
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,此程序是初始化
笔记:
![](https://img-blog.csdnimg.cn/img_convert/e738610ea63941312311dea5cc645409.png)
寒假就写了这么多wp,哈哈。因为脱壳卡了一个寒假,而题目正好是新年快乐,也是一种缘分吧!
日更五篇,完成!