1.使用IDA64打开题目文件,按F5得到伪代码。
找到关键词flag,这里有一个如果输入d或者D就开始,所以我们就看输入d和D的情况。
2.点击Decry()函数,得到:
第二张图片中,有一个”Congratulation“的输出,我们就可以知道这里与flag有关的信息。
if()函数是用来比较text和str2是否相等。所以我们找关于str2和text的信息。
3.
在v9和src后面的字符串中按R得到
v9=‘wodah’
src=‘SLCDN’
4.为了得到关于str的信息,我们看
这里是关于str2字符串的一个代码,一次得知为了得到str2,我们需要知道key。
5.
这里将key1的值赋值给key,将src的值加到key后面。
key1=ADSFK
那么key=ADSFKSLCDN
这里v5=10,
v3=0
从i等于0开始,如果key[v3%v5]的值大于等于64小于等于90
key[i]=key[v3%v5]+32;这就从最后一位开始把大写字母换成小写
v3还要+1
6.
同理 text=‘killswodah’
7.我们开始编写程序
这里我用到了python
flag{KLDQCUDFZO}
标签:src,BUUCTF,str2,flag,v5,key,text,SimpleRev From: https://www.cnblogs.com/longyan12/p/17997803