pyc字节码解读 ---- Avengers Assemblewriteup

警告
本文最后更新于 2023-01-27,文中内容可能已过时。

##题目名字Avengers Assemble 这是之前MHSCTF的一道题 打开是pyc的字节码文件 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 = '')
0%