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相关推荐

  1. buuctf pyre

    buuctf 逆向pyre 最近看到不少py逆向,记录一道题 下载原件发现是pyc文件,先利用uncompyle生成py文件(之前用py3.8.6的版本下载死活不行,在老学长的帮助下发现uncompy ...

  2. buuctf——pyre

    1得到.pyc文件. 反编译pyc文件,首先要下载uncompyle (打开cmd 输入命令:pip install uncompyle) 在cmd窗口输入命令:uncompyle6 文件名.pyc& ...

  3. BUUCTF Reverse/[GWCTF 2019]pyre

    BUUCTF Reverse/[GWCTF 2019]pyre 下载得到一个pyc文件,用这个在线反编译pyc,pyo反汇编出代码 print 'Welcome to Re World!' print ...

  4. [BUUCTF]REVERSE——[GWCTF 2019]pyre

    [GWCTF 2019]pyre 附件 步骤: 1.附件是pyc文件,用python打不开,百度后得知用python反编译工具打开,分享一个python反编译在线网站 反编译后是这段代码 #!/usr ...

  5. buuctf GWCTF2019 pyre

    (36条消息) GWCTF 2019 pyre YuSec_顾殇の点的博客-CSDN博客https://blog.csdn.net/weixin_43859686/article/details/10 ...

  6. buuctf/re/近日总结/rome,pyre等(详细解释)

    rome: 检测到无壳,32位 直接用IDA打开,转到main函数 int func() {int result; // eaxint v1[4]; // [esp+14h] [ebp-44h]uns ...

  7. BUUCTF 逆向工程(reverse)之[GWCTF 2019]pyre

    下载好题目后,发现后缀名为:.pyc 所以使用python这些反编译工具:https://tool.lu/pyc/ 利用这个网站反编译一下就可以得到Python的源代码 #!/usr/bin/env ...

  8. buuctf GWCTF 2019 pyre

    下载题目发现是一个pyc文件,关于pyc的详细解释,我看到了这篇文章(6条消息) .pyc是什么?_loveliuzz的博客-CSDN博客_.pyc pyc文件是PyCodeObject的一种持久化保 ...

  9. BUUCTF Reverse pyre

    这道题算是比较简单的逆算法了,初入逆向,想借这个题来理理自己的思路 拿到附件,发现是一个.pyc文件,这里简单介绍一下 详细介绍可以参考大佬博客:什么是pyc文件,把python的py文件编译成pyc ...

最新文章

  1. Java基础知识——类装载器与反射机制
  2. 前端各阶段资源,学得完算我输
  3. 新网站如何在最短的时间内提升排名呢?
  4. 学号 20175223 《Java程序设计》第4周学习总结
  5. MySQL--安装及配置
  6. 一次性解决Java程序中的乱码问题
  7. C#跨线程操作控件的线程安全方法
  8. 面试39 MySQL读写分离
  9. 52次课(mysql用户管理、常用sql语句、 mysql数据库备份恢复)
  10. Chapter7-3_BERT and its family - ELMo, BERT, GPT, XLNet, MASS, BART, UniLM, ELECTRA, and more
  11. mysql 多进程配置_基于mysql_multi实现MySQL多实例多进程配置
  12. TOMM2018_Unsupervised Person Re-identification: Clustering and Fine-tuning
  13. C++总结:static_cast ,reinterpret_cast
  14. 斯坦福机器学习公开课笔记--神经网络的学习
  15. myeclipse 运行servlet
  16. SECS/GEM编程
  17. microsoft word无法插入公式
  18. python getchar函数_linux命令行下用getchar()函数捕获按键
  19. 逍遥模拟器使用指南(一、ADB 模拟器链接方式)
  20. 读书,意味着你还不服输

热门文章

  1. 【网络基础】第30章 虚拟专网
  2. Android keystore 密码找回
  3. java编写换酒问题,ASP空瓶换酒递归算法题目
  4. 3D游戏建模就是那么简单!
  5. ezproxy经验-精华
  6. 【计算机网络】【运输层-5】
  7. 仁信口袋iOS 技术支持服务
  8. 为打印设备添加监控(一)ESP32_CAM局域网监控
  9. Computer Design and Architecture Revised and Expanded
  10. MySQL学习之《排序与分页》