BUUCTF--新年快乐

1.预处理
在这里插入图片描述
获得信息
1.upx壳
2.32位文件

2.脱壳(可以用脱壳工具脱壳,也可以手动脱壳)
方法一:用工具脱壳在这里插入图片描述
方法二:手动脱壳
目前还不会,正在学习中

3.复查
复查一下是否把壳给脱掉了
在这里插入图片描述
瞅瞅,确实没壳了,然后放进IDA(32),用shift+F12查找字符串,
其实可以用F5直接进入主函数,找到伪代码,
不过我个人喜欢先找一遍字符串,
毕竟,最终的flag通常都是一串字符串吗!

所以先shift+F12瞅一眼,看看有没有什么线索
在这里插入图片描述
然后,双击’ this is true flag!'反汇编、F5反编译找到伪代码
在这里插入图片描述
4.代码分析

sub_401910();
qmemcpy(&v1, “HappyNewYear!”, 0xEu);
*(_WORD *)Str1 = 0;
memset(&v3, 0, 0x1Eu);
printf(“please input the true flag:”);
scanf("%s", Str1);
if ( !strncmp(Str1, &v1, strlen(&v1)) )
result = puts(“this is true flag!”);
else
result = puts(“wrong!”);
return result;

这个主函数比较简单,
就用了memcpy、memset、strncmp三个函数
flag很明显flag{HappyNewYear!}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X.IO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值