1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 南京邮电大学网络攻防训练平台逆向第三题PY交易

南京邮电大学网络攻防训练平台逆向第三题PY交易

时间:2020-07-29 05:59:41

相关推荐

南京邮电大学网络攻防训练平台逆向第三题PY交易

1、下载到的是一个Py.pyc文件

2、百度xxx.pyc如何使用得知

什么是pyc文件

pyc 是一种二进制文件,是由py文件经过编译后,生成的文件,是一种bytecode,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨 平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同 版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的python是无法执行的。

为什么需要pyc文件

这 个需求太明显了,因为py文件是可以直接看到源码的,如果你是开发商业软件的话,不可能把源码也泄漏出去吧?所以就需要编译为pyc后,再发布出去。当 然,pyc文件也是可以反编译的,不同版本编译后的pyc文件是不同的,根据python源码中提供的opcode,可以根据pyc文件反编译出py文件 源码

3、直接百度.pyc解析工具

网站:https://tool.lu/pyc/

解析内容如下:

#!/usr/bin/env python

# encoding: utf-8

# 如果觉得不错,可以推荐给你的朋友!http://tool.lu/pyc

import base64

def encode(message):

s = ''

for i in message://for循环

x = ord(i) ^ 32 //每位^32

x = x + 16 //异或完毕的值+16

s += chr(x)

return base64.b64encode(s) //再进行base64加密

correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt' //正确的Key

flag = ''//让你输入的Buff

print 'Input flag:'

flag = raw_input()//类似于C语言的Scanf

if encode(flag) == correct: //进行比较

print 'correct'

else:

print 'wrong'

import base64

4、打开Py编写代码

其实就是将代码倒过来写即可

import base64correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt's=base64.b64decode(correct) #首先将字符串Base64解密print(s)b=''for i in s:#for循环x=(ord(i)-16)^32 #将代码倒过来写即可b+=chr(x)print(b)

5、输出结果

nctf{d3c0mpil1n9_PyC}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。