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

NSSCTF-做题笔记

[羊城杯 2020]easyre

查壳,无壳,64位,ida打开

encode_one

encode_tow

encode_three

那么我们开始一步一步解密,从最外层开始

def decode_three(encrypted_str):decrypted_str = ""for char in encrypted_str:char_code = ord(char)if 65 <= char_code <= 90:decrypted_str += chr((char_code - 65 - 3) % 26 + 65)elif 97 <= char_code <= 122:decrypted_str += chr((char_code - 97 - 3) % 26 + 97)elif 48 <= char_code <= 57:decrypted_str += chr((char_code - 48 - 3) % 10 + 48)else:decrypted_str += charreturn decrypted_strencrypted_string = "EmBmP5Pmn7QcPU4gLYKv5QcMmB3PWHcP5YkPq3=cT6QckkPckoRG"
decrypted_result = decode_three(encrypted_string)
print(decrypted_result)

第二层

BjYjM2Mjk4NzM   3
R1dIVHs2NzJjY   1
0MTEzM2VhMn0=   4
zQ3NzhhMzhlOD   2

第三层

import base64def decode_base64_string(encoded_str):try:decoded_bytes = base64.b64decode(encoded_str.encode())return decoded_bytes.decode()except base64.binascii.Error as e:print(f"解码错误: {e}")return Nonea = "R1dIVHs2NzJjYzQ3NzhhMzhlODBjYjM2Mjk4NzM0MTEzM2VhMn0="
decoded_result = decode_base64_string(a)
if decoded_result:print(decoded_result)

[WUSTCTF 2020]level3

查看字符串

发现类似码表

发现不对,是一串乱码感觉码表被换了

def reverse_look_at_you(base64_table):for i in range(0, 10):temp = base64_table[i]base64_table[i] = base64_table[19 - i]base64_table[19 - i] = tempreturn base64_table
original_base64_table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
transformed_base64_table = list(original_base64_table)# 假设这里已经对码表执行了类似O_OLookAtYou函数的操作,现在进行逆向还原
reversed_table = reverse_look_at_you(transformed_base64_table)print("".join(reversed_table))

[GWCTF 2019]pyre

下载发现是一个pyc

在线反编译一下

#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 2.7print '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 += numfor i in range(l - 1):code[i] = code[i] ^ code[i + 1]print code
code = ['%1f','%12','%1d','(','0','4','%01','%06','%14','4',',','%1b','U','?','o','6','*',':','%01','D',';','%','%13']

def decrypt_code(code):code_length = len(code)# 先将列表中的字符转换为对应的ASCII码值,方便后续批量计算code_ascii = [ord(char) for char in code]# 逆向异或操作for i in range(code_length - 2, -1, -1):code_ascii[i] ^= code_ascii[i + 1]# 逆向取模和减法操作decrypted_ascii = []for i in range(code_length):decrypted_ascii.append((code_ascii[i] - i) % 128)# 将还原后的ASCII码值转换为字符并拼接成字符串decrypted_string = "".join(chr(ascii_val) for ascii_val in decrypted_ascii)return decrypted_string
code = ['\x1f', '\x12', '\x1d', '(', '0', '4', '\x01', '\x06', '\x14', '4',',', '\x1b', 'U', '?', 'o', '6', '*', ':', '\x01', 'D', ';', '%', '\x13']
decrypted_result = decrypt_code(code)
print(decrypted_result)

[广东省大学生攻防大赛 2022]pyre

下载发现是一个压缩包,解压发现是一个py.exe文件那么直接转pyc提取py代码

def reverse_check():c = [144, 163, 158, 177, 121, 39, 58, 58, 91, 111, 25, 158, 72, 53, 152,78, 171, 12, 53, 105, 45, 12, 12, 53, 12, 171, 111, 91, 53,152, 105, 45, 152, 144, 39, 171, 45, 91, 78, 45, 158, 8]b = 179# 逆向计算每个字符的ASCII码值possible_chars = []for i in range(len(c)):found = Falsefor j in range(128):  # 假设字符的ASCII码值范围是0到127if (j * 33 % b) == c[i]:possible_chars.append(j)found = Truebreakif not found:print("无法根据给定规则还原出某些字符,可能加密规则有误或数据有问题。")return# 将还原出的ASCII码值转换为字符并拼接成字符串possible_flag = ''.join(chr(char_code) for char_code in possible_chars)return possible_flagreversed_result = reverse_check()
if reversed_result:print("可能的flag:", reversed_result)

