Advertisement

Anheng X Plan Platform: An October campaign for reverse challenge with BASE++ problems' approach

阅读量:

这道题在比赛期间就已经注意到其名称,但当时并未下载相关附件。

一直在寻找题目附带的文件,后来在52破解网站上yechen123师傅发布的帖子中发现了相关内容。

于是将其下载并进行了分析,现在将整个过程记录如下。

使用IDA加载程序进行静态分析后可以得知,

与获取flag相关的关键代码位于main()函数中。

程序中涉及我们输入字符串处理的流程如下:

0x01: 对输入字符串my_str的长度进行判断(即我们所输入字符串的长度),若该长度小于32,则无法继续执行后续操作。根据分析可知,正确的输入最终计算出的长度正好为32,因此程序将继续向下执行。

0x02: 调用sub_91100()函数对输入字符串my_str中的字符进行替换操作。

0x03: 通过sub_91360()与sub_91440()这两个函数协同工作,实现了一种变体形式的base64编码(经分析发现,其本质上只是改变了编码表的内容)。

0x04: 经过上述处理后的字符串必须与"TRLT5amLBoLT5Z6Fa5LqN6mkTomqR66Da4LqX5mgBwkkP5wmTZ6D===="相匹配。

全部评论 (0)

还没有任何评论哟~