西湖论剑2020线上初赛re之Cellular

2024-01-03 05:59

本文主要是介绍西湖论剑2020线上初赛re之Cellular,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

西湖论剑re之Cellular

  • 前言
  • 过程
  • 总结


前言

作为一个菜鸡,从未体验过用od和ida两个结合在一起居然是如此的快乐,实在是太感动了(第一次用od整出了flag,快乐)


过程

首先就是查看文件类型
在这里插入图片描述
32位.exe程序,无壳,放入ida打开,Shift+F12查找字符串
在这里插入图片描述
出现了这个,一看就觉得应该是个迷宫类的题目。

F5看伪代码
在这里插入图片描述
发现两个关键函数,猜测第一个函数应该就是在构造地图,第二个很明显就是检测输入是否正确了。

跟进去后发现两个函数都很复杂,我是觉得很头大的了,然后又想起了之前在攻防世界里的一道题:大致就是可以在内存里看程序自己构造出来的地图。

于是就打开了od
一路F8
在这里插入图片描述
在这儿停住之后,下个断点,重新开始,再次跟进到这儿的时候F7,然后再次一路F8,重复一次上述过程,然后程序就运行到了主函数的位置了。

继续F8
在这里插入图片描述
可以看到有一个循环四次的跳转,这里也就是主函数的这里在这里插入图片描述
也就是说,这四次跳转结束之后地图就算是构造好了,可惜的是按照之前一道题的在栈顶地址处找的时候啥都没找到,这条路我就没走通了。

但是后来在埋着脑袋看CheckFlag()函数的时候发现这个程序的输入只有“R”和“L”两种字符,并且判断的时候只是判断当前字符是不是其中的一个,后续的处理又都是相差无几的,然后就抱着试一试的态度准备试试看能不能穷举出来
在这里插入图片描述
箭头指的就是检查函数,F7跟进去
在这里插入图片描述
三个箭头分别是for循环里获取输入长度的函数、判断当前输入字符是否为“L”、是否为“R”。这里有个注意的地方,如果第一次就猜一个字符的话他不管你对不对都会进行第二次判定,而如果第一次输入的是两位的话,都对的话是会从第三次判断处跳出的,有错的话则会在第二次判断时跳出。

成果:
在这里插入图片描述

然后我就是这么一点点来的。总觉得自己走的不是正道(苦笑)。

在这里插入图片描述
现在看着感觉这几个都还很有看头,只是能力不够看不太懂,只好剑走偏锋了。


总结

因为第一次通过od和ida动静结合做出来一道题目,感觉很开心,所以写个这个纪念一下,毕竟菜鸡以前只会看ida。
对了,如果有大佬的路子更具有普遍性的话,还希望能分享一下,毕竟我这个不太正规来的。

这篇关于西湖论剑2020线上初赛re之Cellular的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/564713

相关文章

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

如何打造个性化大学生线上聊天交友系统?Java SpringBoot Vue教程,2025最新设计思路

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录

百度之星 2015 初赛(1) 1002 找连续数

找连续数      Accepts: 401      Submissions: 1911  Time Limit: 2000/1000 MS (Java/Others)      Memory Limit: 32768/32768 K (Java/Others) Problem Description 小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是

百度之星初赛1002(二分搜索)

序列变换    Accepts: 816    Submissions: 3578  Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 给定序列 A={A1,A2,...,An} , 要求改变序列A中

百度之星初赛1006(计算几何:能包含凸包的最小矩形面积)

矩形面积    Accepts: 717    Submissions: 1619  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 小度熊有一个桌面,小度熊剪了很多矩形放在桌面上,小度熊想知道能把这些

013.Python爬虫系列_re正则解析

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈 优

2020年SEO行业发展变化和趋势分析!

一、搜索引擎算法发展轨迹 第一阶段:人工目录(1997年-2001年“雅虎早期搜索模式”); 第二阶段:文本分析(2001年-2004年“以关键词和背景颜色一样,堆积大量关键词,就会有非常好的排名; 第三阶段:链接分析(2004年-2009年“以反向链接为核心算法的阶段”),这时行业内有句话是内容为王,外链为皇; 第四阶段:智能分析(2009年-现在“以满足用户人性化需求的用户浏览行为分析

国内领先线上运动平台:如何借助AI技术实现业务腾飞与用户体验升级

&nbsp;“ 从智能训练到身体分析,再到辅助判决,AI技术正以惊人的速度渗透进体育和健身领域,为运动员和健身爱好者提供了前所未有的个性化体验。 ” AI,运动的智能伴侣 在巴黎奥运会上,AI技术的运用成为了焦点。它不仅为运动员提供了精准的训练指导,还通过对运动员身体状况的实时分析,帮助他们避免潜在的运动伤害,提升竞技状态。 同时,AI在辅助判决上的应用,确保了比赛的公平与

2020年数据术语的故事

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 2020年整个技术圈子要说话题最多的,应该是大数据方向。新感念层出不穷,数据湖概念就是其中之一。这篇文章是关于数据仓库、数据湖、数据集市、数据中台等一些列的概念和发展进程。希望给大家带来一个全面的感知。 本文作者:Murkey学习之旅、开心自由天使 本文整理:大数据技术与架构,未经允许不得转载。 如今,随着诸如互联网以及物联网等