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

REVERSE学习笔记(攻防世界xxxorrr)

攻防世界xxxorrr

首先我们把文件拖入ida中,点击进入main函数

其中,unsigned是无符号的意思,fgets 是C语言标准库中的一个函数,用于从指定的输入流(如文件或标准输入)中读取一行字符串

 

我们先点击进入s1,发现s1是一个字符串,我们在点击sub_916发现它是一个函数,分析代码后发现,我们需要让s1和s2相等这样就可以得到flag ;而在我们尝试后发现并不能得到flag。我们猜测s1或者s2可能会被加密,我们搜索交叉引用,发现一个类似加密s1的函数

我们对s1解密后在将s1和s2进行异或运算即可得到flag。

补充一些简单的知识,(__readfsqword 是一个与 x86/x86-64 架构 相关的内联汇编函数,通常用于从特定的内存地址中读取一个 64位(quad word) 的数据。)(__cxa_atexit 是一个与 C++ 标准库相关的内部函数,通常用于注册一个函数,使其在程序退出时被调用。这种机制常用于资源清理、对象销毁等操作。它类似于 C 标准库中的 atexit 函数,但 __cxa_atexit 是 C++ 的扩展,支持更多功能,例如处理动态库(shared libraries)的加载和卸载。)

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

相关文章:

  • 【Java学习笔记】==运算符
  • 解决常见数据库问题:保障数据安全与稳定的全方位指南
  • 模板源码建站、定制建站和SaaS 建站有什么区别?企业建站应该怎么选?
  • C++引用编程练习
  • XILINX-DDR4-自定义componet(x8)-之一
  • 六西格玛觉醒:一场数据思维的启蒙运动​
  • 【江苏省】《信息技术应用创新软件适配改造成本评估规范》(DB32/T 4935-2024)-标准解读系列
  • 【Linux Nano Vim快捷键大全】
  • 基于EFISH-SCB-RK3576/SAIL-RK3576的康复训练机器人技术方案‌
  • Linux下批量提取子文件夹文件到当前目录
  • libmemcached库api接口讲解二
  • 股指期货套期保值怎么操作?
  • 【Linux】shell内置命令fg,bg和jobs
  • tensorflow安装及简单例程学习
  • 字符田字格绘制
  • Java的多线程笔记
  • 企业报表平台如何实现降本增效
  • requestAnimationFrame 与 requestIdleCallback 对比
  • JavaScript中执行上下文和执行栈是什么?
  • Linux `whoami` 命令深度解析与高阶应用指南
  • 【USRP】在linux下安装python API调用
  • 保姆级!MeloTTS部署 且支持流式接口
  • Vue3在使用渲染函数h时候使用v-loading
  • 最小二乘拟合曲线
  • C#强类型枚举的入门理解
  • C++矩阵操作:正交矩阵(旋转矩阵)
  • 级联与端到端对话系统架构解析:以Moshi为例
  • 材料×工艺×AI:猎板PCB重构汽车电子四层板技术逻辑
  • 基于大模型的TIA诊疗全流程智能决策系统技术方案
  • 经典还原反应解析:Wolff-Kishner机制与黄鸣龙改进法