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 = '')