[Buuctf] [MRCTF2020]Transform

在这里插入图片描述

1.查壳

在这里插入图片描述
64位exe文件,没有壳

2.用64位IDA打开

找到主函数,F5查看伪代码
在这里插入图片描述
从后往前看,有一个判断语句,是两个数组进行比较的,我们双击byte_40F0E0查看里面的内容
在这里插入图片描述
所以能够推出byte_414040的内容,byte_414040是加密后的数据,在循环里能够逆出原来的Str,Str就是我们要拿到的flag
我们双击dword_40F040,也能看到其中的数据

在这里插入图片描述
这里最后出现的8 dup(0)并不是数据8,而是有8个0,这个8当时困扰了我好长时间
有了数据,直接上脚本

byte_40f0e0=[0x67, 0x79, 0x7B, 0x7F, 0x75, 0x2B, 0x3C, 0x52, 0x53, 0x79,0x57, 0x5E, 0x5D, 0x42, 0x7B, 0x2D, 0x2A, 0x66, 0x42, 0x7E,0x4C, 0x57, 0x79, 0x41, 0x6B, 0x7E, 0x65, 0x3C, 0x5C, 0x45,0x6F, 0x62, 0x4D]
dword_40F040=[9, 0x0A, 0x0F, 0x17, 7, 0x18, 0x0C, 6, 1, 0x10, 3, 0x11, 0x20, 0x1D, 0x0B, 0x1E, 0x1B, 0x16, 4, 0x0D, 0x13, 0x14,0x15, 2, 0x19, 5, 0x1F, 8, 0x12, 0x1A, 0x1C, 0x0E,0]
Str=[]
for i in range(0,33):Str.append(0)
for i in range(0,33):byte_40f0e0[i]=byte_40f0e0[i]^dword_40F040[i]Str[dword_40F040[i]]=byte_40f0e0[i]
flag=''
for i in range(0,len(Str)):flag+=chr(Str[i])
print(flag)
>>>MRCTF{Tr4nsp0sltiON_Clph3r_1s_3z}

flag{Tr4nsp0sltiON_Clph3r_1s_3z}
提交,成功!!!

补充

LOWORD, HIWORD, LOBYTE, HIBYTE的解释
int 类型大小正常为4Byte
以小端序来看 0x12345678在内存中的存储为

0x78 0x56 0x34 0x12

LOWORD 5678
HIWORD 1234
LOBYTE 78
HIBYTE 56

dup
dup是汇编操作符
在汇编语言中同db,dw,dd等一样,也是汇编器处理的符号,他是同db、dw,dd等数据定义的伪指令配合使用,用来进行数据的重复

db 重复的次数 dup (重复的字节性数据)
dw 重复的次数 dup (重复的字型数据)
dd 重复的次数 dup (重复的双字性数据)

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

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

相关文章

音频库及分析软件介绍

搞音频的兄弟必须要看一下的,俗话说,工欲善其事必先利其器,好的音频分析软件,对于音频分析工程师来讲,可谓是非常重要的,下面由小编介绍一下:

opengl 学习(一)-----创建窗口

创建窗口 分类opengl 学习(一)-----创建窗口效果解析教程补充 分类 c opengl opengl 学习(一)-----创建窗口 demo: #include "glad/glad.h" #include "glfw3.h" #include <iostream> #include <cmath> #include <vector>using names…

数据结构与算法-线性查找

引言 在计算机科学领域&#xff0c;数据结构和算法是构建高效软件系统的核心要素。今天我们将聚焦于最基础且广泛应用的一种查找算法——线性查找&#xff0c;并探讨其原理、实现步骤以及实际应用场景。 一、什么是线性查找&#xff1f; 线性查找&#xff08;Linear Search&am…

QT6.6 android开发环境搭建

一.目标 本文目的为实现在QT6.6下搭建android开发环境&#xff0c;可以实现QT6.6开发的QT程序&#xff08;widget及qml工程&#xff09;部署到android设备中。 二.环境安装 1.QT6.6环境安装 &#xff08;1&#xff09;在线安装器下载&#xff1a; https://download.qt.io/a…

redis最新版本在Windows系统上的安装

一、说明 这次安装操作主要是根据redis官网说明&#xff0c;一步步安装下来的&#xff0c;英语比较好的同学&#xff0c;可以直接看文章底部的超链接1&#xff0c;跳到官网按步操作即可。 目前redis的最新稳定版本为redis7.2。 二、Windows环境改造 Redis在Windows上不被官方…

实战:循环神经网络与文本内容情感分类

在传统的神经网络模型中&#xff0c;是从输入层到隐含层再到输出层&#xff0c;层与层之间是全连接的&#xff0c;每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能为力。例如&#xff0c;你要预测句子的下一个单词是什么&#xff0c;一般需要用到前面的单…

Elemenu中el-table中使用el-popover选中关闭无效解决办法

主要是技术太菜,没找到原因,一点点才找到这个办法解决 因为在el-table-column里,因为是多行,使用trigger"manual" 时,用v-model"visible"来控制时,控件找不到这个值,才换成trigger"click" 先找到弹出关闭事件,再找元素的属性 右键>审核元素…

