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

[2019红帽杯]easyRE

感谢 purecall 师傅提供题目~得到的 flag 请包上 flag{} 提交。下载后发现是个elf文件先查壳发现无壳后扔进IDA中分析先按f12查看字符串找到You found me发现了一堆字符串双击sub_4009c6进入字符串signed __int64 sub_4009C6() { signed __int64 result; // rax __int64 v1; // ST10_8 __int64 v2; // ST18_8 __int64 v3; // ST20_8 __int64 v4; // ST28_8 __int64 v5; // ST30_8 __int64 v6; // ST38_8 __int64 v7; // ST40_8 __int64 v8; // ST48_8 __int64 v9; // ST50_8 __int64 v10; // ST58_8 int i; // [rspCh] [rbp-114h] char v12; // [rsp60h] [rbp-C0h] char v13; // [rsp61h] [rbp-BFh] char v14; // [rsp62h] [rbp-BEh] char v15; // [rsp63h] [rbp-BDh] char v16; // [rsp64h] [rbp-BCh] char v17; // [rsp65h] [rbp-BBh] char v18; // [rsp66h] [rbp-BAh] char v19; // [rsp67h] [rbp-B9h] char v20; // [rsp68h] [rbp-B8h] char v21; // [rsp69h] [rbp-B7h] char v22; // [rsp6Ah] [rbp-B6h] char v23; // [rsp6Bh] [rbp-B5h] char v24; // [rsp6Ch] [rbp-B4h] char v25; // [rsp6Dh] [rbp-B3h] char v26; // [rsp6Eh] [rbp-B2h] char v27; // [rsp6Fh] [rbp-B1h] char v28; // [rsp70h] [rbp-B0h] char v29; // [rsp71h] [rbp-AFh] char v30; // [rsp72h] [rbp-AEh] char v31; // [rsp73h] [rbp-ADh] char v32; // [rsp74h] [rbp-ACh] char v33; // [rsp75h] [rbp-ABh] char v34; // [rsp76h] [rbp-AAh] char v35; // [rsp77h] [rbp-A9h] char v36; // [rsp78h] [rbp-A8h] char v37; // [rsp79h] [rbp-A7h] char v38; // [rsp7Ah] [rbp-A6h] char v39; // [rsp7Bh] [rbp-A5h] char v40; // [rsp7Ch] [rbp-A4h] char v41; // [rsp7Dh] [rbp-A3h] char v42; // [rsp7Eh] [rbp-A2h] char v43; // [rsp7Fh] [rbp-A1h] char v44; // [rsp80h] [rbp-A0h] char v45; // [rsp81h] [rbp-9Fh] char v46; // [rsp82h] [rbp-9Eh] char v47; // [rsp83h] [rbp-9Dh] char v48[32]; // [rsp90h] [rbp-90h] int v49; // [rspB0h] [rbp-70h] char v50; // [rspB4h] [rbp-6Ch] char v51; // [rspC0h] [rbp-60h] char v52; // [rspE7h] [rbp-39h] char v53; // [rsp100h] [rbp-20h] unsigned __int64 v54; // [rsp108h] [rbp-18h] ​ v54 __readfsqword(0x28u); v12 73; v13 111; v14 100; v15 108; v16 62; v17 81; v18 110; v19 98; v20 40; v21 111; v22 99; v23 121; v24 127; v25 121; v26 46; v27 105; v28 127; v29 100; v30 96; v31 51; v32 119; v33 125; v34 119; v35 101; v36 107; v37 57; v38 123; v39 105; v40 121; v41 61; v42 126; v43 121; v44 76; v45 64; v46 69; v47 67; memset(v48, 0, sizeof(v48)); v49 0; v50 0; sub_4406E0(0LL, v48, 37LL); v50 0; if ( sub_424BA0(v48) 36 ) { for ( i 0; i (unsigned __int64)sub_424BA0(v48); i ) { if ( (unsigned __int8)(v48[i] ^ i) ! *(v12 i) ) { result 4294967294LL; goto LABEL_13; } } sub_410CC0(continue!); memset(v51, 0, 0x40uLL); v53 0; sub_4406E0(0LL, v51, 64LL); v52 0; if ( sub_424BA0(v51) 39 ) { v1 sub_400E44(v51); v2 sub_400E44(v1); v3 sub_400E44(v2); v4 sub_400E44(v3); v5 sub_400E44(v4); v6 sub_400E44(v5); v7 sub_400E44(v6); v8 sub_400E44(v7); v9 sub_400E44(v8); v10 sub_400E44(v9); if ( !(unsigned int)sub_400360(v10, off_6CC090) ) { sub_410CC0(You found me!!!); sub_410CC0(bye bye~); } result 0LL; } else { result 4294967293LL; } } else { result 0xFFFFFFFFLL; } LABEL_13: if ( __readfsqword(0x28u) ! v54 ) sub_444020(); return result; }我们这里可以直接编写一个脚本将加密的数据异或​ segments [ IodlQnb(ocy, 127, y.i, 127, d3w}wek9{iy~yLEC ] ​ v12 [] for seg in segments: if isinstance(seg, str): v12.extend(ord(c) for c in seg) else: v12.append(seg) ​ v15 .join(chr(v12[i] ^ i) for i in range(len(v12))) ​ print(v12的ASCII列表, v12) print(异或后的字符串, v15)结果是提供提示信息前四个字符是flag接着我们看这一段函数这里用了10次相同的函数函数作用是base64加密最后判断v11与off_6cc090是否相等双击off_6cc090查看其内容这里我们发现字符串就是这个我们进行10次base64加密即可然后我们得到一个网站https://bbs.pediy.com/thread-254172.htm 打开网站也没有什么有用的信息说明我们找的不对然后我们找到sub_400D35分析可以直接写脚本​ byte_6cc0a0 [0x40,0x35,0x20,0x56,0x5d,0x18,0x22,0x45,0x17,0x2f,0x24,0x6e,0x62,0x3c,0x27,0x54,0x48,0x6c,0x24,0x6e,0x72,0x3c,0x32,0x45,0x5b] tmp [102,108,97,103] ​ v1 [tmp[i] ^ byte_6cc0a0[i] for i in range(4)] ​ flag .join(chr(byte_6cc0a0[i] ^ v1[i%4]) for i in range(25)) ​ print(v1:, v1) print(flag:, flag)运行即可得到最终flag

相关文章:

[2019红帽杯]easyRE

感谢 purecall 师傅提供题目~得到的 flag 请包上 flag{} 提交。 下载后发现是个elf文件,先查壳 发现无壳后扔进IDA中分析 先按f12查看字符串,找到You found me!! 发现了一堆字符串 双击sub_4009c6进入字符串 signed __int64 su…...

开发者的生物壁垒:用神经突触写只有人脑能懂的代码

生物壁垒在软件测试中的崛起在软件开发生命周期中,开发者常依赖人脑特有的神经突触机制编写高度抽象、直觉驱动的代码,这种"生物壁垒"使得代码逻辑难以被传统测试工具解析。神经突触作为生物神经网络的核心,通过突触可塑性实现动态…...

把自己变成公司“人质”:绑定核心系统的黑暗技能

在软件测试领域,测试人员常被视为系统的“守门人”,负责发现漏洞并确保质量。然而,一种鲜为人知的“黑暗技能”正在悄然兴起:测试从业者通过深度绑定核心系统,使自己成为公司不可或缺的“人质”。这并非字面意义上的绑…...

Coze自动化工作流+Agent智能体实战教程(0基础入门,附多场景实操)

开发及运维工作中,重复的手动操作(如批量整理数据、自动生成报表、链接内容提取等)往往占用大量时间,降低工作效率。Coze(扣子)作为一款零代码可视化自动化工具,无需编程基础,即可快…...

数据仓库处理架构: lambda架构、kappa架构

大数据处理架构详解:Lambda架构、Kappa架构、流批一体、Dataflow模型、实时数仓 Lambda Lambda架构(Lambda Architecture)是由Twitter工程师南森马茨(Nathan Marz)提出的大数据处理架构。 它的目标是构建一个通用的…...

部署完成虚拟机RHEL9.7

Part1第一步 先打开虚拟机 然后创建虚拟机第二步第三步第四步第五步第六步第七步 推荐2G内存即可第八步第九步第十步第十一步第十二步第十三步第十四步然后点击自定义硬件第十五步选择使用已下载的ISO映像文件第十六步usb和声卡暂时不用 所以可以直接移除第十七步显示器&#…...

LeetCode 148. 排序链表:归并排序详解

拆解 LeetCode 中等难度题目「148. 排序链表」,这道题核心考察链表的归并排序,是链表操作与排序算法结合的经典题型,也是面试中高频出现的考点。本文会从题目分析、解题思路、代码拆解到注意事项,一步步帮大家搞懂这道题&#xff…...

淘宝商品详情字段解析:SKU、价格、库存接口全梳理

在电商数据采集、竞品分析、价格监控等场景中,淘宝商品详情数据是核心资产。本文聚焦淘宝开放平台商品详情接口的SKU、价格、库存三大核心字段,从接口调用到字段解析,再到实战代码与避坑指南,提供一套完整的技术方案,助…...

算法设计与分析-习题4.3

目录 1.在你的计算机上实现一个要求生成 25 个元素组成的集合的全部排列的算法是否现实?如果是生成该集合的所有子集呢? 2.使用下面的方法生成{1,2,3,4}的全部排列: a.从底向上的最小变化算法。 b. Johnson-Trotter算法。 ​…...

一篇看懂:进程、服务、启动项、计划任务到底是什么?

很多刚接触电脑、运维、Windows / 服务器的朋友,都会被这四个词绕晕:进程、服务、启动项、计划任务。它们长得像、功能像、还经常一起出现,但职责完全不同。这篇用最通俗的话,帮你一次性分清。一、进程(Process&#x…...

sdut-程序设计基础Ⅰ-实验7-函数(函数题)

6-1 sdut-C语言实验-计算组合数分数 10作者 马新娟单位 山东理工大学计算组合数。C(n,m),表示从n个数中选择m个的组合数。 计算公式如下: 若:m0,C(n,m)1 否则, 若 n1,C(n,m)1 否则,若mn,C(n,m)1…...

为2026年营销活动找富士山素材,这五类站点的筛选顺序很重要

作为一名市场专员,上周我接到了一个有些紧急的任务:为公司一个重要的日式主题营销活动设计主视觉,并在当晚拿出第一版概念稿。核心元素是富士山,但要求风格现代、简约,避免使用那些随处可见的游客照或过时的插画。问题…...

在 Kata Containers 中编译支持 eBPF 的 Guest Kernel 并验证生效

此前在 8 月份因项目需求,我对 Kata 容器进行了调研,并在 CentOS 上部署了单机版 Kata 环境。当时受限于进度,仅完成基础环境搭建。近期我重新开始探索 eBPF 在 Kata 容器中的支持与适配情况,于是有了这篇文章。后续我还会输出 Ka…...

51单片机驱动共阴极数码管显示0~9

文章目录 概要 硬件设计 软件设计 编译下载 小结 概要 项目采用共阴极单支数码管作为显示器件,通过单片机I/O口输出段选信号控制数码管段亮灭,配合延时函数实现数字0~9每隔1秒自动加1,并循环往复显示的功能。 硬件设计 1. 核心器件 …...

模拟1688商品详情的Python API实现,返回符合风格的JSON数据

该文件包含两个模拟商品数据,结构完整覆盖以下核心字段:商品基础信息:商品ID、标题、价格(含原价与现价)、库存量商品描述:富文本描述内容视觉展示:多图链接列表(主图详情图&#xf…...

Google Banana pro 画卡通信息图

提示词:[System / Prompt]You are an illustration assistant specialized in creating hand-drawn cartoon-style infographics. Follow all rules below strictly and without deviation.🎨 STYLE RULES(风格规则)Use a pure ha…...

算力焦虑终结?揭秘GPU云服务器的民主化之路

从算力焦虑到算力民主:一份GPU云服务器的深度观察 在大模型参数规模朝着万亿单位迈进之时,于文生视频应用在短短几秒内所消耗的算力等同于传统应用数月用量之际,一个无法争议的事实呈现眼前:算力,特别是 GPU 算力&…...

Spring AI + RAG + 向量库 10 道模拟面试

文章目录1. 什么是 Spring AI?它解决什么问题?2. Spring AI 的核心组件有哪些?3. Spring AI 和 LangChain 的区别?4. 什么是 RAG?为什么要用 RAG?5. RAG 的完整流程是什么?6. 为什么要用向量数据…...

Obsidian笔记记录与Gitee云存储

Obsidian下载 首先下载ObsidianObsidian - 磨砺你的思维,下载完成后打开会弹出本地仓库创建的提示 每个仓库都是一个相对独立的空间,我们的笔记和插件都存放在里面,如核心插件的插入模板的模板文件夹和第三方插件都是各仓库独立,…...

Dev-C++中项目类型如何选择?

在Dev-C中选择项目类型时,主要根据开发需求来决定。以下是常见选项及其适用场景:1. 控制台程序(Console Application)用途:适用于命令行界面的程序(如算法练习、数据处理等)。特点:运…...

破解密码.

1.开启虚拟机,快速点击鼠标,用上下键选择第二个选项2.然后按E键3.按左右上下键,将光标移到”quiet"后边,4.输入“rd.break"5.按”ctrlx或F10“,进入该界面6.输入此代码后设置密码(不要设置和之前…...

Chrome DevTools在Agent编程工具上的安装

1.Cursor上安装vscode打开Agent Settings{"mcpServers": {"chrome-devtools": {"command": "npx","args": ["chrome-devtools-mcplatest"]}} }claude code和codex在CLI中# Claude Codeclaude mcp add chrome-devt…...

CMD和PowerShell在激活conda环境中遇到的问题

问题引入近日在部署一个agent项目中遇到了激活虚拟环境的问题,现在的IDE默认终端一般是powershell,用conda命令创建、删除环境没啥问题,但是就是激活进入不了。而平时我用conda命令一般用cmd终端(其实之前一直没注意cmd和powershe…...

HakcMyVM-Darkside

信息搜集 主机发现 ┌──(kali㉿kali)-[~] └─$ nmap -sn 192.168.2.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2026-03-15 03:46 EDT Nmap scan report for darkside (192.168.2.19) Host is up (0.00023s latency). MAC Address: 08:00:27:3B:49:15 (PCS Systemt…...

基于C语言的轻量级在线商城服务端设计与实现

在当前以Java、Go和Python为主导的电商后端技术生态中,使用C语言构建Web服务似乎显得格格不入。然而,在资源受限环境或对性能有极致追求的场景下,C语言的价值不容忽视。它能够提供对内存和系统调用的精确控制,避免高级语言运行时带…...

欧姆龙CP1H与台达VFD - M变频器的MODBUS RTU通讯实战

欧姆龙CP1H的MODBUS RTU简易主站通讯,通过CP1W-CIF11板与台达VFD-M变频器进行。PLC程序进行轮询通讯,正常情况下只进行读操作,当修改频率或者操作启停命令时,才进行写操作,写操作完成后自动移除。 从而起到保护从站变频…...

从能跑到跑得快:一次大模型硬件加速的工程实践

从能跑到跑得快:一次大模型硬件加速的工程实践 写大模型应用时,很多团队最先遇到的问题不是“模型会不会答”,而是“模型为什么这么慢”。 一套模型在开发阶段能跑起来,和它能在线上稳定、低延迟、可并发地服务用户,是…...

【第二周】RAG与Agent实战13:通用提示词模板 (PromptTemplate)

在之前我们直接将字符串传给模型: model.invoke("帮我写一首诗")这种写法叫做 Zero-shot(零样本) 提示。但在实际应用中,我们需要动态地替换提示词中的内容(比如用户的名字、查询的问题、文档的片段&#xf…...

基于VirtualLab Fusion的复合光源仿真

摘要能够在一个系统中包含多个光源是许多应用的基础,如成像或照明。VirtualLabFusion提供了解决这类问题的高级选项。在本文档中,我们简要概述了如何设置复合光源,并给出了几个仿真示例。概览复合光源可以:包含任意数量的主光源。…...

快速清理手机QQ大量占用的存储空间

快速清理手机QQ大量占用的存储空间 众所周知,手机QQ随着使用会占据越来越多的磁盘空间,甚至多达上百GB。 在面对如此大量的存储数据时,无论是QQ自带的清理工具,还是手机管家之类系统自带的清理工具,其实往往都表现很糟…...