pyc 字节码解读 ---- Avengers Assemblewriteup
警告
本文最后更新于 2023-01-27,文中内容可能已过时。
## 题目名字 Avengers Assemble
这是之前 MHSCTF 的一道题
打开是 pyc 的字节码文件
## 解读 参考文章 https://www.jianshu.com/p/10e6bc633938 这个程序的逻辑就是 输入 flag 然后把存储的数值格式的数字转成字符进行比较
pwd = input()
if (compare(pwd)== true)
print("right")
## 解析
![QLG%5IX7)~W5WA`0U7HT66.png
红色为循环标志 这段是把数组中的所有元素 7 个为一组 每个数值减去循环 i 即第一个数字 - 0 第二个 - 1 第八个数字 - 0 附上 exp
pwd = [102,109,99,106,127,53,116,95,122,113,120,118,100,55,51,103,57,128]
for i in range(len(pwd)):
if i in range(7):
res = pwd[i] - i
print(chr(res),end = '')
if i in range(7,14):
res = pwd[i] - i + 7
print(chr(res),end = '')
if i in range(14,21):
res = pwd[i] - i + 14
print(chr(res),end = '')