【实战】文件加密器进行逆向

news2025/1/1 23:23:31

前言

实战可以大大提高自己,学习技术的目的就是能够在实战中运用。

本次实战与实际息息相关,该软件具有加密某文件的功能。

界面还挺好看的,功能很简单,输入文件和PIN(4位)进加解密。

这是被加密的文件

需要将其进行解密,拿到flag

思路

因为PIN是4位,因此可以写一个python脚本,对其进行爆破。

关键在于得出加密的算法,此时就需要我们进行逆向分析了

分析

先尝试进行加密

根据关键词:encrypted 进行定位

发现是我们需要的信息

跟踪进去,发现了花指令

去花指令

发现堆栈不平衡,将所有代码选中,然后C键,重新分析

发现了单指令花指令,无非nop掉即可

从头选到下一个函数开始的位置

按下C键

analyze即可

还是rust编译的

此时就可以分析函数了。处理其他函数也是相同的道理

帮助网安学习,全套资料S信免费领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

初步分析

使用Fincrypto发现了salsa20加密


salsa20:32位字符构成的key,二是随机生成的8位nonce。算法使用key和nonce生成一个2^70长度的序列,并与明文进行异或加密


sub_140073A70

发现main_func就是获取我们的输入的文件内容

sub_140039890

而函数sub_140039890才是关键的加密函数

0x61707865、0x3320646E均为Salsa20算法的固定参数

解密

由于密码只有0000~9999这10000种可能

加密后文件名又是flag.png.enc,所以原文件是个png文件

使用png固有文件头89504E47来判断解密是否成功


  Python
  
  from Cryptodome.Cipher import Salsa20
  
  cipher = open("flag.png.enc", "rb").read()
  for i in range(10000):
  key = str(i).rjust(4, '0').ljust(32, 'x00')
  nonce = b'x24x24x24x24x24x24x24x24'
  sal = Salsa20.new(key=key, nonce=nonce)
  plain = sal.decrypt(cipher)
  if plain.find(b"x89x50x4Ex47")>=0:
  open("flag.png", "wb").write(plain)
  break

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1987870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

经纬恒润荣获小米汽车优秀质量奖!

小米SU7上市已超百天,在品质经过客户严选的同时,产量与交付量屡创新高,6-7月连续两个月交付量均超过10000台。为奖励对小米汽车质量和交付做出卓越贡献的合作伙伴团队及个人,小米向质量表现突出的供应商授予了优秀质量奖。经纬恒润…

第22课 Scratch入门篇:猫咪跑步(超长背景实现方法)

猫咪跑步(超长背景实现方法) 故事背景: 在广阔的草坪上有一只小猫,按下键盘的左右键,小猫不停的奔跑。。。 程序原理: 这个小猫的奔跑,实际是背景的移动,上节课我们通过多个图片直接的切换,今天…

深入理解 RDMA 的软硬件交互机制

作者:羽京 一、前言 随着数据中心的飞速发展,高性能网络不断挑战着带宽与时延的极限,网卡带宽从过去的 10 Gb/s 、25 Gb/s 到如今的 100 Gb/s、200 Gb/s 再到下一代的 400Gb/s 网卡,其发展速度已经远大于 CPU 发展的速度。 为了…

谷歌25亿美金收购Character AI的幕后故事

在科技领域中,并购交易无疑是推动技术发展的重要手段之一。最近,谷歌以25亿美金的对价收购了Character AI,这一交易的方式和细节引起了广泛关注。本文将详细解析谷歌这一奇葩交易方式,探讨其背后的动机和影响。 一、交易背景 1.…

计算机毕业设计Python民宿可视化分析 民宿推荐系统 随机森林预测算法 民宿爬虫 酒店爬虫 大数据毕业设计 Django Vue.js 机器学习 深度学习

《Python民宿可视化与预测系统》开题报告 一、选题背景及研究意义 1.1 选题背景 民宿作为一种新型的住宿方式,近年来在全球范围内迅速崛起,尤其在旅游行业发达的国家和地区更是受到广大游客的青睐。民宿不仅提供了更加个性化和接地气的住宿体验&#…

高校综合管理数据库中有以下几个关系

inner join:理解为“有效连接”,两张表中都有的数据才会显示 left join:理解为“有左显示”,比如on a.fieldb.field,则显示a表中存在的全部数据及a、b中都有的数据,a中有、b中没有的数据以null显示 right j…

智慧水务项目(五)django(drf)+angular 18 配置REST_FRAMEWORK

