[BUUCTF]REVERSE——Java逆向解密

Java逆向解密

附件

步骤:

根据题目提示是java语言编写的程序,用jd-gui反编译一下
在这里插入图片描述
百度了一些java里的函数后读懂了这段程序的意思,将我们输入的字符串依次+‘@’,然后跟32异或,得到KEY数组里的值

知道了算法写解密exp

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

for i in range(len(key)):
    flag+=chr((key[i]^32)-ord('@'))

print ('flag{'+flag+'}')

代码很简单,只要注意一下运算符的优先级即可
在这里插入图片描述

原文地址:https://www.cnblogs.com/xlrp/p/14273684.html