首页 > 其他分享 >第十一题luck_guy

第十一题luck_guy

时间:2024-10-17 20:47:58浏览次数:7  
标签:字节 s2 s1 第十一 char arr2 字符串 guy luck

ctrncpy

ctrncpy属于c语言标准库里的一个函数 ,定义在string.h头文件中,作用就是将一个字符串的一部分拷贝到另一个字符串里

memset

memset也是属于c语言标准库里的一个函数,定义在string.h的头文件中,作用是将一块内存中所有字节都设定为特定的值

int main() {
char arr1[20]="abcdefghigk";
char arr2[10];
memset(arr2, '\0', sizeof(arr2));
strncpy(arr2,arr1,9);
//因为这里arr2出去\0外所包含的内存空间为9 所以交换字符不可超过9位
printf("%s\n",arr2);

strcat 是一个 C 语言标准库函数,用于将两个字符串连接起来。它的原型定义在 <string.h> 头文件中,其作用是将 s2 字符串追加到 s1 字符串的末尾,并返回 s1 的指针。

char *strcat(char *s1, const char *s2);
  • s1 是目标字符串的指针。

  • s2 是要追加的字符串的指针。

使用 strcat 时需要注意以下几点:

  1. s1 必须指向足够大的内存区域,以容纳连接后的字符串。

  2. s1s2 不能重叠,否则可能导致未定义的行为。

  3. s2 必须是一个以空字符('\0')结尾的字符串。

    小端序存储(Little Endian)是一种计算机数据存储方式,它将多字节数据的最低有效字节(即最小的字节)存储在内存的最低地址处,而最高有效字节(即最大的字节)存储在内存的最高地址处。
    大端序存储

先将下载好的附件进行解压 然后得到luck_guy这个文件 进行查壳 用64位的IDA进行静态分析

我们开始看这道题的主函数

这里我们可以看到 他让我们给v4赋值然后把v4作为patch_me这个函数的自变量

我们跟进一下patch_me这个函数

(v4就是a1)如果能被2整除则跳转到get_flag这个函数中 继续跟进一下

这里不难发现他用了一个随机数

在case1中 这里用memset这个函数将s里面的变量都变成0

然后把f1赋值给s 再把f2也赋值给s

case4中 把s的值赋给了f2

case5中 对f2进行了一次减法运算

可以根据case5中的原理写出脚本

![87e3f31b3cc3cb9ba4cc240ffcf1d0b7](C:\Users\22069\Documents\Tencent Files\2206945154\nt_qq\nt_data\Pic\2024-10\Ori\87e3f31b3cc3cb9ba4cc240ffcf1d0b7.png

然后就得到了flag 进行提交就好了

标签:字节,s2,s1,第十一,char,arr2,字符串,guy,luck
From: https://blog.csdn.net/2403_87533599/article/details/142966754

相关文章

  • 代码随想录算法训练营第十一天|Day11栈与队列
    150.逆波兰表达式求值题目链接/文章讲解/视频讲解:https://programmercarl.com/0150.%E9%80%86%E6%B3%A2%E5%85%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%B1%82%E5%80%BC.html思路#defineMAX_TOKENS1000#defineMAX_TOKEN_LEN10typedefstruct{longlongdat......
  • 第十一篇:系统管理体系之服务管理
    管理命令  systemctl命令systemctl管理服务(centos5.x6.x使用service命令)开机自启动管理正在运行的服务如果无法自动补全命令的选项,需要安装bash-completion(默认源)bash-completion-sxtras(epel源)yuminstall-ybash-completionbash-completion-sxtrassy......
  • 第十一章 图像的色彩空间转换
    知识点-RGB色彩空间-Hsv色彩空间-YUV色彩空间-YCrCb色彩空间API知识点-色彩空间转换cvtColor-提取指定色彩范围区域inRangevoid QUickdemo::inrange_demo(Mat&image){   Mathsv;   cvtColor(image,hsv,COLOR_BGR2HSV);--首先转化为hsv色彩图像 ......
  • Luckfox开发--Flash镜像制作
    在使用RV1103LuckfoxPico开发板开发的过程中,由于板子上含有Flash封装口,但未焊上Flash,且LuckfoxPicoPlus就是基于Flash制作的烧录镜像。所以,理论上来说,LuckfoxPico也是应该可以使用Flash制作镜像。除了硬件上需要焊接上一块Flash以外,还需要修改SDK制作一个Flash的镜像。焊接......
  • 第十一章 【后端】商品分类管理微服务(11.2)——Lombok
    11.2Lombok官网:https://projectlombok.org/较新版本的idea已默认安装lombok插件Lombok工具提供一系列的注解,使用这些注解可以不用定义getter、setter、equals、constructor等,可以消除java代码的臃肿,编译时它会在字节码文件中自动生成这些通用的方法,简化开发人......
  • 第十一章 【后端】商品分类管理微服务(11.5)——增强响应
    11.5增强响应在前后端分离的开发模式下,我们一般会统一后端的响应格式,比如自定义Response结构,但每个开发者可能会封装各自的Response结构,造成不一致,因此我们需要将响应格式统一起来,定义一个统一的标准响应格式。11.5.1创建响应模块新建yumi-etms-response模块......
  • 第十一章 【后端】商品分类管理微服务(11.4)——spring-boot-devtools
    11.4spring-boot-devtools官网:https://docs.spring.io/spring-boot/reference/using/devtools.htmlSpringBootDevTools是SpringBoot提供的一组易于使用的工具,旨在加速开发和测试过程。它通过提供一系列实用的功能,如自动重启、实时属性更新、依赖项的热替换等,极大地......
  • 第十一章 【后端】商品分类管理微服务(11.1)——创建父工程
    第十一章【后端】商品分类管理微服务11.1创建父工程项目名称:EasyTradeManagerSystem:Easy表示简单易用,Trade表示交易,Manager表示管理,System表示系统,强调系统在商品交易管理方面的便捷性,简称etms。新建工程yumi-etmsyumi-etms作为所有模块的父工程,管理项目的所......
  • 第十一章 抽象类与接口
    一、抽象类和抽象方法抽象类:使用abstract修饰的类抽象方法:在类中没有方法体的方法,称为抽象方法,抽象方法用abstract修饰抽象类中可以没有抽象方法,包含抽象方法的类必是抽象类如果子类没有实现父类中的全部抽象方法,子类也必是抽象类没有抽象构造方法,抽象类不能被实例化抽象......
  • 【Java面试】第十一天
    ......