Java逆向解密
https://buuoj.cn/challenges#Java%E9%80%86%E5%90%91%E8%A7%A3%E5%AF%86
附件只有一个Reverse.class
用IntelliJ打开就能看到JAVA源码
这里就是生成flag的地方
int result = arr[i] + 64 ^ 32; 这个运算的逆运算难搞
注意运算的优先级,+先运算在^
代码直接用遍历就行
ss = [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(ss)):for x in range(0,200):temp = x + 64 ^ 0x20if temp == ss[i]:flag = flag + chr(x)break
print(flag)
输出 This_is_the_flag_!