第一次做逆向

news2025/5/18 5:09:43

题目来源:ctf.show

1、下载附件,发现一个exe和一个txt文件

看看病毒加没加壳,发现没加那就直接放IDA

放到IDA找到main主函数,按F5反编译工具就把他还原成类似C语言的代码

然后我们看逻辑,将flag.txt文件的内容进行加密处理,并将结果写入enflag.txt文件,所以上面那两个文件enflag是被加密过的

 继续看这段代码,输入的是Str,输入Str这个值要干什么不知道,进去看看

发现这是从sub_401A70里面返回,然后进去看看具体做了什么

看不懂就扔豆包里看看代码具体实现什么功能:

  • 输入处理

    • 接收用户输入的字符串 Str(例如密码或 flag)。
    • 获取 Str 的长度,用于后续循环处理。
  • 加密转换

    • 异或操作:对输入字符串 Str 的每个字符与固定值 0x1F(十进制 31)进行异或运算。
    • 累加修改:将异或结果累加到另一个字符串 Str1 的对应位置上(Str1[i] += Str[i] ^ 0x1F)。
  • 结果验证

    • 将处理后的 Str1 与预设的目标字符串 "DH~mqqvqxB^||zll@Jq~jkwpmvez{" 进行比较。
    • 若匹配成功,输出正确信息(如 Correct!);否则输出错误信息(Error!)。

所以黄色的那段字符串就是密钥,我们写个脚本给他解回去

出来这么一段字符串,然后我们得返回去看他之后有干了什么

 其实看到这就能猜出来是个加密操作了,str是密钥,v13是一开始写入flag.txt里的内容,v12是将v13加密之后写入enflag.txt的内容,v15和v14都没有用,我们继续点进去看

发现返回sub_4014E0这个函数,对应着刚才的值a1,a4,a5

 看黄色那段,用到的函数就有sub_4010EB这个函数

看这段,RC4加密,前三段强特征(可以搜一下RC4加密)

知道是RC4加密我们拿厨师解一下

拿到flag

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

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

相关文章

【Linux网络】传输层协议TCP

TCP协议 TCP全称为"传输控制协议(TransmissionControl Protocol"). 人如其名, 要对数据的传输进行一个详细的控制; TCP协议段格式 源、目的端口号:表示数据从哪个进程来,到哪个进程去。 32位序号、确认序号 4位TCP报头长度:表示该TCP头部有…

AAAI-2025 | 中科院无人机导航新突破!FELA:基于细粒度对齐的无人机视觉对话导航

作者:Yifei Su, Dong An, Kehan Chen, Weichen Yu, Baiyang Ning, Yonggen Ling, Yan Huang, Liang Wang 单位:中国科学院大学人工智能学院,中科院自动化研究所模式识别与智能系统实验室,穆罕默德本扎耶德人工智能大学&#xff0…

排序算法之基础排序:冒泡,选择,插入排序详解

排序算法之基础排序:冒泡、选择、插入排序详解 前言一、冒泡排序(Bubble Sort)1.1 算法原理1.2 代码实现(Python)1.3 性能分析 二、选择排序(Selection Sort)2.1 算法原理2.2 代码实现&#xff…

Linux常用命令42——tar压缩和解压缩文件

在使用Linux或macOS日常开发中,熟悉一些基本的命令有助于提高工作效率,tar 是 Linux 和 Unix 系统中用于归档文件和目录的强大命令行工具。tar 名字来自 "tape archive"(磁带归档),最初用于将文件打包到磁带…

网络协议分析 实验七 FTP、HTTP、DHCP

文章目录 实验7.1 FTP协议练习二 使用浏览器登入FTP练习三 在窗口模式下,上传/下传数据文件实验7.2 HTTP(Hyper Text Transfer Protocol)练习二 页面提交练习三 访问比较复杂的主页实验7.3 DHCP(Dynamic Host Configuration Protocol) 实验7.1 FTP协议 dir LIST&…

HTML 表格与div深度解析区别及常见误区

一、HTML<div>元素详解 <div>是HTML中最基本的块级容器元素&#xff0c;本身没有语义&#xff0c;主要用于组织和布局页面内容。以下是其核心用法&#xff1a; 1. 基础结构与特性 <div><!-内部可包含任意HTML元素 --><h2>标题</h2><p…

linux-进程信号的产生

Linux中的进程信号&#xff08;signal&#xff09;是一种用于进程间通信或向进程传递异步事件通知的机制。信号是一种软中断&#xff0c;用于通知进程某个事件的发生&#xff0c;如错误、终止请求、计时器到期等。 1. 信号的基本概念 - 信号&#xff08;Signal&#xff09;&am…

内容中台重构企业知识管理路径

智能元数据驱动知识治理 现代企业知识管理的核心挑战在于海量非结构化数据的有效治理。通过智能元数据分类引擎&#xff0c;系统可自动识别文档属性并生成多维标签体系&#xff0c;例如将技术手册按产品版本、功能模块、适用场景进行动态标注。这种动态元数据框架不仅支持跨部…

基于Spring Boot+Layui构建企业级电子招投标系统实战指南