相关文章:

NSSCTF-做题笔记

[羊城杯 2020]easyre 查壳&#xff0c;无壳&#xff0c;64位&#xff0c;ida打开 encode_one encode_tow encode_three 那么我们开始一步一步解密&#xff0c;从最外层开始 def decode_three(encrypted_str):decrypted_str ""for char in encrypted_str:char_code …...

【小白学机器学习35】数据表:整洁数据表,交叉表/列联表,以及两者转化pd.pivot_table()

目录 1 虽然这是个很基础的知识&#xff0c;但是我觉得有必要记录下 2 整洁数据表 3 交叉数据表的2种形式 3.0 交叉表的名字 3.1 2维的交叉表 3.2 用2维表现3维的 3.3 上述内容&#xff0c;具体的markdown文本 4 交叉数据表 4.1 交叉数据表并不整洁 4.2 但是交叉表也…...

springboot旅游管理系统的设计与实现

springboot旅游管理系统的设计与实现 如需源码pc端&#x1f449;&#x1f449;&#x1f449;资源 手机端&#x1f449;&#x1f449;&#x1f449;资源 摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于…...

k8s 1.28 聚合层部署信息记录

–requestheader-client-ca-file –requestheader-allowed-namesfront-proxy-client –requestheader-extra-headers-prefixX-Remote-Extra- –requestheader-group-headersX-Remote-Group –requestheader-username-headersX-Remote-User –proxy-client-cert-file –proxy-cl…...

自由学习记录(25)

只要有修改&#xff0c;子表就不用元表的参数了&#xff0c;用自己的参数&#xff08;只不过和元表里的那个同名&#xff09; 子表用__index“继承”了父表的值&#xff0c;此时子表仍然是空表 一定是创建这样一个同名的变量在原本空空的子表里&#xff0c; 传参要传具体的变…...

关于函数式接口和编程的解析和案例实战

文章目录 匿名内部类“匿名”在哪里 函数式编程lambda表达式的条件Supplier使用示例 ConsumeracceptandThen使用场景 FunctionalBiFunctionalTriFunctional 匿名内部类 匿名内部类的学习和使用是实现lambda表达式和函数式编程的基础。是想一下&#xff0c;我们在使用接口中的方…...

Linux 僵尸进程和孤儿进程, 进程优先级

僵尸进程 之间在进程状态中了解到了 "僵尸状态". 那么处于僵尸状态的进程就是僵尸进程. 僵尸状态是一种特殊的进程状态, 它表示一个进程已经完成执行, 但其父进程尚未回收其终止状态. "僵尸状态" 的本质就是死亡状态. 如何理解僵尸进程: 举个例子: 一个正…...

爬虫笔记24——纷玩岛自动抢票脚本笔记

纷玩岛自动抢票&#xff0c;协议抢票思路实现 一、获取Authorization凭证二、几个关键的参数三、几个关键的接口获取参数v&#xff0c;这个参数其实可以写死&#xff0c;可忽略通过价位获取演出的参数信息获取观演人信息&#xff0c;账号提前录入即可提交订单接口 先看实现图&a…...

《白帽子讲Web安全》15-16章

《白帽子讲Web安全》15-16章 《白帽子讲Web安全》15章15、Web Server配置安全15.1、Apache安全15.2、Nginx安全15.3、jBoss远程命令执行15.4、Tomcat远程命令执行15.5、HTTP Parameter Pollution15.6、小结 第四篇 互联网公司运营安全《白帽子讲Web安全》16章16、互联网业务安全…...

