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}

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

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

相关文章

【自动驾驶】浅学一下BEV目标检测记录

现在BEV与OCC占用网络非常火,在日常工作中,如果没有接触到,可能会忽略相应的知识储备。本人还未看大量文献,所以只能算浅学下记录,这里主要从互联网上学习到的,还是就是跟专业的同事请教之后,自…

使用Elasticsearch在同一索引中区分不同类型的文档

在使用Elasticsearch时,有时我们需要在同一个索引中存放不同类型的文档,并且这些文档的字段可能不一致。在早期版本中,我们可以使用types来实现,但在Elasticsearch 7.x及更高版本中,types概念已被弃用。本文将介绍如何…

【python基础语法1】注释,变量与运算符

这里写自定义目录标题 一、注释分类注意 二、变量变量的声明变量的命名注意 变量的交换常量 三、数据类型分类六大标准数据类型Number 数字类型 分类:2个内置方法 type 和 id自动类型转换强制类型转换容器类型分类:五个字符串类型 str列表类型 list内置函…

去除upload的抖动效果

title: 去除upload的抖动效果 date: 2024-06-15 20:16:51 tags: vue3 在使用vue3element-plus框架的时候,常常会使用到el-upload方法。其中如果做了翻页效果可以发现图片过度方式是集中到左上角进行的翻页,这种效果不是很好,我们还是想让这中…

【Numpy】一文向您详细介绍 np.round()

【Numpy】一文向您详细介绍 np.round() 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕,…

Vue2+Element-ui实现el-table表格自适应高度

效果图 新建指令 Vue.directive(height, {inserted(el, _binding, vnode) {const paginationRef vnode.context.$refs.paginationRefconst calculateHeight () > {const windowHeight window.innerHeightconst topOffset el.getBoundingClientRect().topconst otherEle…

debug调试高级功能 断点、布局 及Android Studio常用快捷按键使用详情

文章目录 debug断点篇:打临时断点(只用一次):alt断点条件断点:在断点上,点击右键,在Condition那里,设置我们需要的值,循环就会自动停到我们设置的那个值那里依赖断点&…

TypeScript类型声明

类型系统 目录 类型系统 目录类型推断 字符串数值布尔值bigintobject 类型声明 字符串数值bigint布尔 首先说明一下,本人是前端小学生级别的菜鸡,吐槽的话请口下留情,在评论区指出错误或者补充不足,我会很喜欢,互…

Jmeter多个请求按照比例并发压测的几种方式

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、需求 在压测的过程中,为了能够压测整个链路,通常需要多个接口进行并…

Markdown如何分页操作

Markdown导出分页操作 在平时的文档导出过程中Markdown过程中会出现因为不能分页导致的排版问题。 排版问题在将Markdown文档导出为PDF或其他格式时尤为明显。当文档内容超过一页时,无法自动调整页面布局,导致内容不连续,甚至导致图片或表格…

【每日刷题】Day66

【每日刷题】Day66 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 小乐乐改数字_牛客题霸_牛客网 (nowcoder.com) 2. 牛牛的递增之旅_牛客题霸_牛客网 (nowcoder.com)…

预编译、函数变量提升

函数声明会覆盖变量的声明,也就是会提升到最前面。 形参传进来相当于变量声明,所以当有函数声明时,会被覆盖。

(四十)vuex之四个map辅助函数

文章标题 概述使用方式mapStatemapGettersmapActionsmapMutations 上一篇:(三十九)Vue之集中式的状态管理机制Vuex 概述 Vuex辅助函数是一组用于简化在Vue.js应用程序中使用Vuex状态管理库的函数。这些辅助函数可以帮助我们在组件中更轻松地…

计算机组成原理之定点加法与减法运算

文章目录 补码的加减法算法的流程与逻辑实现溢出判断溢出原因单符号位判断双符号位(变形补码) 基本的加法/减法器舍入方法习题 补码的加减法 数用补码表示,符号位参与运算 考虑几个问题? 1.实际操作能否只取决于操作码&#xff1f…

python-求分数序列和

[题目描述]: 输入: 输入一行一个正整数n(n≤30)。输出: 输出一行一个浮点数,表示分数序列前n 项的和,精确到小数点后4位。样例输入1 2 样例输出1 3.5000 来源/分类(难度系数:一星)…

web前端写页面:探索页面构建的四个维度、五大要点、六大技巧与七大挑战

web前端写页面:探索页面构建的四个维度、五大要点、六大技巧与七大挑战 在数字化时代,Web前端作为连接用户与网页内容的桥梁,其页面构建技能显得尤为关键。然而,如何在复杂的开发环境中高效、优雅地构建页面,是每个前…

concept

concept是给模板添加限制条件&#xff0c;如果条件不符&#xff0c;代码无法通过编译。类似SFINAE的语法糖。 1. 示例一 #include <algorithm> #include <iostream> #include <concepts> #include <type_traits>template<class T> concept Int…

和鲸科技执行总裁殷自强:面向空间数据协同分析场景的模型生命周期管理方法

导读&#xff1a; 由 ACM SIGSPATIAL 中国分会主办的第五届空间数据智能学术会议&#xff08;SpatialDI 2024&#xff09;于 2024 年 4 月 25 日- 27 日在南京圆满召开&#xff0c;主题为“ AGI 时代下的空间数据智能”&#xff0c;旨在深入推动空间数据智能研究的理论进步与应…

模型实战(23)之 yolov10 使用总结及训练自己的数据集

yolov10 使用总结及训练自己的数据集 0. yolov10 原理分析 此处参考:https://blog.csdn.net/CVHub/article/details/139204248论文:https://arxiv.org/pdf/2405.14458源码:https://github.com/THU-MIG/yolov10 论文原理分析: 创新: 双标签分配策略 众所周知,标签分配策略…

Web前端图片居中:一探究竟的四个方面、五个要点、六大技巧和七大实践

Web前端图片居中&#xff1a;一探究竟的四个方面、五个要点、六大技巧和七大实践 在Web前端开发中&#xff0c;图片居中是一个看似简单却常常让人头疼的问题。无论是在响应式布局中&#xff0c;还是在静态页面中&#xff0c;图片居中都需要考虑到多种因素和技巧。本文将从四个…