发现py文件转化成的exe文件,则用pyinstxtractor将exe文件转成pyc文件。
pyinstxtractor将exe转为pyc在网上找到pyinstxtractor.py文件,将此文件放在与目标文件同一文件夹下,打开控制台输入以下命令
python pyinstxtractor.py 平成第四杰.exe
*** 作后文件夹中生成以下文件夹
在文件夹中找到struct文件和“平成第四杰”文件
将“平成第四杰”文件后缀改为.pyc
打开winhex,打开文件struct和平成第四杰.pyc文件
对比两个文件,发现struct文件比目标文件多了一行16进制字符,我们把这一行复制到目标文件开头。
像这样,然后ctrl+s保存。
python在线反编译打开python在线反编译网站,选择目标文件后,生成如下代码
table = [ 28709, 3454, 16859, 3524, 16876, 8497, 17277, 17152, 4629, 17152] text = input('平成三杰现向你抛出橄榄枝,希望你能加入他们,但需要你喊出口号:') if len(text) != 10: print('你甚至不知道该输几个字!') else: cipher = [] for i in range(len(text)): cipher.append(ord(text[i])) for i in range(len(cipher)): if i & 1 == 0: cipher[i] ^= 4660 continue cipher[i] ^= 17185 tmp = 0 for i in range(len(cipher)): if cipher[i] == table[i]: continue continue print("Sorry, maybe you don't have it in you.") tmp = 1 break if tmp == 0: print('Congratulations on becoming the fourth jie!')上脚本!!!
table = [ 28709, 3454, 16859, 3524, 16876, 8497, 17277, 17152, 4629, 17152] flag=[] for i in range(len(table)): if i & 1 ==0: table[i] ^= 4660 continue table[i] ^= 17185 flag += chr(table[i]) print(flag)
运行结果如下(脚本写的比较辣鸡,请大佬们海涵)
[25105, 20063, 21487, 20197, 21464, 25104, 20809, 33, 33, 33]
得到的是一串十进制数字。将其通过在线网站转化为ASCII码形式。
得到flag!! 我也可以变成光!!!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)