逆向-简单的pyc

这个是I**C的比赛逆向题目(比赛还没结束QAQ)

题目内容很简单

提示说要逆向一个pyc

虽然没有了解过这个东西,不过在网上找到了在线的反编译工具

直接拉进去  运行

得到如下内容:
 

import base64

def encode(message):
    s = ''
    for i in message:
        x = ord(i) ^ 32
        x = x + 16
        s += chr(x)
    
    return base64.b64encode(s)

correct = 'eYNzc2tjWV1gXFWPYGlTbQ=='
flag = ''
print 'Input flag:'
flag = raw_input()
if encode(flag) == correct:
    print 'correct'
else:
    print 'wrong'

这就很棒了

源码都有了  什么是逆不出来的

这里需要注意一下的是correct的内容最好不要用网上的Base64解码工具解码

最好用Python的base64模块解码

简单写一下Python得到decode后的字符串

y\x83sskcY]`\\U\x8f`iSm

然后写一个脚本,跑一下就出来了

脚本如下:
 

#include 

using namespace std;

int main ()

{

    char buffer[512]="y\x83sskcY]`\\U\x8f`iSm";
    
    for(int i=0;i

结束。

你可能感兴趣的:(逆向)