当前位置: 首页 > news >正文

中国石油工程建设协会网站ps教程自学网官网

中国石油工程建设协会网站,ps教程自学网官网,广州做网站找酷爱网络,肇庆市端州发布一、反编译题目pyc文件 题目下载解压后是一个.pyc文件,那就去反编译看看呗,因为之前用过uncompyle6,直接去命令行执行 uncompyle6 -o ez_re.py ez_re.pyc 得到ez_re.py源码一份~ 但是这里我用uncompyle6反编译的结果不知道为啥就出来很多奇…

一、反编译题目pyc文件

题目下载解压后是一个.pyc文件,那就去反编译看看呗,因为之前用过uncompyle6,直接去命令行执行
uncompyle6 -o ez_re.py ez_re.pyc
得到ez_re.py源码一份~

但是这里我用uncompyle6反编译的结果不知道为啥就出来很多奇怪的b,感觉不太对就又用在线网站反编译了一下,嗯,果然没有多余的b了。

用的在线工具网站是:https://tool.lu/pyc/
以下是uncompyle6反编译的结果,可以看到code变量中有好多元素前面带b:

# uncompyle6 version 3.8.0
# Python bytecode 2.7 (62211)
# Decompiled from: Python 3.8.10 (v3.8.10:3d8993a744, May  3 2021, 08:55:58) 
# [Clang 6.0 (clang-600.0.57)]
# Embedded file name: enpyc.py
# Compiled at: 2023-03-29 18:30:23
print 'Welcome to CTFshow Re!'
print 'your flag is here!'
flag = ''
l = len(flag)
for i in range(l):num = ((flag[i] + i) % 114514 + 114514) % 114514code += chr(num)code = map(ord, code)
for i in range(l - 4 + 1):code[i] = code[i] ^ code[(i + 1)]print code
code = ['\x16', '\x1d', '\x1e', '\x1a', '\x18', '\t', b'\xff', b'\xd0', ',', '\x03', '\x02', '\x14', '8', 'm', '\x01', 'C', 'D', b'\xbd', b'\xf7', '*', '\r', b'\xda', b'\xf9', '\x1c', '&', '5', "'", b'\xda', b'\xd4', b'\xd1', '\x0b', b'\xc7', b'\xc7', '\x1a', b'\x90', 'D', b'\xa1']

我就手动处理下code了,把多余的b去掉,可以直接复制粘贴拿去用:

code = ['\x16', '\x1d', '\x1e', '\x1a', '\x18', '\t', '\xff', '\xd0', ',', '\x03', '\x02', '\x14', '8', 'm', '\x01', 'C', 'D', '\xbd', '\xf7', '*', '\r', '\xda', '\xf9', '\x1c', '&', '5', "'", '\xda', '\xd4', '\xd1', '\x0b', '\xc7', '\xc7', '\x1a', '\x90', 'D', '\xa1']

二、分析源码

可以看出是有两个操作:flag[i] + i(我感觉了一下114514在这里运算与否不影响结果)和code[i] = code[i] ^ code[(i + 1)],注意异或的操作是没有处理最后三个元素的

那想得到flag的话,大体的思路就是先倒过来异或再减去下标值就可以了。

因为异或的操作是没有处理最后三个元素的,即倒过来时最先计算的是「倒数第四个元素=倒数第四个元素^倒数第三个元素」,然后依次往前,倒数第五个元素=倒数第五个元素^倒数第四个元素,依此类推,最后是第一个元素=第一个元素^第二个元素。中间操作都是用ascii码进行的,这里不太容易描述的很具体(好像该说的也都说了),直接上脚本吧。

三、解题脚本

code = ['\x16', '\x1d', '\x1e', '\x1a', '\x18', '\t', '\xff', '\xd0', ',', '\x03', '\x02', '\x14', '8', 'm', '\x01', 'C', 'D', '\xbd', '\xf7', '*', '\r', '\xda', '\xf9', '\x1c', '&', '5', "'", '\xda', '\xd4', '\xd1', '\x0b', '\xc7', '\xc7', '\x1a', '\x90', 'D', '\xa1']temp=list(map(ord,code)) #将code中的字符转换成ascii码值放入temp#temp=[22, 29, 30, 26, 24, 9, 255, 208, 44, 3, 2, 20, 56, 109, 1, 67, 68, 189, 247, 42, 13, 218, 249, 28, 38, 53, 39, 218, 212, 209, 11, 199, 199, 26, 144, 68, 161]for i in range(len(temp)-3)[::-1]: #从倒数第四个元素开始异或处理temp[i]=temp[i]^temp[i+1]#temp=[99, 117, 104, 118, 108, 116, 125, 130, 82, 126, 125, 127, 107, 83, 62, 63, 124, 56, 133, 114, 88, 85, 143, 118, 106, 76, 121, 94, 132, 80, 129, 138, 77, 138, 144, 68, 161]for i in range(len(temp)):print(chr(temp[i]-i),end='') #目测这里没有小于下标i的数所以不用关心模数运算(可以这么说吗?#ctfshow{Just_F00l's_D@y_R3_Ch3ck-in!}
http://www.sczhlp.com/news/144281/

相关文章:

  • 制作网站微信登陆入口网站购物商城功能模块图
  • 完整教程:【有源码】基于Hadoop+Spark的AI就业影响数据分析与可视化系统-AI驱动下的就业市场变迁数据分析与可视化研究-基于大数据的AI就业趋势分析可视化平台
  • Tomcat中启用h3的方法是什么
  • 建设银行官方门户网站快速建站模板自助建站
  • 网站空间域名注册新媒体营销的定义
  • 网站建设公司人员配备wordpress添加js
  • 三亚旅游网站建设北京企业网站制作
  • 数字营销网站主页优化延吉手机网站建设开发
  • 兰州做门户网站大兴网站定制开发
  • 青岛移动公司网站如何查看wordpress版本号
  • 返利网站怎么做推广计划名称怎么写
  • 微站网建站系统美食创意网页设计
  • 沧州网站建设公司翼马北京网页制作公司
  • 巩义郑州网站建设自己做的网站被攻击了
  • 想自己做个网站怎么做.net开发的大型网站
  • 牛客刷题-Day6
  • 网站推广有哪些方式深圳市住房和建设局红色警示
  • 建湖做网站哪家公司好免费psd模板素材
  • 做网站是用什么语言做成的电子简历模板
  • wordpress多站点好用吗个人网站的留言板数据库怎么做
  • 数字化转型浪潮下:10款主流项目管理工具横向测评与选型指南
  • 借助Aspose.Email,使用 Python 将 EML 转换为 MHTML
  • 网站建设中网站需求分析报告内容如何编辑网站标题
  • 徐州新沂网站建设怎么查网站备案信息
  • php网站建设原码集团网站建设的要求
  • 北京城建道桥建设网站如何设计微商城网站建设
  • wordpress 遍历文章seo专员是什么职业岗位
  • 在手机上创建网站吗哪里可以做企业网站
  • wordpress你访问的网站不存在app仿制
  • 做网络推广选择网站北京加盟网站建设