BUUCTF Reverse Java逆向解密

BUUCTF Reverse Java逆向解密

一天一道CTF题目,能多不能少

下载文件,发现是个class文件,这好办直接使用jd-gui打开,反编译:
BUUCTF Reverse Java逆向解密_第1张图片
逻辑是如此清晰简单,就是我们输入一个字符串
然后经过一个for循环进行异或
然后将得到的新字符串与KEY进行比较,看看是否相等~
这里我想看看在JAVA中的异或与python中的异或是否一样,我就进行了java代码的编译:
BUUCTF Reverse Java逆向解密_第2张图片
再贴上python的代码:

strs = [180, 136, 137, 147, 191, 137, 147, 191,
 148, 136, 133, 191, 134, 140, 129, 135, 191, 65]

flag = ""
for i in range(0,len(strs)):
	flag += chr(strs[i] - ord('@') ^ 0x20)
print(flag)

也能得到:
在这里插入图片描述
事实证明我想的太多了~
结果就得到了flag:flag{This_is_the_flag_!}

你可能感兴趣的:(CTF题,一天一道CTF,BUUCTF)