首页
社区
课程
招聘
[原创]看雪CTF2019Q3 第五题 魅影舞姬 WP
发表于: 2019-9-25 22:50 4313

[原创]看雪CTF2019Q3 第五题 魅影舞姬 WP

xym 活跃值
4
2019-9-25 22:50
4313

这道题目浪费的时间太多,在check_fun函数里面绕了半天,找不到它在干啥,于是和度娘交流了2个多小时。

然后只能从后面往前面跟踪,发现0x4AC030这个全局变量的值必须为4,而在sub_403832这个函数里面他有4次递增机会,也就是说它必须过4关。

跟进去看看吧,发现一个很奇怪的字符串unk_4AC038,它在__static_initialization_and_destruction_0里面被初始化成一个特殊串,

"**************@************-************--**----*****-***-**-*****-***#**-*****--*****-******-*****-******-------******-*-----******---**-*******-****--*****************"

看看操作,很明显这个一个迷宫,每两比特为一步,分别代表上下左右,*是墙、@是起点、_是路,#是目标。

一开始我还以为4个迷宫是一样的,但是跟到第二个之后才发现我错了。原来sub_403522这个函数居然会把迷宫按列进行变化。

好吧,就算这样这个迷宫也难不倒我。我很开心的画了张图,走了4个迷宫,算是休息一下。然后把答案继续往上推导。

上面有一个md5函数(它就是叫这个名字,不是我分析出来),看了作者怕迷宫被走出多条路,所以加了个md5校验。

再往上,就发现这4个路径前面3个被合到了一处,而第4个则是分别与前3个进行运算的结果。其中有两次使用sub_4023E4,一次使用sub_40202A。

跟进去分析操作的时候被一大堆bit操作绕晕了,真是绕的头都大的,感觉每个子函数都能看懂,但就是不知道在干嘛(此间浪费2小时)。

于是我觉得这个应该是某种加解密函数,而且看sub_4023E4和sub_40202A的输入输出完全一样,没准互为加解密。于是拿到od里面测试一下,果然成功。

这个时候我突然想起来有种算法叫3des......

在我备注的Maybe_base64里跟踪了半天,最后确认了它就是一个普通的base64解码函数(此间浪费半小时),我想我当时是真晕了,一开始就备注了base64,我居然还在里面跟踪验证。



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//