2024春秋蓝桥杯reverse——crackme01

尝试了下输入没有任何反应

查看——32位——IDA打开

我之前没怎么写过win32,所以我开始在string里面找flag,wrong,right什么的字符,都不行

然后我又在函数里面找main,也什么收获的没有,OK废话完了

 在win32里面 关于弹窗的函数:

MessageBox ()

DefWindowProc这个函数是默认的窗口处理函数

ShowWindow(HWND hWnd,int nCmdShow)

我们先找

messagebox(我们动调按的时候,没有弹出来新窗口,所以否定他)

我们看

处理机制,因为他让我们输入,肯定要处理我们输入的数据才行

在第一个函数里面

LRESULT __stdcall sub_A27F0(HWND a1, UINT Msg, WPARAM wParam, unsigned int lParam)
{UINT v4; // eaxLPARAM v5; // edx__int16 v6; // bxvoid *v7; // ediHDC v9; // esiunsigned int v10; // ecx__int16 v11; // axunsigned int i; // eaxint v13; // ediint SystemMetrics; // eaxstruct tagRECT v15; // [esp+18h] [ebp-68h] BYREFstruct tagRECT Rect; // [esp+28h] [ebp-58h] BYREFstruct tagPAINTSTRUCT Paint; // [esp+38h] [ebp-48h] BYREFv4 = Msg;v5 = lParam;v6 = 0;v7 = wParam;if ( Msg > 0xF ){if ( Msg != 4097 )return DefWindowProcW(a1, v4, v7, v5);v10 = 0;do{v11 = *(wParam + 2 * v10++);v6 += v11;}while ( v10 <= lParam );for ( i = 0; i < 44; i += 2 )*(&chText + i) ^= v6;GetWindowRect(a1, &v15);v13 = (v15.left - v15.right + GetSystemMetrics(16)) / 2;SystemMetrics = GetSystemMetrics(17);SetWindowPos(a1, HWND_MESSAGE|0x2, v13, (v15.top - v15.bottom + SystemMetrics) / 2, -1, -1, 5u);SetWindowPos(a1, 0xFFFFFFFE, 0, 0, 0, 0, 3u);if ( (v6 & 0xF00) == 0x400 && (v6 & 0xF0) == 0xB0 && (v6 & 6) == 6 ){ShowWindow(a1, 5);UpdateWindow(a1);}v7 = wParam;
LABEL_18:if ( v7 )free(v7);v5 = lParam;v4 = Msg;return DefWindowProcW(a1, v4, v7, v5);}switch ( Msg ){case 0xFu:v9 = BeginPaint(a1, &Paint);GetClientRect(a1, &Rect);DrawTextW(v9, &chText, -1, &Rect, 0x25u);EndPaint(a1, &Paint);goto LABEL_18;case 1u:return 0;case 2u:PostQuitMessage(0);return 0;}return DefWindowProcW(a1, v4, v7, v5);
}

在这里,improt 里面居然有自定义的变量,这是一个异常点!

我们看CHtext

那个4很奇怪

最后知道这段是dword

师傅给的代码提取

shift+F2

import idc
v=[idc.get_wide_word(i) for i in range(0x002464A0,0x002464Cb,2)]
key = 0x4b6
for i in range(len(v)):v[i]=v[i]^key
print(bytes(v))

这里的key就是V6,我们从前面找不到V6的数据,我们往后面看

就可以知道V6=0x4f6

最后得到flag

ICHUNQIU_FE362DBE

下班!

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

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

相关文章

C++Qt学习——添加资源文件

目录 1、创建好了文件之后&#xff0c;在左边空白处按下CtrlN&#xff0c;创建Qt 以及Qt Resource File 2、写入名称&#xff0c;点击下一步 3、可以发现已经创建好啦。 4、点击Add Prefix 5、写上前缀&#xff0c;最好加上斜杠 6、选择提前放好的图片或者icon 7、发…

【C语言】字符串函数上

&#x1f451;个人主页&#xff1a;啊Q闻 &#x1f387;收录专栏&#xff1a;《C语言》 &#x1f389;道阻且长&#xff0c;行则将至 前言 这篇博客是字符串函数上篇&#xff0c;主要是关于长度不受限制的字符串函数&#xff08;strlen,strcpy,strcat,strcm…

详解Postman使用

简介&#xff1a; 1.简介 PostMan&#xff0c;一款接口调试工具。 特点&#xff1a; 可以保留接口请求的历史记录 可以使用测试集Collections有效管理组织接口 可以在团队之间同步接口数据 1.简介 PostMan&#xff0c;一款接口调试工具。 特点&#xff1a; 可以保留接口请求…

解决vue2+elementUI的下拉框出现自动校验的问题

问题&#xff1a; 总结原因是因为新增的时候&#xff0c;传了空值进去 可以这样子解决 this.formData.value && this.$set(this.model, this.formData.key, this.formData.value)这种是只有值存在的时候才会给他赋值&#xff0c;但是这只解决单选下拉框&#xff0c;…

数据结构:7、队列

一、队列的概念与结构 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出FIFO(First In First Out) 入队列&#xff1a;进行插入操作的一端称为队尾 出队列&#xff1a;进行删除操作的一端称为队头…

