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_!}
相关推荐
纸飞机低空飞行18 天前
Cython二进制逆向系列(一) 初识Cython
reverse
晴友读钟3 个月前
C#(.NET FrameWork库)逆向基础流程(纯小白教程)
c#·.net·逆向·ctf·reverse·dnspy
晴友读钟4 个月前
批量替换字符串中的某子串序列为对应的另一子串序列(z3求解器解多元方程时很好用)
ctf·reverse·z3
RAVEN_14524 个月前
[reverse]河北省职工职业技能大赛决赛re2(rotate-xtea-aes)
密码学·reverse
wmr665 个月前
2024 TFCCTF re 部分wp
网络安全·软件工程·ctf·reverse
wmr667 个月前
2024 五月份国内外CTF 散装re 部分wp
网络安全·软件工程·ctf·reverse
剁椒排骨7 个月前
polarctf靶场[reverse]shell、PE结构、拼接
学习·网络安全·逆向·ctf·reverse·网络信息安全
bbqz0077 个月前
逆向WeChat(四)
c++·微信·架构·逆向·reverse·network·wechat·disassembly·破解·mars·网络模块
wmr667 个月前
2024 NahamConCTF re 部分wp
网络安全·软件工程·ctf·reverse