博客
关于我
2019 红帽杯 easyRE
阅读量:681 次
发布时间:2019-03-17

本文共 779 字,大约阅读时间需要 2 分钟。

按照线索分析,我发现进程中的关键函数名称均以“sub_”开头,这表明程序的核心逻辑主要集中在这些子函数中。通过调试,我观察到程序对用户输入的处理逻辑较为复杂,它涉及到一系列的字节操作和条件判断。

首先,我分析出函数sub_4406E0可能是用于处理用户输入的数据的。这些调用中包含了多个条件判断,尤其是关于数组v15和v14的异或操作:if(v15[i] ^ i) != v14[i])。通过观察这些条件判断的逻辑,我可以推测v15数组中的元素是一个与索引异或后的值,可能与输入的长度相关。

随后,我发现程序中有一个长度为36的字节数组v17,数组中的每个元素被赋予了特定的字节值(如0x73,0x6F,0x6C等)。结合这些字节值与ASCII字符码的映射关系,我猜测v17数组中的每个元素对应的是空格、f、l、a、g这四个字母,基于用户提示中提到的“flag”的信息。通过将这些字节值转换为对应的字符,确实得到了“flag”的提示。

接下来,我注意到程序中存在一段经过Base64编码的字符串。通过分析编码原理,我逐步解码这串数据,最终得到了原文内容。基于这些初步的发现,我可以进一步分析程序的调用链,寻找与获取.flag相关的函数调用。

在进一步的调试中,我发现程序中存在多个子函数,特别是sub_400E44函数,这个函数被多次调用,并且处理的是一个长度为25的字节数组。通过逆向逻辑推理,我可以推测这个数组是用来存储一个加密后的密文,而多次调用sub_400E44函数可能是为了移除某种加密保护。

最终,我在sub_400360函数中发现了一个关键的数组解析逻辑。这是一个字节级数组,该数组中的每个元素经过了高低字节的异或运算。通过解析这个逻辑,我发现数组中的元素构成了“flag{Act1ve_Defen5e_Test}”这一完整的flag字符串。

转载地址:http://dxgqz.baihongyu.com/

你可能感兴趣的文章
opencv9-膨胀和腐蚀
查看>>
OpenCV_ cv2.imshow()
查看>>
opencv_core.dir/objects.a(vs_version.rc.obj)‘ is incompatible with i386:x86-64 output
查看>>
opencv——图像缩放1(resize)
查看>>
opencv——最简单的视频读取
查看>>
Opencv——模块介绍
查看>>
OpenCV与AI深度学习 | 2024年AI初学者需要掌握的热门技能有哪些?
查看>>
OpenCV与AI深度学习 | CIB-SE-YOLOv8: 优化的YOLOv8, 用于施工现场的安全设备实时检测 !
查看>>
OpenCV与AI深度学习 | CoTracker3:用于卓越点跟踪的最新 AI 模型
查看>>
OpenCV与AI深度学习 | OpenCV中八种不同的目标追踪算法
查看>>
OpenCV与AI深度学习 | OpenCV图像拼接--Stitching detailed使用与参数介绍
查看>>
OpenCV与AI深度学习 | OpenCV如何读取仪表中的指针刻度
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(一) :直接拼接
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(三):基于特征匹配拼接
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(二) :基于模板匹配拼接
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(四):基于Stitcher类拼接
查看>>
OpenCV与AI深度学习 | OpenCV快速傅里叶变换(FFT)用于图像和视频流的模糊检测(建议收藏!)
查看>>
OpenCV与AI深度学习 | PaddleOCR 2.9 发布, 正式开源文本图像智能分析利器
查看>>
OpenCV与AI深度学习 | SAM2(Segment Anything Model 2)新一代分割一切大模型介绍与使用(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | T-Rex Label !超震撼 AI 自动标注工具,开箱即用、检测一切
查看>>