Android Studio下运行java main 方法

方法一 修改项目的.idea中的gradle.xml文件&#xff0c;在GradleProjectSettings标签下添加一行代码 <option name"delegatedBuild" value"false" />方法二 main方法上右键选择Run ‘xxx’ with Coverage

【LeetCode: 2864. 最大二进制奇数 + 模拟 + 位运算】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Elastic Stack--05--聚合、映射mapping

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.聚合(aggregations)基本概念桶&#xff08;bucket&#xff09;度量&#xff08;metrics&#xff09; 案例 11. 接下来按price字段进行分组&#xff1a;2. 若想对所…

UE4案例记录

UE4案例记录&#xff08;制作3D角色显示在UI中&#xff09; 制作3D角色显示在UI中 转载自youtube视频 https://www.youtube.com/channel/UCC8f6SxKJElVvaRb7nF4Axg 新建项目 创建一个Actor 场景组件->摄像机组件->场景捕获组件2D&#xff0c;之后添加一个骨骼网格体…

使用helm部署clickhouse

&#xff08;作者&#xff1a;陈玓玏&#xff09; 前置条件 已安装 Kubernetes 集群&#xff1b; 已安装 Helm 包管理工具。 部署 1 添加 RadonDB ClickHouse 的 Helm 仓库 helm repo add ck https://radondb.github.io/radondb-clickhouse-kubernetes/ helm repo upd…

【LLMs+小羊驼】23.03.Vicuna: 类似GPT4的开源聊天机器人( 90%* ChatGPT Quality)

官方在线demo: https://chat.lmsys.org/ Github项目代码&#xff1a;https://github.com/lm-sys/FastChat 官方博客&#xff1a;Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90% ChatGPT Quality 模型下载: https://huggingface.co/lmsys/vicuna-7b-v1.5 | 所有的模…

使用公式在Excel中指定列值的变化实现自动间隔着色(不是按照固定的行数)

如果你的文件很小&#xff0c;可以手工着色&#xff1b;但如果很大&#xff0c;就要借助公式来着色&#xff1b; 目的是什么&#xff0c;其中之一是&#xff1a;提升可读性。 一起往下看吧&#xff01;&#xff01; 如果你想要根据Excel某列中值的变化来间隔着色&#xff0c;…

一台服务器部署两个独立的mysql实例

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 &#x1f3c5;阿里云ACE认证高级工程师 &#x1f3c5;阿里云开发者社区专…

python--类与面向对象-2

一、对象在文本中的输出 class Person: def __init__(self,name,agg,live_value,money): self.namename self.aggagg self.live_valuelive_value self.moneymoney def describe(): print(%s的攻击力是%s%(self.name,self.agg)) pPerson(bob,10,10000,100) bPerson(tony,…

机器学习笔记 - 用于3D物体检测的KITTI数据集的使用及说明

一、什么是 KITTI 数据集&#xff1f; KITTI 是由卡尔斯鲁厄理工学院和芝加哥丰田理工学院开发的自动驾驶数据集&#xff08;目前分2012和2015版本&#xff09;。它是计算机视觉研究中使用的图像和 LIDAR 数据的集合&#xff0c;例如立体视觉、光流、视觉里程计、3D 对象检测和…

14、设计模式之命令模式(Command)

一、什么是命令模式 命令模式&#xff08;Command Pattern&#xff09;是一种行为型设计模式&#xff0c;又叫动作模式或事务模式。它将请求&#xff08;命令&#xff09;封装成对象&#xff0c;使得可以用不同的请求对客户端进行参数化&#xff0c;具体的请求可以在运行时更改…

Css基础——绘制三角形、鼠标样式、轮廓线、放拖拽文本域、vertical-align属性

1、三角形的绘制方法 当一个盒子的width和height都为0时 四个边框都有颜色时&#xff0c;可以显示出三角形来 当其中的三边都是透明&#xff08;transparent&#xff09;的时候&#xff0c;就可以看到一个小三角形 2、鼠标样式&#xff08;cursor&#xff09; 代码部分&#…

sqllab第七关通关笔记

知识点&#xff1a; 利用回显信息不同进行盲注爆破出敏感信息两种绕过方法 单引号闭合绕过&#xff1b;不加注释符 id 1 and 11 完全闭合原始语句的绕过&#xff1b;这题是采用了where id((输入)) id 1)) and 11 -- 首先判断注入类型 构造id1/0 正常回显&#xff0c;字符型注…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Toggle)

组件提供勾选框样式、状态按钮样式及开关样式。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 仅当ToggleType为Button时可包含子组件。 接口 Toggle(options: { type: ToggleType, is…

Shell常用脚本:hadoop集群启动、停止、重启脚本

脚本内容以我搭建的hadoop集群为例&#xff0c;你们自用的时候自行根据你们的情况进行修改即可 hadoop-cluster-manager.sh #!/bin/bash # 1. 调用此脚本前&#xff0c;请使用ssh-keygen -t rsa、ssh-copy-id -f 目标机器这两个命令使得目标机器是免密登录的 # 2. ssh远程执行…