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

nssctf第一题[SWPUCTF 2021 新生赛]re1

**加粗样式**
题目如上:
下载附件得到了一个可执行文件,在这里插入图片描述
双击运行,
在这里插入图片描述
由于是逆向题,先放到ida中按f5,看一下伪码,
在这里插入图片描述
解读代码:strcpy(Str2, “{34sy_r3v3rs3}”);将字符串{34sy_r3v3rs3}赋给Str2;
scanf(“%s”, Str1);获取选手输入的值赋给Str1;

  for ( i = 0; i <= 665; ++i ){if ( Str1[i] == 101 )Str1[i] = 51;}for ( i = 0; i <= 665; ++i ){if ( Str1[i] == 97 )Str1[i] = 52;}`

如果Str1中有e,则替换为3,因为e的ascll码是101,3的ascll码是51;
同理,如果Str1中有a,则替换为4,因为a的ascll码是97,4的ascll码是52;

strcmp 函数的作用与用法
strcmp 是 C 语言标准库中的一个字符串比较函数,位于 <string.h> 头文件中。它的主要作用是比较两个字符串的字典序(即按 ASCII 码值比较)。
函数原型
c
运行
int strcmp(const char *str1, const char *str2);
返回值含义
返回值 < 0:表示 str1 小于 str2(按字典序)
返回值 = 0:表示 str1 等于 str2
返回值 > 0:表示 str1 大于 str2(按字典序)

 if ( strcmp(Str1, Str2) )printf("you are wrong,see again!");elseprintf("you are right!");

所以最后,比较Str1, Str2,如果想等就输出you are right!
已知Str2是{34sy_r3v3rs3},输入的字符串Str1将e换为4,a换为3后等于{34sy_r3v3rs3}即可,故应输入{easy_reverse},按格式提交NSSCTF{easy_reverse}
在这里插入图片描述
完结撒花

http://www.xdnf.cn/news/764425.html

相关文章:

  • 每日算法刷题计划Day20 6.2:leetcode二分答案3道题,用时1h20min
  • 深度学习|pytorch基本运算-hadamard积、点积和矩阵乘法
  • 如何学习才能更好地理解人工智能工程技术专业和其他信息技术专业的关联性?
  • Python-matplotlib库画不规则图
  • 机器视觉图像处理之图像滤波
  • LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 上
  • 深度学习与神经网络 前馈神经网络
  • 【LeetCode】数组刷题汇总记录
  • 二、Kubernetes 环境搭建
  • vue中父子参数传递双向的方式不同
  • Git GitHub Gitee
  • Windows环境下Scoop包管理工具的全面指南
  • [yolov11改进系列]基于yolov11引入特征融合注意网络FFA-Net的python源码+训练源码
  • 自定义序列生成器之单体架构实现
  • I2C Host Adapter (1)
  • 移除3D对象的某些部分点云
  • 使用TDEngine REST API + Python来计算电力指标的ETL真实案例
  • 前端框架Vue
  • CTF:网络安全的实战演练场
  • 系统级 EOS 测试方法 - System Level EOS Testing Method
  • Ⅱ.计算机二级选择题(运算符与表达式)
  • C++之动态数组vector
  • 【软件测试】测试框架(unittest/pytest)
  • 【Elasticsearch】ILM(Index Lifecycle Management)策略详解
  • 【Java Web】速通Tomcat
  • Origin将杂乱的分组散点图升级为美观的带颜色映射的气泡图
  • Java垃圾回收机制详解:从原理到实践
  • 数字规则:进制转换与原码、反码、补码
  • 第九天:java注解
  • Cesium快速入门到精通系列教程三:添加物体与3D建筑物