当前位置:网站首页>xtu-ctf Challenges-Reverse 1、2
xtu-ctf Challenges-Reverse 1、2
2022-07-23 05:40:00 【GSflyy】
对网络安全一直有兴趣,但技术上始终无法入门,想着寒假或许能让自己正式步入网安的学习之路,学长说教程终究次要,刷题才是根本,现给大家送上两份reverse的简单题解,本人小白水平,目前也仍处于摸索阶段,望各位大佬轻喷
1.FIRST
题目地址:http://172.22.114.206:8000/challenges#First
题目有附件,下载好后文件名为First.exe
放进PEID中检查下是否带壳,检查无壳,准备直接放入ida,开始逆向
打开32位的ida,选择默认的载入方式即可
好,正式来到程序执行界面
直接常规操作,查找字符串

发现可疑字符串,双击来到字符串所在程序地址
再次双击箭头处,出现一个程序执行流程图,不必研究,直接f5进行反汇编
大概看一下程序末尾处,有个strcmp函数,很明显,当两个字符串相同时输出congratulations,那么我们只需要知道这个字符串是什么即可
检查程序,并手写一个相仿的程序,让它对str1字符串执行相反的操作,即可得到str2
开始编写
运行一下,得到结果
这就是flag了
2.SECOND
题目地址:http://172.22.114.206:8000/challenges#Second
这道题最大的难点就是加壳…
同样下载好源文件,放入PEID查壳
可以看到是有壳的,但是upx壳是一种比较简单的壳,网上有一些工具可以直接脱壳(起初想od绕开壳的,但是技术不行,只好找工具上了)
UPXtools
喏,就长这样,把要脱壳的文件拖进去,点解压缩再点开始,就会生成一份脱壳后的文件
PEID再查一次,看是否脱壳成功
好的成功了,照例放进ida检查
也是一样的常规操作查询字符串,不出所料找到congratulations
同样的找到congratulations所在的程序部分,f5反汇编后显示伪c如下:
前面没显示全没关系,不影响读者理解程序后段的意思,大意是比较两个字符串,若完全相同则输出congratulations
因此,同样手写一个c程序跑一下就行:
运行一下,flag就有了
这两道题都不难,主要是拥有相应工具并掌握了工具的使用办法,解题就手到擒来了。
边栏推荐
猜你喜欢
随机推荐
IMG tag settings height and width are invalid
Common errors in C language debugging -- brief answer
Application of higher-order functions: handwritten promise source code (II)
大厂面试机器学习算法(0):特征工程 | 数据预处理
构造函数,原型链,instanceOf
Pyspark learning notes
【uiautomation】键指令大全(以及三种调用方式)+常用鼠标动作+SendKeys+Inspect学习
Transform: translate (-50%, -50%) border problem
Analysis of flask source code (I) request entry
Keras保存训练过程中的最好模型
Install enterprise pycharm and Anaconda
Flex+js realizes that the height of the internal box follows the maximum height
[python flask notes 5] blueprint is easy to use
[Hudi]hudi的编译及hudi&spark和hudi&flink的简单使用
[untitled]
动态设置卡片的主题色
基于el-table的树形表格及js-xlsx实现下载excel功能(二)
js的继承方式
Points for attention when using El table to lazy load tree tables
When using cache in sprintboot, the data cannot be loaded

![[Python flask note 5] Blueprint simple à utiliser](/img/0a/00b259f42e2fa83d4871263cc5f184.png)







