GWctf-2019-pyre
拿到文件pyc,直接反编译
得到源码
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 = ['\x1f','\x12','\x1d','(','0','4','\x01','\x06','\x14','4',',','\x1b','U','?','o','6','*',':','\x01','D',';','%','\x13']
思路很清晰的
先异或,再运算,最后拿到input1就是我们想要的
问题是
num = ((input1[i] + i) % 128 + 128) % 128
的理解
我们看右边会发现+128然后再%128是不必要的
所以改进就是
num = (input1[i] + i) % 128
接着看,
左边是个固定值,右边可以不固定,我们可以随机取值,然后确保数值在0~128范围内
由于我们知道code里面数值
所以我们可以这样写
input1[i]我们写成flag[i],num 我们携程str[i]
下面代码采用c++实现
flag[i] = s[i]-i ;if(flag[i]<0)flag[i]+=128;
问题就解决了
然后写脚本
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char s[]= {'\x1f','\x12','\x1d','(','0','4','\x01','\x06','\x14','4',',','\x1b','U','?','o','6','*',':','\x01','D',';','%','\x13'};char flag[strlen(s)];
int i;
for(i = strlen(s)-2;i>=0;i--)
{
s[i]=s[i]^s[i+1];
}
for( i = 0;i<strlen(s);i++)
{ flag[i] = s[i]-i ;if(flag[i]<0)flag[i]+=128;
}
puts(flag);
}
get flag!
GWHT{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的一种持久化保 ...
- [GWCTF 2019]pyre 题解
I came,I saw,I conquered. 1.使用在线工具获得源代码 这是一个pyc文件,需要反编译获得源代码(py文件可以直接用记事本打开获取源代码,pyc不可以) 使用在线工具 获取源代 ...
- [BUUCTF]REVERSE解题记录 [GWCTF 2019]pyre
1.首先这是一个python的项目,用从大佬那学习到的python反编译 - 在线工具打开 print 'Welcome to Re World!' print 'Your input1 is you ...
最新文章
- 车道检测源码分析系列
- python pymysql实例_python-Mysql的操作(pyMysql的介绍)
- 关于爬虫中遇到的问题
- jQuery 学习笔记(三)——事件与应用
- Lombok ——自动化方法生成器
- 如果让你选择计算机本科最重要的三门课,会选什么?高手都选他们!
- 界面上下固定_【技术浅析】三通道机床自动上下料控制方法应用
- servlet-cookie实现向客户端写cookie信息
- 按大小排序php,php中按大小进行排序的函数有哪些
- strcpy的用法、c语言实现、及注意点
- jdbc c3p0 mysql_JDBC+C3P0+DBCP 基本使用
- 网页扫雷html css js,HTML+CSS+JS实现WIN7扫雷(中)
- 7月23日云栖精选夜读丨前端leader找我谈心:我是如何从刚毕业的前端菜鸟一步步成长为前端工程师的?...
- Objective-C 程序设计(第4版)
- 网易的爆款密码,藏在Q3财报里
- Linux gtk 路由,在linux下使用gtk的gdk
- 层次高的人,都拥有成长型思维
- linux 安装谷歌浏览器--Google chrome
- 传统行业+互联网思维
- FFmpeg滤镜:制作图片视频流(续2)