【re】BUUCTF [GXYCTF2019]luck_guy

news2024/10/7 10:23:51

题目:BUUCTF [GXYCTF2019]luck_guy


无壳,64位,ida打开找找找到get_flag()函数

for ( i = 0; i <= 4; ++i )
  {
    switch ( rand() % 200 )
    {
      case 1:
        puts("OK, it's flag:");
        memset(s, 0, sizeof(s));
        strcat((char *)s, f1);
        strcat((char *)s, &f2);
        printf("%s", (const char *)s);
        break;
      case 2:
        printf("Solar not like you");
        break;
      case 3:
        printf("Solar want a girlfriend");
        break;
      case 4:
        strcpy((char *)s, "icug`of\x7F");
        strcat(&f2, (const char *)s);
        break;
      case 5:
        for ( j = 0; j <= 7; ++j )
        {
          if ( j % 2 == 1 )
            *(&f2 + j) -= 2;
          else
            --*(&f2 + j);
        }
        break;
      default:
        puts("emmm,you can't find flag 23333");
        break;
    }

是用随机数决定的操作
case1中可以看到,s是flag,由f1和f2拼接而成,双击f1得到
在这里插入图片描述至于f2,在case4中可以看到(把那一串奇怪的数字转成char并翻转一下),但看着还是不像正常的字符串
再看到case5中对f2进行了长度为8的操作,于是猜是要对f2操作后再拼接起来得到flag
写出来试试

char s[100] = "icug`of\x7F\0";
char *f2 = s;
for (int j = 0; j <= 7; ++j )
{
  if ( j % 2 == 1 )
    *(f2 + j) -= 2;
  else
    --*(f2 + j);
	//cout << *(&f2)
}
cout << s << endl;

得到
在这里插入图片描述
拼起来得到GXY{do_not_hate_me},这就很像flag了,去交交
flag是flag{do_not_hate_me}

靠运行程序得到的话也就是要先随机到4给f2赋值,再随到5对f2进行加工,最后到1进行拼接并输出flag,不知道有没有真的能随机出来的幸运儿呢

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

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

相关文章

Mysql基础【操作数据库表】

一、数据库相关概念&#x1f353; 数据库: 存储数据的仓库&#xff0c;数据是有组织的进行存储,英文&#xff1a;DataBase&#xff0c;简称 DB 存储和管理数据的仓库其本质是一个文件系统, 还是以文件的方式,将数据保存在电脑上 数据库管理系统&#xff1a;管理数据库的大型软…

常用黑客指令【建议收藏】

系统信息 arch #显示机器的处理器架构(1) uname -m #显示机器的处理器架构(2) uname -r #显示正在使用的内核版本 dmidecode -q #显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda #罗列一个磁盘的架构特性 hdparm -tT /dev/sda #在磁盘上执行测试…

【算法系列篇】与链表相关的算法

文章目录 前言1. 两数相加1.1 题目要求1.2 做题思路1.3 Java代码实现 2. 两两交换链表中的节点2.1 题目要求2.2 做题思路2.3 Java代码实现 3. 重排链表3.1 题目要求3.2 做题思路3.3 Java代码实现 4. 合并 k 个升序链表4.1 题目要求4.2.1 做题思路一4.3.1 方法一Java代码实现4.2…

将yolo格式数据集转换为VOC格式

将yolo格式数据集转换为VOC格式 背景代码 由于需要切分图象&#xff0c;将yolo转换为voc格式好处理一些 背景 代码 import xml.dom.minidom import glob from PIL import Image from math import ceil import shutil import osyolo_file rE://黄花标注//glass//train//split…

Ubuntu 23.10 支持基于 TPM 的全磁盘加密

导读即将发布的 Ubuntu23.10 增加了一项实验性功能 —— 初步支持基于 TPM 的全磁盘加密。该功能利用系统的可信平台模块 (TPM)&#xff0c;缺点是这种额外的安全性依赖于 Snaps&#xff0c;包括内核和 GRUB 引导加载器。 Ubuntu 开发商 Canonical 公司表示&#xff0c;Ubuntu…

字节一面:说说HTTP 常见的状态码有哪些,适用场景?

前言 最近博主在字节面试中遇到这样一个面试题&#xff0c;这个问题也是前端面试的高频问题&#xff0c;我们经常与网路请求打交道&#xff0c;与http打交道&#xff0c;也会根据返回的状态码来做出不同逻辑判断&#xff0c;所以作为一个前端工程师必须要深入掌握这个知识点&am…

B2901A 是德科技keysight精密型电源

181/2461/8938Agilent B2901A精密源/测量单元(SMU)是一款单通道、紧凑且经济高效的台式SMU&#xff0c;能够采集和测量电压和电流。它功能多样&#xff0c;可以轻松、高精度地执行I/V(电流与电压)测量。四象限源和测量功能的集成使I/V测量简单易行&#xff0c;无需配置多种仪器…

​我读《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书

​我读《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书 ​我读《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书

系统工程知识体系(SEBoK)

介绍 《系统工程知识体系》&#xff08;SEBoK&#xff09;是以一种理念设计的&#xff0c;即如果工程师有一个实时更新、实用的指南&#xff0c;他们就能做出更优秀的工作。如果你以前没有使用过这个资源&#xff0c;也没有关系&#xff1b;因为已经有一个完整的指南供你参考&…

表白墙案例(前端,Java,Mysql)

项目展示&#xff1a; 在输入框中输入内容&#xff0c;点击提交&#xff0c;便会在下面以字符串的形式展示出来&#xff0c;并且会将数据保存到数据库中 即使服务器重启&#xff0c;下次再打开表白墙页面&#xff0c;也能够从数据库中获取到之前的数据 使用到的相关技术 前端(…

网页标签在html中的显示+单标记换行操作

1&#xff0c;网页标签在html中的显示 我们在html的编写过程&#xff0c;经常会遇到设置网页title标签的问题&#xff0c;例如百度标签&#xff1b; 我们使用title来满足要求&#xff1b; <html><head><title>百度一下&#xff0c;你就知道</title>即…

C++单例模式终极指南,深度解析不同应用场景,学单例这一篇就够了

&#x1f4cb; 前言 &#x1f5b1; 博客主页&#xff1a;在下马农的碎碎念&#x1f917; 欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;✍ 本文由在下马农原创&#xff0c;首发于CSDN&#x1f4c6; 首发时间&#xff1a;2023/8/25&#x1f4c5; 最近更新时…

引入嵌入和向量搜索时的三个错误

将非结构化数据表示为嵌入向量以及使用向量搜索进行基于嵌入的检索 (embedding-based retrieval - EBR) 比以往任何时候都更加流行。 嵌入到底是什么&#xff1f; Roy Keyes 在《嵌入的最短定义&#xff1f;》中对此进行了很好的解释。 嵌入是学习的转换&#xff0c;使数据更有…

C语言环境搭建(Win)

一、C语言简介 1、 C语言简介 C语言是一门通用的、面向过程式的编译型语言&#xff0c;它的运行速度极快&#xff0c;仅次于汇编语言。 C语言是计算机产业的核心程序设计语言&#xff0c;操作系统、硬件驱动、关键组件、数据库等都离不开C语言&#xff0c;广泛应用于底层开发。…

10CQRS

本系列包含以下文章&#xff1a; DDD入门DDD概念大白话战略设计代码工程结构请求处理流程聚合根与资源库实体与值对象应用服务与领域服务领域事件CQRS&#xff08;本文&#xff09; 案例项目介绍 # 既然DDD是“领域”驱动&#xff0c;那么我们便不能抛开业务而只讲技术&…

SigFit—光-机-热耦合分析工具

美国Sigmadyne公司的SigFit软件是光机热耦合分析工具&#xff0c;可以将有限元分析得到的光学表面变形等结果文件通过多项式拟合或插值转化为光学分析软件的输入文件&#xff0c;还可实现动态响应分析、光程差分析、设计优化、主动控制/自适应控制光学系统的促动器布局及优化等…

美篇作文网教学资源源码-自带作文数据

非常漂亮的UI设计和页面排版&#xff01; 自适应手机pc端 页面内容均支持自定义 可以用来做网站矩阵&#xff0c;或者增强你其他网站板块&#xff0c;或者单独运营都可以。 可以通过广告方式变现&#xff0c;或者引流等等 友好的seo&#xff0c;更容易被浏览器收录 关注青狐…

软件测试面试题 —— 整理与解析(5)

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;【Austin_zhai】 &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xff0c;分享行业相关最新信息。…

5153. 删除

题目&#xff1a; 样例1&#xff1a; 输入 3454 输出 YES 344 样例2&#xff1a; 输入 10 输出 YES 0 样例3&#xff1a; 输入 111111 输出 NO 思路&#xff1a; 这道题就三个条件 关键条件是 能够被 8 整除。 而能被 8 整除的有一个重要的性质是 能够被 8 整除的重要…

MySQL - 全表分组后,获取组内排序首条数据信息

性能 不详!!! 不详!!! 不详!!! 请谨慎使用!!!环境 MySQL服务: 8.0版本;思路 使用8.0版本的新函数特性: row_number(): 序号函数; 顾名思义, 就是给每组中的元素从1开始按顺序加上序号;over(): 其中两个语法如下 partition: 按某字段分组;order by: 按某字段排序;注意: 两函数详…