BUUCTF pyre
BUUCTF pyre
拿到的文件是一个后缀是.pyc的文件,有点迷糊,百度了一下发现可以用网上的python反编译在线工具反编译,反编译之后得到代码:
#!/usr/bin/env python
# visit http://tool.lu/pyc/ for more information
print "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 += num
for i in range(l - 1):code[i] = code[i] ^ code[i + 1]
print code
code = ["\x1f","\x12","\x1d","(","0","4","\x01","\x06","\x14","4",",","\x1b","U","?","o","6","*",":","\x01","D",";","%","\x13",
]
分析了下代码,大概猜测就是自己输入一个flag,然后经过两次变换得到另一个flag
代码比较简单,直接上脚本:
code = ["\x1f","\x12","\x1d","(","0","4","\x01","\x06","\x14","4",",","\x1b","U","?","o","6","*",":","\x01","D",";","%","\x13",]l = len(code)for i in range(l-2,-1,-1):code[i]=chr(ord(code[i])^ord(code[i+1]))for i in range(len(code)):print(chr((ord(code[i])-i)%128),end='')
运行得到flag:
总结:
1.《.pyc》的python文件可以用网页python反编译在线工具反编译
2.因为(a+b)%c=(a%c+b%c)%c,所以原程序中((input1[i] + i) % 128 + 128) % 128=(input1[i] + i) %128,如下图:
3.a=(b-c)%d的逆运算为b=(a+c)%d
BUUCTF pyre相关推荐
- buuctf pyre
buuctf 逆向pyre 最近看到不少py逆向,记录一道题 下载原件发现是pyc文件,先利用uncompyle生成py文件(之前用py3.8.6的版本下载死活不行,在老学长的帮助下发现uncompy ...
- buuctf——pyre
1得到.pyc文件. 反编译pyc文件,首先要下载uncompyle (打开cmd 输入命令:pip install uncompyle) 在cmd窗口输入命令:uncompyle6 文件名.pyc& ...
- BUUCTF Reverse/[GWCTF 2019]pyre
BUUCTF Reverse/[GWCTF 2019]pyre 下载得到一个pyc文件,用这个在线反编译pyc,pyo反汇编出代码 print 'Welcome to Re World!' print ...
- [BUUCTF]REVERSE——[GWCTF 2019]pyre
[GWCTF 2019]pyre 附件 步骤: 1.附件是pyc文件,用python打不开,百度后得知用python反编译工具打开,分享一个python反编译在线网站 反编译后是这段代码 #!/usr ...
- buuctf GWCTF2019 pyre
(36条消息) GWCTF 2019 pyre YuSec_顾殇の点的博客-CSDN博客https://blog.csdn.net/weixin_43859686/article/details/10 ...
- buuctf/re/近日总结/rome,pyre等(详细解释)
rome: 检测到无壳,32位 直接用IDA打开,转到main函数 int func() {int result; // eaxint v1[4]; // [esp+14h] [ebp-44h]uns ...
- 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 pyre
这道题算是比较简单的逆算法了,初入逆向,想借这个题来理理自己的思路 拿到附件,发现是一个.pyc文件,这里简单介绍一下 详细介绍可以参考大佬博客:什么是pyc文件,把python的py文件编译成pyc ...
最新文章
- Java基础知识——类装载器与反射机制
- 前端各阶段资源,学得完算我输
- 新网站如何在最短的时间内提升排名呢?
- 学号 20175223 《Java程序设计》第4周学习总结
- MySQL--安装及配置
- 一次性解决Java程序中的乱码问题
- C#跨线程操作控件的线程安全方法
- 面试39 MySQL读写分离
- 52次课(mysql用户管理、常用sql语句、 mysql数据库备份恢复)
- Chapter7-3_BERT and its family - ELMo, BERT, GPT, XLNet, MASS, BART, UniLM, ELECTRA, and more
- mysql 多进程配置_基于mysql_multi实现MySQL多实例多进程配置
- TOMM2018_Unsupervised Person Re-identification: Clustering and Fine-tuning
- C++总结:static_cast ,reinterpret_cast
- 斯坦福机器学习公开课笔记--神经网络的学习
- myeclipse 运行servlet
- SECS/GEM编程
- microsoft word无法插入公式
- python getchar函数_linux命令行下用getchar()函数捕获按键
- 逍遥模拟器使用指南(一、ADB 模拟器链接方式)
- 读书,意味着你还不服输