关于比特币的AI对话

【ChatGPT】 比特币源码开源吗&#xff1f; 是的&#xff0c;比特币的源码是开源的。比特币项目是在MIT许可证下发布的&#xff0c;这意味着任何人都可以查看、修改、贡献和分发代码。比特币的源码托管在GitHub上&#xff0c;可以通过下面的链接进行访问&#xff1a; https://g…

【深度优先】【图论】【C++算法】2045. 到达目的地的第二短时间

作者推荐 视频算法专题 LeetCode2045. 到达目的地的第二短时间 城市用一个 双向连通 图表示&#xff0c;图中有 n 个节点&#xff0c;从 1 到 n 编号&#xff08;包含 1 和 n&#xff09;。图中的边用一个二维整数数组 edges 表示&#xff0c;其中每个 edges[i] [ui, vi] 表…

EVE-NG桥接虚拟网卡实现与虚拟机通讯

一、知识补充 1、VMware网络连接 在VM中&#xff0c;给我们提供了以下几种连接网络的模式 桥接模式&#xff1a;直接联机物理网络NAT模式&#xff1a;用于共享主机的IP地址仅主机模式&#xff1a;与主机共享的专用网络自定义&#xff1a;特定虚拟网络LAN区段 特别注意的是&am…

【计算机系统】2.进程管理

【计算机系统】2.进程管理 这个章节十分的重要&#xff0c;作业也要好好做&#xff0c;因为我学的是后端&#xff0c;学计算机进程的处理对于搞并发来说十分有用。 提出问题 6、试从动态性、并发性和独立性上比较进程和程序。19、为什么要在OS中引入线程?A.请用信号量解决以下…

NineData与OceanBase完成产品兼容认证,共筑企业级数据库新生态

近日&#xff0c;云原生智能数据管理平台 NineData 和北京奥星贝斯科技有限公司的 OceanBase 数据库完成产品兼容互认证。经过严格的联合测试&#xff0c;双方软件完全相互兼容、功能完善、整体运行稳定且性能表现优异。 此次 NineData 与 OceanBase 完成产品兼容认证&#xf…

【你也能从零基础学会网站开发】Web建站之HTML+CSS入门篇 传统布局和Web标准布局的区别

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 传统布局与…

【机器学习】包裹式特征选择之基于遗传算法的特征选择

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

微信小程序开发系列(二十二)·wxml语法·双向数据绑定model:的用法

目录 1. 单向数据绑定 2. 双向数据绑定 3. 代码 在 WXML 中&#xff0c;普通属性的绑定是单向的&#xff0c;例如&#xff1a;<input value"((value))"/> 如果希望用户输入数据的同时改变 data 中的数据&#xff0c;可以借助简易双向绑定机制。在对应属性…

STM32day2

1.思维导图 个人暂时的学后感&#xff0c;不一定对&#xff0c;没什么东西&#xff0c;为做项目奔波中。。。1.使用ADC采样光敏电阻数值&#xff0c;如何根据这个数值调节LED灯亮度。 while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */adc_val HAL_ADC_GetValue(&a…

开源分子对接程序rDock使用方法(1)-Docking in 3 steps

欢迎浏览我的CSND博客&#xff01; Blockbuater_drug …点击进入 文章目录 前言一、Docking in 3 steps 标准对接rDock 的基本对接步骤及注意事项 二、 三步对接案例Step 1. 结构文件准备Step 2. 产生对接位点Step 3. 运行分子对接3.1 检查输入文件3.2 测试-只进行打分3.3 运行…

【数据结构】二、线性表:6.顺序表和链表的对比不同(从数据结构三要素讨论:逻辑结构、物理结构(存储结构)、数据运算(基本操作))

文章目录 6.对比&#xff1a;顺序表&链表6.1逻辑结构6.2物理结构&#xff08;存储结构&#xff09;6.2.1顺序表6.2.2链表 6.3数据运算&#xff08;基本操作&#xff09;6.3.1初始化6.3.2销毁表6.3.3插入、删除6.3.4查找 6.对比&#xff1a;顺序表&链表 6.1逻辑结构 顺…

【短时交通流量预测】基于小波神经网络WNN

课题名称&#xff1a;基于小波神经网络的短时交通流量预测 版本时间&#xff1a;2023-04-27 代码获取方式&#xff1a;QQ&#xff1a;491052175 或者 私聊博主获取 模型简介&#xff1a; 城市交通路网中交通路段上某时刻的交通流量与本路段前几个时段的交通流量有关&#x…

【嵌入式】嵌入式系统稳定性建设:静态代码扫描的稳定性提升术

1. 概述 在嵌入式系统开发过程中&#xff0c;代码的稳定性和可靠性至关重要。静态代码扫描工具作为一种自动化的代码质量检查手段&#xff0c;能够帮助开发者在编译前发现潜在的缺陷和错误&#xff0c;从而增强系统的稳定性。本文将介绍如何在嵌入式C/C开发中使用静态代码扫描…