一、引言&#xff1a;重塑招投标管理新范式 在数字经济浪潮下&#xff0c;传统招投标模式面临效率低、透明度不足、流程冗长等痛点。本文将以Spring Boot技术生态为核心&#xff0c;融合Mybatis持久层框架、Redis高性能缓存及Layui前端解决方案&#xff0c;构建一个覆盖招标代理…

Kali安装详细图文安装教程(文章内附有镜像文件连接提供下载)

Kali镜像文件百度网盘&#xff1a;通过网盘分享的文件&#xff1a;kali-linux-2024.2-installer-amd64.iso 链接: https://pan.baidu.com/s/1MfCXi9KrFDqfyYPqK5nbKQ?pwdSTOP 提取码: STOP --来自百度网盘超级会员v5的分享 1.下载好镜像文件后&#xff0c;我们打开我们的VMwa…

2.4GHz无线芯片核心技术解析与典型应用

2.4G芯片作为工作在2.4GHz ISM频段的无线通信集成电路&#xff0c;主要面向短距离数据传输应用。这类芯片具有以下技术特点&#xff1a; 多协议支持 兼容蓝牙、Wi-Fi和ZigBee等主流协议 采用SDR技术实现协议灵活切换 适用于智能家居和物联网设备 低功耗特性 采用休眠唤醒和动态…

Chrome代理IP配置教程常见方式附问题解答

在网络隐私保护和跨境业务场景中&#xff0c;为浏览器配置代理IP已成为刚需。无论是访问地域限制内容、保障数据安全&#xff0c;还是管理多账号业务&#xff0c;掌握Chrome代理配置技巧都至关重要。本文详解三种主流代理设置方式&#xff0c;助你快速实现精准流量管控。 方式一…

Linux——UDP/TCP协议理论

1. UDP协议 1.1 UDP协议格式 系统内的UDP协议结构体&#xff1a; 注1&#xff1a;UDP协议的报头大小是确定的&#xff0c;为8字节 注2&#xff1a;可以通过报头中&#xff0c;UDP长度将UDP协议的报头和有效载荷分离&#xff0c;有效载荷将存储到接收缓冲区中等待上层解析。 注…

Go语言爬虫系列教程(一) 爬虫基础入门

Go爬虫基础入门 1. 网络爬虫概念介绍 1.1 什么是网络爬虫 网络爬虫&#xff08;Web Crawler&#xff09;&#xff0c;又称网页蜘蛛、网络机器人&#xff0c;是一种按照一定规则自动抓取互联网信息的程序或脚本。其核心功能是模拟人类浏览网页的行为&#xff0c;通过发送网络…

PromptIDE提示词开发工具支持定向优化啦

老粉们都知道&#xff0c;PromptIDE 是一款专门解决 AI 提示词生成和优化的工具&#xff0c;让 AI 真正听懂你在说什么&#xff0c;生成更符合预期的结果&#xff01; 我们这次更新主要争对提示词优化这一块&#xff0c;推出了不同提示词优化方向&#xff0c;贴近用户需求。 举…

致远OA人事标准模块功能简介【附应用包百度网盘下载地址,官方售价4W】

人事管理应用&#xff0c;围绕岗位配置、招聘管理、员工档案、入转调离、员工自助申报、数据信息管理等人力资源管理关键业务&#xff0c;构建全员可参与的人事工作协同平台&#xff0c;让人事从繁杂琐碎的事务中解脱出来&#xff0c;高质高效工作&#xff0c;让管理层清楚掌握…

Python-简单网络编程 I

目录 一、UDP 网络程序1. 通信结构图2. Python 代码实现1&#xff09;服务器端2&#xff09;客户端 3. 注意 二、TCP 网络程序1. 通信结构图2. Python 代码实现1&#xff09;服务器端2&#xff09;客户端 3. 注意 三、文件下载1. PyCharm 程序传参1&#xff09;图形化界面传参2…

鸿蒙北向应用开发: deveco5.0 创建开源鸿蒙项目

本地已经安装deveco5.0 使用5.0创建开源鸿蒙项目 文件->新建->新建项目 直接创建空项目,一路默认 next 直接编译项目 直接连接开源鸿蒙5.0开发板编译会提示 compatibleSdkVersion and releaseType of the app do not match the apiVersion and releaseType on the dev…

国产linux系统(银河麒麟,统信uos)使用 PageOffice自定义Word模版中的数据区域

​ PageOffice 国产版 &#xff1a;支持信创系统&#xff0c;支持银河麒麟V10和统信UOS&#xff0c;支持X86&#xff08;intel、兆芯、海光等&#xff09;、ARM&#xff08;飞腾、鲲鹏、麒麟等&#xff09;、龙芯&#xff08;Mips、LoogArch&#xff09;芯片架构。 在实际的Wor…

基于基金净值百分位的交易策略

策略来源&#xff1a;睿思量化小程序 基金净值百分位&#xff0c;是衡量当前基金净值在过去一段时间内的相对位置。以近一年为例&#xff0c;若某基金净值百分位为30%&#xff0c;意味着过去一年中有30%的时间基金净值低于当前值&#xff0c;70%的时间高于当前值。这一指标犹如…