TPCTF maze——WP

news/2024/5/19 23:20:42 标签: CTF, TPCTF, 网络安全, 逆向

解包,收集文件信息

先解包

反编译chal.pyc

核心逻辑在maze.so,chal.pyc导入了maze里面的run函数执行,maze是用Cython编译的

用strings查看可以看出是cython3.0.5版本编译的

获取符号表信息的两种方式

使用help读取

我们可以使用这个函数来导入maze,查看其中的全局变量,函数原型和类

这些变量名和函数名都像是base64,解密一下

CreateStringTabAndInitStrings函数

_Pyx_CreateStringTabAndInitStrings函数将所有 Python 代码使用到的字符串插入到__pyx_string_tab

找到run函数

直接搜索run,根据对Cython的研究,_pyx_pw_4maze_5run这个名称就是关键函数

分析一下这个函数

此处是input

此处调用了_pyx_mstate_global_static.__pyx_n_s_c29sdmU

这个加密函数

_pyx_pw_4maze_3c29sdmU

分析这个加密函数

采用了置换和异或加密

解密脚本

secret = [7, 47, 60, 28, 39, 11, 23, 5, 49, 49, 26, 11, 63, 4, 9, 2, 25, 61, 36, 112, 25, 15, 62, 25, 3, 16, 102, 38,
          14, 7, 37, 4, 40]
pos = [18, 17, 15, 0, 27, 31, 10, 19, 14, 21, 25, 22, 6, 3, 30, 8, 24, 5, 7, 4, 13, 29, 9, 26, 1, 2, 28, 16, 20, 32, 12,
       23, 11]
key = "HITPCTF"

for i in range(len(secret)):
    temp = secret[i]
    secret[i] = secret[pos[i]]
    secret[pos[i]] = temp

flag = ""
for i in range(len(secret)):
    flag += chr(secret[i] ^ ord(key[i % len(key)]))

print(flag)


http://www.niftyadmin.cn/n/5259578.html

相关文章

HTML基本网页制作

一、制作工商银行电子表单 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>第一个网页的标题</ti…

2023全国职业院校技能大赛信息安全管理与评估赛项正式赛(模块二)

全国职业院校技能大赛高等职业教育组信息安全管理与评估 任务书 极安云科专注技能竞赛&#xff0c;包含网络建设与运维和信息安全管理与评估两大赛项&#xff0c;及各大CTF&#xff0c;基于两大赛项提供全面的系统性培训&#xff0c;拥有完整的培训体系。团队拥有国赛选手、大厂…

深度学习的目标检测算法综述

信息记录材料 2022年10月 第23卷第10期 【摘要】目标检测是深度学习的一个重要应用&#xff0c;目前在智能驾驶、工业检测相关领域都获得应用&#xff0c;具有重要的现实意义。本文对基于深度学习目标检测算法原理和应用情况进行简述&#xff0c;首先介绍结合区域提取和卷积神经…

cesium 自定义贴图,shadertoy移植教程。

1.前言 cesium中提供了一些高级的api&#xff0c;可以自己写一些shader来制作炫酷的效果。 ShaderToy 是一个可以在线编写、测试和分享图形渲染着色器的网站。它提供了一个图形化的编辑器&#xff0c;可以让用户编写基于 WebGL 的 GLSL 着色器代码&#xff0c;并实时预览渲染结…

【基于Python的5G套餐潜在客户预测系统的设计与实现】

基于Python的5G套餐潜在客户预测系统的设计与实现 引言数据集介绍技术栈数据处理&#xff1a;Pandas可视化&#xff1a;Echarts框架搭建&#xff1a;Flask预测模型&#xff1a;随机森林算法 实现过程数据预处理特征选择模型训练和验证结果展示 结论 引言 随着5G技术的普及和移…

etcd集群部署、备份还原、etcdctl命令行工具

目录 前言什么是etcdetcd名词raft协议-摘抄自《etcd技术内幕》etcd的部署要求二进制部署etcd查看etcd命令帮助创建etcd集群&#xff0c;使用systemd管理&#xff0c;http协议创建etcd集群&#xff0c;使用systemd管理&#xff0c;https协议etcdctl客户端工具的使用为etcdctl创建…

搭建Tomcat调试环境并分析CVE-2017-12615

准备 下载存在漏洞版本tomcat&#xff0c;这里下的是8.0.45 https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.45/ 可执行文件和源码都需要下载 用idea打开源码文件&#xff0c;然后将java目录设置为源码目录 配置一下jdk 转成maven项目 添加一些依赖 <dependencie…

[字符串操作]1082 子串

1082 子串 题目描述 现在有一些由英文字符组成的大小写敏感的字符串&#xff0c;你的任务是找到一个最长的字符串x&#xff0c;使得对于已经给出的字符串中的任意一个y&#xff0c;x或者是y的子串&#xff0c;或者x中的字符反序之后得到的新字符串是y的子串。 关于输入 输入…