XCTF reverse maze
一.查壳

二.拖入ida64,静态调试,找到主函数F5反编译

二.1 思路分析(逆向是真的费时间,每个函数都要分析过去):
1.发现每个if最终都会进入LABEL-15

点进去,看看这个函数是干啥的。

这里基本可以推理出a3是行,a2是列了。
那么我们的迷宫一定是一个8列的矩阵。
得知这点,退出去,再分析。

v9是行,SHIDWORD函数是指的下一个字节,得知这点,从上面分析可知:
就将四个函数点进去就可以判断方向了。
举个例子:

相对应,其他方向,O:下,o:上,0:左,.:右。
2.将迷宫打印出来,python脚本如下。
maze=" ******* * **** * **** * *** *# *** *** *** *********"
res=""
count=0
for str in maze:
res+=str
count+=1
if count%8==0:
print(res)
res=""

3.由于我们是从左上角开始的,开始我们的路线
个人感觉答案不唯一的。。。。没办法。》-《。。。
根据迷宫最后得到的flag: nctf{o0oo00O000oooo…OO}
XCTF reverse maze的更多相关文章
- X-CTF(REVERSE高级) 666
主函数输入的字符会和key比较长度和enflag比较内容,所以这道题的flag和输入有关 key长度为0x12,enflag的值为:izwhroz""w"v.K" ...
- X-CTF(REVERSE入门) re1
运行程序 32位ida打开,shift+f12查看运行时的中文,这里双击flag get字符串进入rdata段 双击后面的函数,进入text段,小的窗口视图里可以看见汇编代码调用函数的句子 右边的即是 ...
- X-CTF(REVERSE高级) Reversing-x64Elf-100
逻辑很简单,如果sub_4006FD函数返回假则返回Nice! 图1 进入sub_4006FD函数,加密过程也很简单,这里值得注意的有两点 一.8*(i%3)是二维数组的第一个参数,这里是取v3的地址 ...
- HGAME2020 reverse maze
1.查壳,发现是64位的linux文件,由于虚拟机没装linux,只能静态调了 2.拖入ida分析,找到主函数 2.1.思路分析 1.先将对应的ASCII的转换成字符,因为迷宫题一般都是用wsad,或 ...
- [BUUCTF]REVERSE——[HDCTF2019]Maze
[HDCTF2019]Maze 附件 步骤: 例行检查,32位程序,upx壳 upx脱壳儿后扔进32位ida,首先检索程序里的字符串 有类似迷宫的字符串,下面也有有关flag的提示字符串,但是没法进行 ...
- 迷宫 maze
1 #include <stdlib.h> #include <stdio.h> #define stackinitsize 50 #define stackincrement ...
- 【CTF】Pwn入门 XCTF 部分writeup
碎碎念 咕咕咕了好久的Pwn,临时抱佛脚入门一下. 先安利之前看的一个 Reverse+Pwn 讲解视频 讲的还是很不错的,建议耐心看完 另外感觉Reverse和Pwn都好难!! 不,CTF好难!! ...
- LeetCode 7. Reverse Integer
Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 Have you ...
- js sort() reverse()
数组中存在的两个方法:sort()和reverse() 直接用sort(),如下: ,,,,,,,,,,,]; console.log(array.sort());ps:[0, 1, 2, 2, 29 ...
随机推荐
- Nginx|Apache目录权限禁止执行PHP设置
Ngnix: location ~ /upload/.*.(php|php5)?$ { deny all; } 这就是禁止upload内执行php,但是图片可以打开哦 多目录禁止: location ...
- HarmonyOS去除页面顶部title的方式
在config.json文件中module节点中添加如下代码 "metaData":{ "customizeData":[ { "name" ...
- 血缘关系分析工具SQLFLOW--实践指南
SQLFlow 是用于追溯数据血缘关系的工具,它自诞生以来以帮助成千上万的工程师即用户解决了困扰许久的数据血缘梳理工作. 数据库中视图(View)的数据来自表(Table)或其他视图,视图中字段(Co ...
- Python+Selenium - windows安全中心的弹窗(账号登录)
当出现如下图所示的 Windows安全中心弹窗,需要输入用户名和密码时 如何用Python+selenium跳过这个登录. 步骤: 1.在注册表中三个位置各添加两个东西:iexplore.exe 和 ...
- TSR交通标志检测与识别
TSR交通标志检测与识别 说明: 传统图像处理算法的TSR集成在在ARM+DSP上运行,深度学习开发的TSR集成到FPGA上运行. 输入输出接口 Input: (1)图像视频分辨率(整型int) (2 ...
- 噪声标签的负训练:ICCV2019论文解析
噪声标签的负训练:ICCV2019论文解析 NLNL: Negative Learning for Noisy Labels 论文链接: http://openaccess.thecvf.com/co ...
- 3D结构光
3D结构光 3D结构光的整个系统包含结构光投影设备.摄像机.图像采集和处理系统.其过程就是投影设备发射光线到被测物体上,摄像机拍摄在被测物体上形成的三维光图形,拍摄图像经采集处理系统处理后获得被测物体 ...
- CUDA 7 流并发性优化
异构计算是指高效地使用系统中的所有处理器,包括 CPU 和 GPU .为此,应用程序必须在多个处理器上并发执行函数. CUDA 应用程序通过在 streams 中执行异步命令来管理并发性,这些命令是按 ...
- Docker Context基本原理
Docker Context基本原理 介绍 本指南介绍了上下文如何使单个Docker CLI轻松管理多个Swarm集群.多个Kubernetes集群和多个单独的Docker节点. 单个Docker C ...
- 使用adb命令在模拟器安装apk
1.adb connect 127.0.0.1:7555 连接网易模拟器地址2.adb devices -L 查看有几个连接端口地址3.执行推送配置文件 命令 adb push 文件 路径