一、说明 建立了几个文件 二、一步一步来 1、建立json_response.py 继承了 Response, 一共三个函数,成功、详情,错误 from rest_framework.response import Responseclass SuccessResponse(Response):"""标准响应成功的返回…

影响LabVIEW工作效率的因素有哪些

影响LabVIEW工作效率的因素可以分为多个方面,涵盖硬件、软件、开发环境和编程习惯等。以下是一些常见的影响因素: 1. 硬件因素 处理器性能:处理器的速度和核心数量对LabVIEW程序的执行效率有很大影响。 内存大小:足够的内存可以保…

基于各种排序方法的综合比较

一. 各种排序方法总括 二. 时间性能方面 按平均的时间性能来分,时间复杂度为n*log阶的有快速排序,堆排序和并归排序其中以快速方法最好。 时间复杂度为n*n阶的有直接插入排序,冒泡排序和简单选择排序,直接以直接插入排序最优。特…

为什么会出现cmake?

为什么会出现cmake 1、 什么是CMake -- 是一个项目构建工具,其实cmake和makefile是差不多的,只不过cmake更高级,可以跨平台使用,并且使用起来更加灵活,更符合逻辑。 2、为什么会出现cmake? c程序的编译流…

「字符串」详解Trie(字典树|前缀树)并实现对应的功能 / 手撕数据结构(C++)

概述 在浏览器搜索栏里输入几个字,就弹出了以你的输入为开头的一系列句子。浏览器是怎么知道你接下来要输什么的? 来看看字典树干了什么。 字典树是一种高效记录字符串和查找字符串的数据结构。它以每个字符作为一个节点对字符串进行分割记录&#xff0c…

Flink-DataWorks第二部分:数据集成(第58天)

系列文章目录 数据集成 2.1 概述 2.1.1 离线(批量)同步简介 2.1.2 实时同步简介 2.1.3 全增量同步任务简介 2.2 支持的数据源及同步方案 2.3 创建和管理数据源 文章目录 系列文章目录前言2. 数据集成2.1 概述2.1.1 离线(批量)同步…

【文献阅读】DAVE

核心思想 文章的核心思想是提出了一种名为DAVE(Detect-and-Verify Paradigm for Low-Shot Counting)的少样本计数方法。DAVE旨在通过一个新颖的检测和验证范式来提高低样本情况下的对象计数性能。这种方法特别关注在只有少量标注样本(少样本…

OpenAI Gym: Understanding `action_space` notation (spaces.Box)

题意:OpenAI Gym: 理解action_space表示法(spaces.Box) 问题背景: I want to setup an RL agent on the OpenAI CarRacing-v0 environment, but before that I want to understand the action space. In the code on github line…

【Nuxt】Layout 布局和渲染模式

NuxtLayout app.vue <NuxtLayout><NuxtPage/></NuxtLayout>然后默认的布局 需要 写在 ~/layouts/default.vue 下面&#xff0c;其他自定义的布局也在写在 layouts 目录下。 default.vue <template><div class"app-container"><d…

比特币使用ord蚀刻符文---简单笔记

说明 毕竟符文热度过了&#xff0c;今年四月份做的笔记分享出来 蚀刻符文需要先同步完区块数据&#xff0c;和index文件&#xff0c;不然蚀刻会失败&#xff0c;在testnet和signet网络也一样。 创建钱包&#xff08;会输出助记词&#xff09;&#xff1a; ord --bitcoin-da…

【系统架构设计师】二十五、大数据架构设计理论与实践②

目录 四、 Kappa架构 4.1 Kappa架构介绍 4.2 Kappa架构的优缺点 4.3 常见Kappa 架构变形 4.3.1 Kappa 架构 4.3.2 混合分析系统的Kappa 架构 五、Lambda 架构与 Kappa 架构的对比和设计选择 5.1 Lambda架构与Kappa 架构的特性对比 5.2 Lambda架构与Kappa 架构的设计选…

2024最新数据库管理工具 Navicat Premium 简体中文版安装

Navicat Premium 是一款由 PremiumSoft 公司开发的多数据库管理工具。它支持多个数据库系统&#xff0c;包括 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 等&#xff0c;使用户能够在一个平台上管理和操作多种数据库&#xff0c;简化了数据库管理任务…

软考基本介绍

一,基本了解 计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软件考试&#xff09;为国家级考试。 考试设置了27个专业资格&#xff0c;涵盖5个专业领域&#xff0c; 3个级别层次&#xff08;初级、中级、高级&#xff09;。 中国计算机技术职业…

品牌网络维权面临的挑战

在品牌治理渠道的过程中&#xff0c;知识产权的运用至关重要。然而&#xff0c;现实情况却不尽如人意&#xff0c;大量的侵权链接涌现&#xff0c;而下架速度迟缓&#xff0c;致使品牌渠道陷入混乱。店铺侵权背后的利益驱动是低价销售吸引消费者&#xff0c;这不仅损害品牌形象…