首页
论坛
课程
招聘
[分享]最近封校做了几道ctf题记录一下 便于记忆
2022-4-8 17:03 8210

[分享]最近封校做了几道ctf题记录一下 便于记忆

2022-4-8 17:03
8210

先发两个题目吧,这两个很相似
第一个是[FlareOn4]IgniteMe 1
拖入查壳程序,一看32位无壳,直接拖入ida32
图片描述
F12大法:
图片描述
直接定位到关键函数,修改一下参数名称,便于分析,这是一个creakeme的 他那个WriteFile和printf一样的效果
图片描述
首先跟进sub_4010F0函数看看(同样修改一下参数名称,便于分析):
ReadFile函数就可以理解成赋值函数

 

图片描述
然后发现字符串flag_0和flag距离很近,直接改成三个flag完了
图片描述
然后就跟进分析sub_401020函数:
图片描述
非常清晰就是返回字符串的长度
再往下分析:
图片描述
要经常查看ASCII码表,就是删掉回车符号,将flag变成一个大长串
好了这个函数sub_4010F0分析完了 回溯到上一层:
图片描述
然后两个if分支非常清晰,只有第一个分支才是走向正确的
所以跟进分析这个函数sub_401050
图片描述
之前那个 sub_401020函数分析完了,就是返回长度的函数
然后就是一个异或运算,然后要想做异或运算 num_4是必须知道的
跟进分析401000函数,没什么发现,然后拖入OD动态看看
图片描述
在关键函数处下断点 f9跑起来 断下分析
图片描述
一步一步的跟就行,到关键位置段下来一看:
图片描述
num_4就是4,
好了,然后写脚本就行了:
图片描述
flag{R_y0u_H0t_3n0ugH_t0_1gn1t3@flare-on.com}
然后记录一下第二个题目:[FlareOn6]Overlong
先运行一下:
图片描述
还是原来的步骤,脱ida32:
图片描述
就是这么简单,输出前28个字符,但是跟进字符串一看,远远不止28个:
图片描述
计算机一算:
图片描述
AF
拖入OD改汇编:
图片描述
看这个1c是不是非常熟悉,就是那个十进制的28
直接改:
图片描述
图片描述
f9跑一下:
flag:
图片描述


2022 KCTF春季赛【最佳人气奖】火热评选中!快来投票吧~

上传的附件:
收藏
点赞1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回