BUUCTF—Reverse—Java逆向解密(10)

程序员小张不小心弄丢了加密文件用的秘钥,已知还好小张曾经编写了一个秘钥验证算法,聪明的你能帮小张找到秘钥吗? 注意:得到的 flag 请包上 flag{} 提交

需要用专门的Java反编译软件:jd-gui

下载文件,发现是个class文件,这好办直接使用jd-gui打开,反编译:

看多了 C 语言伪代码再看这种的就很舒适,程序逻辑非常简单,对输入字符串逐个进行加 64 后与 32 进行异或的操作,值得注意的是,加号的优先级是高于异或运算符的。当计算结果与内部的 KEY 数组内容一样,用户输入的数据即为 flag。

操作比较简单,直接写脚本进行逆操作:

python 复制代码
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) - 64)

print(flag)

运行结果

运行之后便获得了 flag,提交 flag{This_is_the_flag_!} 即可。

复制代码
flag{This_is_the_flag_!}
相关推荐
纸飞机低空飞行1 天前
伪造令牌提权Windows ring3 最高权限
reverse
Pure_White_Sword2 天前
bugku-reverse题目-树木的小秘密
网络安全·ctf·reverse·逆向工程
Pure_White_Sword7 天前
bugku-reverse题目-peter的手机
网络安全·ctf·reverse·逆向工程
热心市民老八18 天前
010editor 最新版破解
逆向·reverse
Z3r4y2 个月前
【Reverse】BUUCTF 第一页 wp
ctf·reverse·buuctf·wp
纸飞机低空飞行2 个月前
Frida Hook Android手册
reverse
小张的博客之旅5 个月前
宁波市第八届网络安全大赛初赛(REVERSE-Writeup)
学习·网络安全·reverse
unable code7 个月前
攻防世界-Rerverse-game
网络安全·ctf·reverse
unable code7 个月前
攻防世界-Reverse-insanity
网络安全·ctf·reverse
纸飞机低空飞行10 个月前
Cython二进制逆向系列(三)运算符
reverse