计算机毕业设计Python+LSTM天气预测系统 AI大模型问答 vue.js 可视化大屏 机器学习 深度学习 Hadoop Spark

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

大语言模型压缩技术;推理优化技术;SparseGPT算法;GPTQ算法

目录 大语言模型落地的成本、效率与效果 模型压缩技术 推理优化技术 SparseGPT算法 GPTQ算法 大语言模型落地的成本、效率与效果 模型压缩技术 模型压缩技术是大语言模型轻量化的关键。介绍了多种模型压缩方法,其中权重量化和模型稀疏化是两种主要的技术。 权重量化:权重…...

Facebook的开源项目解析:推动开发者社区的技术进步

Facebook&#xff0c;作为全球领先的社交平台之一&#xff0c;其在技术领域的创新不仅体现在产品功能的实现上&#xff0c;也积极推动开源社区的发展。开源项目已经成为Facebook技术战略的重要组成部分&#xff0c;通过开源&#xff0c;Facebook不仅加速了技术进步&#xff0c;…...

力扣--LCR 149.彩灯装饰记录I

题目 代码 /** Definition for a binary tree node. public class TreeNode { int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left left;this.right ri…...

Rust SQLx CLI 同步迁移数据库

上文我们介绍了SQLx及SQLite&#xff0c;并介绍了如何使用代码同步迁移数据库。本文介绍Sqlx cli 命令行工具&#xff0c;介绍如何安装、使用&#xff0c;利用其提供的命令实现数据表同步迁移。Java生态中有flyway, sqlx cli 功能类似&#xff0c;利用命令行工具可以和其他语言…...

批量生成不同用户的pdf 文件(html样式)

技术 selenium thymeleaf itextpdf chromedriver 使用thymeleaf 将动态数据替换 使用selenium chromedriver 进行js &#xff0c;css等逻辑运算后渲染视图 使用itextpdf 将html 转为pdf 文件 html模板 <!DOCTYPE html> <html xmlns:th"http://www.thymeleaf…...

混淆零碎知识点

minifyEnabled true //混淆开关 zipAlignEnabled true // Zipalign优化 shrinkResources true // 移除无用的resource文件 &#xff08;必须要混淆开了之后才才可以设置为true&#xff09; proguard-rules.pro 为混淆文件 //整个文件保留 不被混淆 -keep class com.cn…...

排序算法2

排序算法1-CSDN博客 排序算法1中提及的是较为基础(暴力实现&#xff0c;复杂度较高)的排序算法&#xff0c;不适合于数据量较大的场景&#xff0c;比如序列长度达到1e5 接下来以蓝桥另一道题目来理解其它的排序算法 蓝桥3226 蓝桥账户中心 样例 5 1 5 9 3 7 4、快速排序 快速排…...

【Web开发基础学习——corsheaders 应用的理解】

Web开发基础学习系列文章目录 第一章 基础知识学习之corsheaders 应用的理解 文章目录 Web开发基础学习系列文章目录前言一、使用1.1 安装1.2 配置 二、功能总结 前言 corsheaders 是一个 Django 第三方应用&#xff0c;用于处理跨域资源共享 (CORS)。CORS 是一种机制&#x…...

Redis和MySQL之间如何进行数据同步

原因 为什么要进行Redis和MySQL的数据同步&#xff1f; 性能优化&#xff1a;MySQL是关系型数据库&#xff0c;数据读取和存储相对复杂&#xff1b;Redis是内存数据库&#xff0c;读写速度极快&#xff0c;将热点数据存在Redis&#xff0c;可以大大提高系统的访问速度。 数据…...

css:转换

转换 移动 /* transform: translate(100px, 200px); */transform: translateX(100px);transform: translateY(100px); /*一个意思*/ 如果后面跟百分数的意思是移动盒子自身x/y方向长度的百分比&#xff0c;可以用作子绝父相控制盒子水平居中垂直居中 translate里的xy值是相对…...

usearch的内存泄漏自动化测试:在CI中集成泄漏检测

