NewStarCTF2023 Reverse Week3 EzDLL WP
分析




这里调用了z3h.dll中的encrypt函数。
用ida64载入z3h.dll
直接搜索encrypt

找到了一个XTEA加密。接着回去找key和密文。


发现key

这里用了个调试状态来判断是否正确,v7=1,要v7=1才会输出Right,即程序要处于飞调试状态。
可以知道 这俩个字节数组要相同,这样v9才会=0;

找到密文数据。。
EXP
#include <stdio.h>
void decrypt(unsigned int *v, unsigned int * key){unsigned int v0 = v[0],v1 = v[1], sum = 0, delta = 0x3B9AC9FF;sum = 1 + delta * 33;for (size_t i = 0; i < 33; i++){v1 -= (((v0 << 3) ^ (v0 >> 4)) + v0) ^ (sum + key[(sum >> 11 ) & 3]);sum -= delta;v0 -= (((v1 << 3) ^ (v1 >> 4)) + v1) ^ (sum + key[(sum & 3)]);}v[0] = v0;v[1] = v1;
}
unsigned char a[41] = { 0x82, 0x43, 0xA3, 0x89, 0x6F, 0xBA, 0x80, 0xC8, 0xF8, 0xB4, 0x56, 0xBD, 0xB3, 0x41, 0xB2, 0x8D, 0xDA, 0x44, 0x0E, 0x04, 0x03, 0x2E, 0x38, 0xDE, 0x12, 0x54, 0xAD, 0x89, 0x95, 0x30, 0x63, 0x21, 0xDF, 0x0D, 0x94, 0x11, 0xDC, 0xB2, 0xD0, 0x11};
unsigned int key[] = {5,20,13,14};signed main(){unsigned int *t = (unsigned int *)a;for (int i = 0; i < 9; i += 2){decrypt(t+i,key);}for (int i = 0; i < 10; i++){printf("%c%c%c%c", *((char *)&t[i] + 0), *((char *)&t[i] + 1), *((char *)&t[i] + 2), *((char *)&t[i] + 3));}
}
相关文章:
NewStarCTF2023 Reverse Week3 EzDLL WP
分析 这里调用了z3h.dll中的encrypt函数。 用ida64载入z3h.dll 直接搜索encrypt 找到了一个XTEA加密。接着回去找key和密文。 发现key 这里用了个调试状态来判断是否正确,v71,要v7=1才会输出Right,即程序要处于飞调试状态。 可…...
软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】
软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】 课本里章节里所有蓝色字体的思维导图...
php-cli
//运行index.php ./php index.php//启动php内置服务器 ./php -S 0.0.0.0:8080//启动内置服务在后台运行,日志输出到本目录下的server.log nohup ./php -S 0.0.0.0:8080 -t . > server.log 2>&1 &# 查找 PHP 进程 ps aux | grep "php -S 0.0.0.0:…...
[C/C++] 数据结构 LeetCode:用队列实现栈
题目描述: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元…...
ESP32网络开发实例-物联网声污染监测系统
物联网声污染监测系统 文章目录 物联网声污染监测系统1、KY-038 声音传感器模块2、软件准备3、硬件准备4、代码实现在本文中,我们将使用 ESP32、声音模块和 Blynk 应用程序创建一个基于物联网的声音污染监测系统。 我们将使用 KY-038 麦克风传感器以分贝为单位检测声音并在 OL…...
Unexpected error from cudaGetDeviceCount 错误解决
Unexpected error from cudaGetDeviceCount 错误解决 0. 背景1. 解决方法 0. 背景 新配置了1台服务器,有4张4090显卡。 在 wsl-ubuntu 里执行 python -c “import torch;print(torch.cuda.is_available());” 命令时,会报以下错误。 /root/miniconda3…...
目标检测—YOLO系列(二 ) 全面解读复现YOLOv1 PyTorch
精读论文 前言 从这篇开始,我们将进入YOLO的学习。YOLO是目前比较流行的目标检测算法,速度快且结构简单,其他的目标检测算法如RCNN系列,以后有时间的话再介绍。 本文主要介绍的是YOLOV1,这是由以Joseph Redmon为首的…...
使用C#插件Quartz.Net定时执行CMD任务工具2
目录 创建简易控制台定时任务步骤完整程序 创建简易控制台定时任务 创建winform的可以看:https://blog.csdn.net/wayhb/article/details/134279205 步骤 创建控制台程序 使用vs2019新建项目,控制台程序,使用.net4.7.2项目右键(…...
Java实现两数之和-算法
题意 给出一个数组和一个目标值,让你在该数组中找出和为目标值的两个数,并且这两个数在数组中的下标不同。 示例 输入: nums [2,7,11,15], target 9 输出: [0,1] 解释: 因为 nums[0] nums[1] 9 ,返回 […...
leetcode刷题日记:190. Reverse Bits(颠倒二进制位)和191. Number of 1 Bits( 位1的个数)
190. Reverse Bits(颠倒二进制位) 题目要求我们将一个数的二进制位进行颠倒,画出图示如下(以8位二进制为例): 显然对于这种问题我们需要用到位操作,我们需要将原数的每一位取出来然后颠倒之后放进另一个数。 我们需要…...
Node.js之fs文件系统模块
什么是fs文件系统模块?又如何使用呢?让我为大家介绍一下! fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求 注意:如果要在JavaScript代码中,…...
「Verilog学习笔记」使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器
专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 当EI10时、U1禁止编码,其输出端Y为000,GS1、EO1均为0。同时EO1使EI00,U0也禁止编码,其输出端及GS0、EO0均为0。由电路…...
C/C++---------------LeetCode第LCR. 024.反转链表
反转链表 题目及要求双指针 题目及要求 双指针 思路:遍历链表,并在访问各节点时修改 next 引用指向,首先,检查链表是否为空或者只有一个节点,如果是的话直接返回原始的头节点,然后使用三个指针来迭代整个…...
最长回文子序列 递归与动态规划
public static int longestPalindromeSubseq(String s) { char[] chars s.toCharArray(); int n chars.length; int[][] dp new int[n][n]; //先约束边界 dp[L][R] dp[n-1][n-1] 1; //约束的下边界,那就从上边界开始,直至下边界的前一位 //此处初始化…...
学生邮箱白嫖/免费安装JetBrains全家桶(IDEA/pycharm等) —— 保姆级教程
🧸欢迎来到dream_ready的博客,📜相信您对博主首页也很感兴趣o (ˉ▽ˉ;) 博主首页,更多redis、java等优质好文以及各种保姆级教程等您挖掘! 目录 前言 JetBrains全家桶介绍 申请过程: 获取学…...
67基于matlab图像处理,包括颜色和亮度调整、翻转功能、空间滤波和去噪、频域滤波和去噪、噪声添加,形态学操作、边缘检测及示波器集成的GUI图像处理。
基于matlab图像处理,包括颜色和亮度调整、翻转功能、空间滤波和去噪、频域滤波和去噪、噪声添加,形态学操作、边缘检测及示波器集成的GUI图像处理。数据可更换自己的,程序已调通,可直接运行。 67 matlab图像处理图像降噪 (xiaohon…...
【精选】项目管理工具——Maven详解
Maven简介 Maven是一个项目管理工具。它可以帮助程序员构建工程,管理jar包,编译代码,完成测试,项目打包等等。 Maven工具是基于POM(Project Object Model,项目对象模型)实现的。在Maven的管理下…...
DVWA - 4
文章目录 JavaScriptlowmedium JavaScript 前端攻击。token 不能由前端生成,js 很容易被攻击者获取,从而伪造 token。同样其他重要的参数也不能由前端生成。 low 不修改输入,点击提交报错: 根据提示改成 success,还是报错&…...
gRPC之grpc resolver
title: gRPC之grpc resolver(二十) date: 2023-01-27 top: 0 categories: GogRPC tags:GogRPC description: | 1、grpc resolver 当我们的服务刚刚成型时,可能一个服务只有一台实例,这时候client要建立grpc连接很简单,只需要指定server 的…...
NI Package Manager创建程序包
NI Package Manager创建程序包 要使用PackageManager创建程序包,即把相关的组件都放在一个目录下,使用命令行创建程序包。 程序包是一个压缩文件,包含要安装到目标位置的所有文件。Package Manager创建的程序包扩展名为.nipkg。可以使用Pack…...
Stable Diffusion v1.5实时生成系统:5分钟搭建,实时查看图片生成全过程
Stable Diffusion v1.5实时生成系统:5分钟搭建,实时查看图片生成全过程 1. 项目介绍:打破黑盒的生成体验 你是否曾经在使用Stable Diffusion时感到困惑?输入提示词后,只能盯着进度条干等,不知道模型内部发…...
Lychee Rerank MM效果展示:工业零件图+技术参数Query在BOM库中的高精度召回重排
Lychee Rerank MM效果展示:工业零件图技术参数Query在BOM库中的高精度召回重排 1. 多模态重排序的技术突破 在工业制造和供应链管理领域,物料清单(BOM)库中存储着成千上万的零件信息和相关技术文档。传统的文本检索系统在面对&q…...
新手避坑指南:如何用MATLAB快速实现EMD/VMD信号分解(含模态分量质量对比)
MATLAB信号分解实战:EMD与VMD算法从入门到调优 信号分解技术作为非平稳信号分析的核心工具,在生物医学、机械故障诊断等领域具有不可替代的价值。本文将带您从零开始掌握MATLAB平台上两种主流算法——经验模态分解(EMD)与变分模态分解(VMD)的完整实现流程…...
策略路由选路进阶:用MQC实现双ISP链路智能负载均衡(附ENSP实验包)
企业级双ISP链路智能负载均衡实战:基于MQC的精细化流量调度 当企业网络同时接入电信和联通双ISP链路时,如何让关键业务流量自动选择最优路径?传统静态路由只能实现简单的链路备份,而基于MQC(Modular QoS CLI࿰…...
OpenClaw成本优化:Qwen2.5-VL-7B自部署降低图文任务Token消耗
OpenClaw成本优化:Qwen2.5-VL-7B自部署降低图文任务Token消耗 1. 图文任务Token消耗的痛点 作为长期使用OpenClaw处理图文任务的开发者,我最初依赖云端API完成所有操作。每次执行包含图片识别的任务时,Token消耗就像开了闸的水龙头——一个…...
避坑指南:ERA5数据GRIB转Hysplit/MeteInfo格式,这些细节错了白算一周
ERA5气象数据格式转换实战:从GRIB到Hysplit/MeteInfo的高效避坑手册 当你在深夜盯着屏幕前运行了72小时的后向轨迹计算突然报错终止,或是发现转换后的数据维度与模型要求完全不匹配时,那种绝望感每个气象科研人员都深有体会。本文源自三个实验…...
IMX6ULL开发环境搭建:用静态IP打通Ubuntu虚拟机与开发板的任督二脉(NFS/SFTP前置步骤详解)
IMX6ULL开发环境搭建:用静态IP打通Ubuntu虚拟机与开发板的任督二脉(NFS/SFTP前置步骤详解) 在嵌入式开发中,一个稳定的网络环境往往是提高工作效率的关键。想象一下这样的场景:你刚刚在Ubuntu虚拟机上编译好最新的驱动…...
MicroStation效率倍增:从快捷键到三维建模的进阶实战指南
1. 快捷键系统:从基础到高阶的全面掌握 MicroStation的快捷键系统就像设计师手中的瑞士军刀,熟练使用能让工作效率提升300%以上。我刚开始接触MicroStation时,总是一边画图一边在菜单栏里翻找工具,后来发现老工程师们手指在键盘上…...
GPT-SoVITS V3 API实战:用Python几行代码实现流式语音合成与格式转换
GPT-SoVITS V3 API实战:用Python几行代码实现流式语音合成与格式转换 语音合成技术正在经历一场革命性的变革。从早期机械感十足的TTS系统,到如今能够模仿人类情感起伏的AI语音,技术的进步让合成语音越来越自然。GPT-SoVITS V3作为这一领域的…...
数值进制及其转换
欢迎来到我的软考中级——软件设计师备考合集。这里不只是一份简单的知识点堆砌,而是我在备考征途中,对庞杂知识体系进行深度梳理与内化的结晶。 面对浩瀚的考纲,从计算机组成原理的底层逻辑,到操作系统的进程调度;从数…...
