-
-
[分享]最近封校做了几道ctf题记录一下 便于记忆
-
发表于: 2022-4-8 17:03 11961
-
先发两个题目吧,这两个很相似
第一个是[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:
赞赏记录
参与人
雪币
留言
时间
伟叔叔
为你点赞~
2023-3-18 03:15
一笑人间万事
为你点赞~
2022-7-27 23:40
saharan
为你点赞~
2022-4-11 16:55
赞赏
他的文章
谁下载
谁下载
看原图
赞赏
雪币:
留言: