BUUCTF reverse1
题目地址:https://buuoj.cn/challenges#reverse1
先用die和脱壳软件测试一下查看到是64位的软件

使用软件获得看看是干什么的

发现又是一个提交flag的软件
打开ida64找关键字"flag"分析主函数

浅看了一下代码,本以为找到这个Str2就是flag了结果测试不对


那就仔细再看一遍代码
首先解析一下strncmp函数的意思
strncmp和strcmp区别在于strncmp是可以决定比较前多少个字符串
strncmp(str1,str2,2);这个就是比较两个字符串的前两位是否一样

我们点击一下这个我们输入的Str1的值看看它是在哪加密了

发现Str1一路上并没有进行加密,那么就只能是Str2了。
这时我们发现Str2进行了改变

那我们写出加密代码就可以得到flag了,因为他是加密后然后和我们写的flag对比,所以这个就不用逆向了。
这里的v3其实就是Str2的长度,相当于strcmp,一个小小的烟雾弹。


加密代码:

成功拿到flag