usearch的内存泄漏自动化测试&#xff1a;在CI中集成泄漏检测 【免费下载链接】usearch Fastest Open-Source Search & Clustering engine for Vectors & &#x1f51c; Strings in C, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolf…...

Phi-3-mini-4k-instruct-gguf GPU利用率优化:CUDA核心占用率与吞吐量分析

Phi-3-mini-4k-instruct-gguf GPU利用率优化&#xff1a;CUDA核心占用率与吞吐量分析 1. 模型概述与性能挑战 Phi-3-mini-4k-instruct-gguf是微软推出的轻量级文本生成模型&#xff0c;基于GGUF格式优化&#xff0c;特别适合问答、文本改写和摘要生成等场景。虽然模型体积小巧…...

崖山数据库-谓词没提前过滤优化器BUG

数据库版本崖山23.5.1 SQL> select * from v$version;BANNER VERSION_NUMBER ---------------------------------------------------------------- ----------------- Enterprise Edition Release 23.5.1.1…...

JMeter vs Claude Code:从“约束系统“到“解放系统“的工程设计范式跃迁

当你还在用 JMeter 写线程组的时候&#xff0c;Claude Code 已经在用自然语言编排测试工作流了。这不是工具的迭代&#xff0c;是工程设计范式的代际更替。前言&#xff1a;两代工程设计哲学的碰撞 2026 年&#xff0c;AI 编程工具已经从"代码生成器"进化为"自主…...

视频硬字幕提取终极指南:用本地AI工具10倍提升你的字幕制作效率

视频硬字幕提取终极指南&#xff1a;用本地AI工具10倍提升你的字幕制作效率 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕区域检测…...

Graphviz节点位置控制实战:如何用invis边解决自动排版抽风问题

Graphviz节点位置控制实战&#xff1a;如何用invis边解决自动排版抽风问题 当你用Graphviz自动生成关系图时&#xff0c;是否遇到过节点位置完全不符合预期的情况&#xff1f;比如明明希望节点3出现在节点2的左侧&#xff0c;但生成的图像却总是反着来。这种"抽风"现…...

ClawdBot惊艳效果案例:PaddleOCR识别模糊手写体+LibreTranslate精准输出

ClawdBot惊艳效果案例&#xff1a;PaddleOCR识别模糊手写体LibreTranslate精准输出 1. 项目概述 ClawdBot是一个可以在个人设备上运行的AI助手应用&#xff0c;它使用vllm提供后端模型能力&#xff0c;为用户提供强大的多模态处理功能。这个应用特别适合需要处理文字识别和翻…...

告别Transformer的O(n²)烦恼:手把手带你用Mamba-2.0搭建一个长文本摘要模型

突破长文本处理瓶颈&#xff1a;基于Mamba-2.0的高效摘要系统实战指南 在当今信息爆炸的时代&#xff0c;我们每天都被海量文本内容包围——从学术论文、技术文档到商业报告&#xff0c;这些长文本的有效处理已成为知识工作者面临的核心挑战。传统基于Transformer的摘要系统虽然…...

DeEAR语音情感三维建模:如何用DeEAR输出可量化的Arousal-Nature-Prosody指标

DeEAR语音情感三维建模&#xff1a;如何用DeEAR输出可量化的Arousal-Nature-Prosody指标 1. 语音情感分析的新维度 传统语音情感识别系统通常只能识别"喜怒哀乐"等基础情绪&#xff0c;而DeEAR(Deep Emotional Expressiveness Recognition)系统通过wav2vec2深度学习…...

别再试图让 Agent 适应你的代码库,而是让代码库和流程适应 Agent。AI Coding Agent 时代,工程师不再是“码农”?Harness Engineering 实战 playbook

AI Coding Agent 时代&#xff0c;工程师不再是“码农”&#xff1f;Harness Engineering 实战 playbook 最近刷到 OpenAI 内部大动作&#xff1a;Greg Brockman 发帖说&#xff0c;他们工程师的工作从去年 12 月开始彻底变了。以前用 Codex 写单元测试&#xff0c;现在 Agent…...