[GWCTF 2019]pyre 题解
I came,I saw,I conquered.
1.使用在线工具获得源代码
这是一个pyc文件,需要反编译获得源代码(py文件可以直接用记事本打开获取源代码,pyc不可以)
使用在线工具
获取源代码
#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 2.7print 'Welcome to Re World!'
print 'Your input1 is your flag~'
l = len(input1)
for i in range(l):num = ((input1[i] + i) % 128 + 128) % 128code += numfor i in range(l - 1):code[i] = code[i] ^ code[i + 1]print code
code = ['%1f','%12','%1d','(','0','4','%01','%06','%14','4',',','%1b','U','?','o','6','*',':','%01','D',';','%','%13']
按照这个代码逆向还原回去,得到flag
2.分析与wp
首先要了解异或运算,两次异或等于没有异或
for i in range(l - 1):
code[i] = code[i] ^ code[i + 1]
还原这一步
for i in range(l):
num = ((input1[i] + i) % 128 + 128) % 128
code += num
再还原这一步
wp
code = ['\x1f', '\x12', '\x1d', '(', '0', '4', '\x01', '\x06', '\x14', '4', ',', '\x1b', 'U', '?', 'o','6', '*', ':', '\x01', 'D', ';', '%', '\x13']
flag=""
f1 = len(code)
for i in range(f1 - 2, -1, -1):code[i] = chr(ord(code[i]) ^ ord(code[i + 1]))for j in range(f1):flag+=chr((ord(code[j]) - j) % 128)
print(flag)
GWHT{Just_Re_1s_Ha66y!}
flag{Just_Re_1s_Ha66y!}
[GWCTF 2019]pyre 题解相关推荐
- [GWCTF 2019]pyre.pyc [CISCN2018]2ex
文章目录 [GWCTF 2019]pyre.pyc 反编译 脚本 [CISCN2018]2ex 查看txt 分析 [GWCTF 2019]pyre.pyc 反编译 uncompyle6 pyre.py ...
- [BUUCTF]REVERSE——[GWCTF 2019]pyre
[GWCTF 2019]pyre 附件 步骤: 1.附件是pyc文件,用python打不开,百度后得知用python反编译工具打开,分享一个python反编译在线网站 反编译后是这段代码 #!/usr ...
- BUUCTF Reverse/[GWCTF 2019]pyre
BUUCTF Reverse/[GWCTF 2019]pyre 下载得到一个pyc文件,用这个在线反编译pyc,pyo反汇编出代码 print 'Welcome to Re World!' print ...
- buu Reverse学习记录(19) [GWCTF 2019]pyre
题目链接:https://buuoj.cn/challenges#[GWCTF%202019]pyre 题目是个.pyc文件 现在python中安装 uncompyle 库 运行命令 uncompyl ...
- GWCTF 2019 pyre YuSec
pyre pyc文件,直接在线反编译得到 print 'Welcome to Re World!' print 'Your input1 is your flag~' l = len(input1) ...
- [GWCTF 2019]pyre
通过这道题学到了许多东西,GNU 高精度算法库,密码学python两个常用的函数库 crypto和 gmpy2,以及python的binascii模块,采用yafu来分解n得到q和p,加深了对于RSA ...
- BUUCTF 逆向工程(reverse)之[GWCTF 2019]pyre
下载好题目后,发现后缀名为:.pyc 所以使用python这些反编译工具:https://tool.lu/pyc/ 利用这个网站反编译一下就可以得到Python的源代码 #!/usr/bin/env ...
- buuctf GWCTF 2019 pyre
下载题目发现是一个pyc文件,关于pyc的详细解释,我看到了这篇文章(6条消息) .pyc是什么?_loveliuzz的博客-CSDN博客_.pyc pyc文件是PyCodeObject的一种持久化保 ...
- [BUUCTF]REVERSE解题记录 [GWCTF 2019]pyre
1.首先这是一个python的项目,用从大佬那学习到的python反编译 - 在线工具打开 print 'Welcome to Re World!' print 'Your input1 is you ...
最新文章
- 写了个牛逼的日志切面,甩锅更方便了!
- 企业级微服务架构统一安全认证设计与实践!
- 图像聚类与检索的简单实现(一)
- HTTP状态码(HTTP Status Code),常见的error 404, error 504等的意思
- YUMI~~强大的USB启动盘制作工具!!
- inventor扳手制作视频_安全的安全帽是怎么制作出来的?
- 爬虫开发10.scrapy框架之日志等级和请求传参
- 【Linux】一步一步学Linux——bg命令(131)
- unity NGUI 一些操作记录
- SAP Spartacus后台CMS Component和Angular Component的映射关系
- python 控件叠加_Python3 tkinter基础 Checkbutton anchor for生成多个控件并西对齐
- LeetCode 1521. 找到最接近目标值的函数值(位运算)
- 华为回应“停止社招”;iPhone XS 取消美颜; iCloud 大面积瘫痪 | 极客头条
- 在Shell中,“$“和““的作用
- Android USB AUDIO初步分析
- matlab opnet,OPNET中设计网络 MATLAB
- 专升本高等数学考试知识点汇总(二)
- 必看 logit回归分析步骤汇总
- 尝鲜体验win11,附赠win11镜像下载地址
- pg_repack --no-order 某个表的过程分析
热门文章
- 议程公布 | 华为、爱立信、中兴三大通信巨头确认出席NEPCON峰会
- 解决LaTeX英文字体加粗失效、无法加粗问题
- 4.Web Worker解决了什么问题?怎么使用?
- 【Machine Learning】15.简单神经网络练习
- 机场生产运行数据统计指标-第四篇-机场运行保障类
- 《棒球大联盟2nd》:热血拼搏·棒球1号位
- 【操作教程】EasyNVR平台如何接入硬盘录像机?
- springboot毕设项目享瘦减肥中心管理系统47ccq(java+VUE+Mybatis+Maven+Mysql)
- 2023最新微官网美食订餐HTML5触屏响应式手机Wap模板源码
- java 自定义属性,java mapstruct 使用中dto添加自定义属性