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

buuctf-findKey

exe文件

运行发现这个窗口,没有任何消息

32位

进入字符串就发现了flag{

左边红色代表没有F5成功

我们再编译一下(选中红色的全部按p)

LRESULT __stdcall sub_401640(HWND hWndParent, UINT Msg, WPARAM wParam, LPARAM lParam)
{int v5; // eaxsize_t v6; // eaxDWORD v7; // eaxint v8; // eaxint v9; // eaxint v10; // [esp+4Ch] [ebp-400h]UINT v11; // [esp+50h] [ebp-3FCh]CHAR v12[256]; // [esp+54h] [ebp-3F8h] BYREFchar v13[7]; // [esp+154h] [ebp-2F8h] BYREF__int16 v14; // [esp+15Bh] [ebp-2F1h]char v15; // [esp+15Dh] [ebp-2EFh]char Str[253]; // [esp+160h] [ebp-2ECh] BYREF__int16 v17; // [esp+25Dh] [ebp-1EFh]char v18; // [esp+25Fh] [ebp-1EDh]CHAR v19[256]; // [esp+260h] [ebp-1ECh] BYREFCHAR String[4]; // [esp+360h] [ebp-ECh] BYREFint v21; // [esp+364h] [ebp-E8h]__int16 v22; // [esp+368h] [ebp-E4h]CHAR Text[32]; // [esp+36Ch] [ebp-E0h] BYREFstruct tagRECT Rect; // [esp+38Ch] [ebp-C0h] BYREFCHAR Buffer[100]; // [esp+39Ch] [ebp-B0h] BYREFHDC hdc; // [esp+400h] [ebp-4Ch]struct tagPAINTSTRUCT Paint; // [esp+404h] [ebp-48h] BYREFint v28; // [esp+444h] [ebp-8h]int v29; // [esp+448h] [ebp-4h]LoadStringA(hInstance, 0x6Au, Buffer, 100);v11 = Msg;if ( Msg > 0x111 ){if ( v11 == 517 ){if ( strlen((const char *)String1) > 6 )ExitProcess(0);if ( strlen((const char *)String1) ){memset(v19, 0, sizeof(v19));v6 = strlen((const char *)String1);memcpy(v19, String1, v6);v7 = strlen((const char *)String1);sub_40101E(String1, v7, (LPSTR)String1);strcpy(Str, "0kk`d1a`55k222k2a776jbfgd`06cjjb");memset(&Str[33], 0, 0xDCu);v17 = 0;v18 = 0;strcpy(v13, "SS");*(_DWORD *)&v13[3] = 0;v14 = 0;v15 = 0;v8 = strlen(Str);sub_401005(v13, (int)Str, v8);if ( _strcmpi((const char *)String1, Str) ){SetWindowTextA(hWndParent, "flag{}");MessageBoxA(hWndParent, "Are you kidding me?", "^_^", 0);ExitProcess(0);}memcpy(v12, &unk_423030, 0x32u);v9 = strlen(v12);sub_401005(v19, (int)v12, v9);MessageBoxA(hWndParent, v12, 0, 0x32u);}++dword_428D54;}else{if ( v11 != 520 )return DefWindowProcA(hWndParent, Msg, wParam, lParam);if ( dword_428D54 == 16 ){strcpy(String, "ctf");v21 = 0;v22 = 0;SetWindowTextA(hWndParent, String);strcpy(Text, "Are you kidding me?");MessageBoxA(hWndParent, Text, Buffer, 0);}++dword_428D54;}}else{switch ( v11 ){case 0x111u:v29 = (unsigned __int16)wParam;v28 = HIWORD(wParam);v10 = (unsigned __int16)wParam;if ( (unsigned __int16)wParam == 104 ){DialogBoxParamA(hInstance, (LPCSTR)0x67, hWndParent, (DLGPROC)DialogFunc, 0);}else{if ( v10 != 105 )return DefWindowProcA(hWndParent, Msg, wParam, lParam);DestroyWindow(hWndParent);}break;case 2u:PostQuitMessage(0);break;case 0xFu:hdc = BeginPaint(hWndParent, &Paint);GetClientRect(hWndParent, &Rect);v5 = strlen(Buffer);DrawTextA(hdc, Buffer, v5, &Rect, 1u);EndPaint(hWndParent, &Paint);break;default:return DefWindowProcA(hWndParent, Msg, wParam, lParam);}}return 0;
}

win32逆向的关键就是 messagebox 这个函数

弹窗

这两个都是输出kid

我们看中间那个

慢慢跟进就ok了

很简单了逻辑

flag{n0_Zu0_n0_die}

相关文章:

buuctf-findKey

exe文件 运行发现这个窗口,没有任何消息 32位 进入字符串就发现了flag{ 左边红色代表没有F5成功 我们再编译一下(选中红色的全部按p) LRESULT __stdcall sub_401640(HWND hWndParent, UINT Msg, WPARAM wParam, LPARAM lParam) {int v5; // eaxsize_t v6; // eaxDWORD v7; /…...

针对oracle系列数据库慢数据量大的问题

-- 确保索引存在 create index idx_risk_assessment_hazard on risk_assessment_hazard(data_time, perception_id); create index idx_risk_dispose_base_info on risk_dispose_base_info(perception_id); -- 使用并行查询和with子句进行优化 explain plan for with t2 as (se…...

Nginx-Rewrite

1、Rewrite的定义 rewrite功能就是使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。rewrite只能放在 server { }, location { }, if { }中,并且只能对域名后边的除去传递的参数外的字符串起作用。 例如location…...

2024 年 Python 基于 Kimi 智能助手 Moonshot Ai 模型搭建微信机器人(更新中)

注册 Kimi 开放平台 Kimi:https://www.moonshot.cn/ Kimi智能助手是北京月之暗面科技有限公司(Moonshot AI)于2023年10月9日推出的一款人工智能助手,主要为用户提供高效、便捷的信息服务。它具备多项强大功能,包括多…...

关于接口多态,何时使用接口名创建对象?何时使用子类创建对象?

接口创建对象只能创建他的实现类,所以会出现两种创建方式: 1、接口 对象名 new 类名 2、子类对象 对象名 new 类名 举个例子,swimming是一个接口,flog是他的一个实现类,重写了swimming的eat()方法 子类对象 对象名…...

短视频热恋进行时:成都柏煜文化传媒有限公司

短视频热恋进行时:情感与创意的碰撞与融合 在数字时代的浪潮中,短视频以其独特的魅力,成为了当代人表达情感、分享生活的新宠。它如同一个浓缩的时空胶囊,将那些瞬间的美好、感人的故事、创意的火花,封装在短短几十秒…...

springBoot多数据源使用、配置

又参加了一个新的项目,虽然是去年做的项目,拿来复用改造,但是也学到了很多。这个项目会用到其他项目的数据,如果调用他们的接口取数据,我还是觉得太麻烦了。打算直接配置多数据源。 然后去另一个数据库系统中取出数据…...

打破安全设备孤岛,多源威胁检测与响应(XDR)如何构建一体化安全防线

在数字化和信息化迅猛发展的当下,安全设备孤岛现象成为网络安全治理中的一大挑战。在多元化的市场环境中,不同厂商的安全设备因数据格式与系统兼容性的差异,导致信息流通受阻、共享困难,形成孤立的安全防线。 安全设备孤岛现象不仅…...

Android SurfaceFlinger——概述(一)

一、基础介绍 SurfaceFlinger 是 Android 系统中的一个关键组件,负责管理屏幕显示的合成和渲染。 服务角色:SurfaceFlinger 作为一个系统服务独立运行,它不依赖于任何应用程序进程,而是由系统启动并持续运行。窗口管理&#xff1a…...

工业 web4.0,UI 风格令人赞叹

工业 web4.0,UI 风格令人赞叹...

HarmonyOS 角落里的知识 —— 状态管理

一、前言 在探索 HarmonyOS 的过程中,我们发现了许多有趣且实用的功能和特性。有些总是在不经意间或者触类旁通的找到。或者是某些开发痛点。其中,状态管理是ArkUI开发非常核心的一个东西,我们进行了大量的使用和测试遇到了许多奇奇怪怪的问…...

TDengine数据迁移

前言 taosdump 是一个支持从运行中的 TDengine 集群备份数据并将备份的数据恢复到相同或另一个运行中的 TDengine 集群中的工具应用程序。 taosdump 可以用数据库、超级表或普通表作为逻辑数据单元进行备份,也可以对数据库、超级 表和普通表中指定时间段内的数据记录…...

使用ZIP包安装MySQL及配置教程

在本教程中,我们将指导您完成使用ZIP包安装MySQL的过程,并对配置文件进行必要的修改,以及解决可能遇到的问题。本示例以MySQL 5.7.44为例,但步骤同样适用于其他版本如MySQL 8.3.0等。请根据实际需要选择适合的版本下载&#xff1a…...

Java基础入门day64

day64 web项目 数据库设计 在小米商城主页,主要的内容是多种商品类型的展示,分别有手机,智能穿戴,笔记本平板,家电,生活电器,厨房电器,智能家具等大的七个分类,根据这个…...

高德地图轨迹回放/轨迹播放

前言 本篇文章主要介绍高德地图的轨迹回放或播放的实现过程,是基于vue2实现的功能,同时做一些改动也是能够适配vue3的。其中播放条是用的是element UI中的el-slider组件,包括使用到的图标也是element UI自带的。可以实现轨迹的播放、暂停、停…...

像素、像素密度、位图和矢量图

像素、像素密度、位图和矢量图 像素 -- 图像元素pt分辨率ppidpi 点阵图 - bitmap常见的类型 矢量图点阵图 vs 矢量图参考小结 像素、矢量图等概念在前端开发中经常遇到,这里做一个简单的梳理。 像素 – 图像元素 做前端开发的经常遇到它。像素是图像的最小单位&am…...

第二证券股市资讯:昨夜!全球新“股王”诞生

昨晚,英伟达成全球市值榜首公司。 当地时间6月18日,美股三大指数小幅收高,标普500指数与纳指再创前史新高。标普500指数涨0.25%,道指涨0.15%,纳指涨0.03%。 AI热潮推动英伟达大涨,市值逾越微软、苹果&…...

自动水位雨量站:用于水库防汛预警

TH-SW2自动水位雨量站是一种现代化的监测设备,主要用于水库等水域的防汛预警系统。它通过集成水位和雨量监测功能,为水库的管理和调度提供实时、准确的数据支持。 工作原理: 自动水位雨量站通过内置的水位计和雨量计实时监测水库的水位变化和…...

苍穹外卖---新增员工(P16-P20)

一、需求分析和设计 (1)产品原型 一般在做需求分析时,往往都是对照着产品原型进行分析,因为产品原型比较直观,便于我们理解业务。后台系统中可以管理员工信息,通过新增员工来添加后台系统用户。 新增员工…...

Windows10 利用QT搭建SOEM开发环境

文章目录 一. SOEM库简介二. 安装WinPcap三. SOEM(1.4)库安装(1) 编译32位库(2) 编译64位库 四. 运行SOEM示例代码五. WIN10下利用QT构建SOEM开发环境 一. SOEM库简介 SOEM(Scalable Open EtherCAT Master 或 Simple Open EtherCAT Master)是一个开源的…...

构建应用安全防护层:从沙箱隔离到供应链防御实战

1. 项目概述:从“氛围盾”到代码级防护最近在开源社区里,一个名为gomzkov/vibe-shield的项目引起了我的注意。乍一看这个标题,你可能会联想到一些科幻概念,比如“氛围护盾”或者“情绪屏障”。但作为一名长期在网络安全和系统架构…...

开源漏洞情报自动化分诊系统:从数据采集到智能响应的工程实践

1. 项目概述:一个为开源安全情报而生的“智能爪子”如果你和我一样,长期混迹在开源软件和网络安全社区,那你一定对“漏洞情报”这个词不陌生。每天,成千上万的开源项目在更新,新的漏洞(CVE)在发…...

深入理解 C++ 智能指针:原理、实现与最佳实践

智能指针概述智能指针本质上是封装了裸指针的类,通过 RAII(资源获取即初始化)管理资源生命周期。常见智能指针:std::unique_ptr:独占所有权,不能复制,只能移动。std::shared_ptr:共享…...

Go语言轻量级Web框架Copaweb:从设计哲学到实战部署全解析

1. 项目概述:一个轻量级Web应用框架的诞生最近在GitHub上闲逛,发现了一个挺有意思的项目,叫Copaweb,作者是leoalvesousa。乍一看这个名字,可能会联想到“世界杯”或者“奖杯”,但它的实际定位是一个用Go语言…...

2026年AI自动剪辑视频软件怎么选择?5款自动剪辑软件对比

对很多短视频创作者来说,真正耗时的不是拍摄,而是后期剪辑。素材整理、卡点、粗剪、字幕和批量导出,往往会占用大量时间。因此,“AI能不能自动剪辑视频”成为越来越多人在2026年搜索的问题。尤其对于新手、电商运营或内容团队而言…...

开源集成利器OpenClaw:深度连接Bitrix24与外部系统的PHP解决方案

1. 项目概述:一个为Bitrix24量身定制的开源集成利器如果你正在使用Bitrix24,并且对它的某些功能限制感到束手束脚,或者你厌倦了在不同系统间手动搬运数据的繁琐,那么你很可能已经意识到,一个强大的集成工具是多么必要。…...

Mediapipe手势识别踩坑实录:解决Python 3.10+和OpenCV版本兼容性问题

Mediapipe手势识别实战:Python高版本环境兼容性全指南 当你在Python 3.10或更高版本中尝试运行Mediapipe手势识别项目时,可能会遇到各种令人沮丧的错误。从模块导入失败到函数弃用警告,再到依赖冲突,这些问题往往让开发者陷入无休…...

罗博特科冲刺港股:年营收9.5亿同比降14% 市值一度超千亿 宁波科骏套现超6亿 高管李伟彬套现1230万

雷递网 雷建平 5月14日罗博特科智能科技股份有限公司(简称:“罗博特科”)日前更新招股书,准备在港交所上市。罗博特科2019年在深交所上市,2020年收购ficonTEC 的少数权益,并开始向硅光领域扩展,…...

从‘听个响’到‘看出门道’:手把手教你用S-TOOLS 4.0分析WAV音频的隐写容量与波形变化

从‘听个响’到‘看出门道’:手把手教你用S-TOOLS 4.0分析WAV音频的隐写容量与波形变化 在数字信息时代,音频文件不仅是声音的载体,更可能成为隐藏秘密信息的"数字信封"。想象一下,你收到一段看似普通的音乐文件&#x…...

芯片良率提升:从设计到制造的系统性工程实践

1. 项目概述:从“能用”到“好用”的生死线“芯片良率”这四个字,对于圈外人来说,可能只是个模糊的技术指标。但对于身处半导体行业,无论是设计、制造、封测还是终端应用环节的从业者而言,它是一条贯穿始终、关乎生死存…...