这个题比想象中难,形式跟第一题差不多,考察MD5加密的知识。代码比较简单,输入一个20字符的字符串,字符串相当于密码,检查密码通过后,就能获取flag。 这里主要流程是,首先20字符,转成int指针,然后相当于五个int相加,结果为hash后的值。到这里我还以为很简单。 后来发现这个值不能5整除,即使整除也可能是不可见字符。然后发现这个值没办法在可见字符里凑数。我仔细看了一下代码,求和变量是int类型,能溢出。所以就好搞一点。 凑数思路就是,2**32先除4,找个差不多的值,换算成附近的可见字符值。然后再求第五个值变成可见字符的值,进行微调。 不知道还有没有更好一点的解题思路。

上一篇:
下一篇:

相关文章:

Categories: 博客记录

0 Responses so far.

Leave a Reply