攻防世界 maze NJUPT CTF 2017
迷宫题
1 __int64 __fastcall main(__int64 a1, char **a2, char **a3)
2 {
3 signed __int64 mid_i; // rbx
4 signed int mid_str; // eax
5 bool v5; // bp
6 bool v6; // al
7 const char *v7; // rdi
8 __int64 arr; // [rsp+0h] [rbp-28h]
9
10 arr = 0LL;
11 puts("Input flag:");
12 scanf("%s", &s1, 0LL);
13 if ( strlen(&s1) != 24 || strncmp(&s1, "nctf{", 5uLL) || *(&byte_6010BF + 24) != '}' )// 输入24位,前5位为ntcf{ 第24位是}
14 {
15 LABEL_22:
16 puts("Wrong flag!");
17 exit(-1);
18 }
19 mid_i = 5LL;
20 if ( strlen(&s1) - 1 > 5 )
21 {
22 while ( 1 )
23 {
24 mid_str = *(&s1 + mid_i); // 从输入的第5位开始
25 v5 = 0;
26 if ( mid_str > 'N' )
27 {
28 mid_str = mid_str;
29 if ( mid_str == 'O' )
30 {
31 v6 = l_sub_400650(&arr + 1); // 操作j 列 'O'对应左
1 bool __fastcall sub_400650(_DWORD *a1)
2 {
3 int v1; // eax
4
5 v1 = (*a1)--;
6 return v1 > 0;
7 }
32 goto LABEL_14;
33 }
34 if ( mid_str == 'o' )
35 {
36 v6 = l_add_400660(&arr + 1); // 操作j 列 'o'对应右
37 goto LABEL_14;
38 }
39 }
40 else
41 {
42 mid_str = mid_str;
43 if ( mid_str == '.' )
44 {
45 v6 = h_sub_400670(&arr); // 操作i 行 '.'对应上
1 bool __fastcall sub_400670(_DWORD *a1)
2 {
3 int v1; // eax
4
5 v1 = (*a1)--;
6 return v1 > 0;
7 }
46 goto LABEL_14;
47 }
48 if ( mid_str == '0' )
49 {
50 v6 = h_sub_400680(&arr); // 操作i 行 '0'对应下
51 LABEL_14:
52 v5 = v6;
53 goto LABEL_15;
54 }
55 }
56 LABEL_15:
57 if ( !check_400690(asc_601060, SHIDWORD(arr), arr) )// 走' ' 或者 '#'
58 // #define HIDWORD(x) (((_DWORD)&(x)+1))
59 //
60 // ******* * **** * **** * *** *# *** *** *** *********
61 goto LABEL_22;
62 if ( ++mid_i >= strlen(&s1) - 1 )
63 {
64 if ( v5 )
65 break;
66 LABEL_20:
67 v7 = "Wrong flag!";
68 goto LABEL_21;
69 }
70 }
71 }
72 if ( asc_601060[8 * arr + SHIDWORD(arr)] != '#' )// 最终移动到#
73 goto LABEL_20;
74 v7 = "Congratulations!";
75 LABEL_21:
76 puts(v7);
77 return 0LL;
78 }
处理脚本:
1 import numpy as np
2 q='nctf{'
3 h='}'
4 asc=' ******* * **** * **** * *** *# *** *** *** *********'
5 mg=np.array(list(asc))
6 print(str(mg.reshape(int(len(asc)/8),8)).replace('\'',''))
7 # [[ * * * * * *]
8 # [* * *]
9 # [* * * * * *]
10 # [* * * * *]
11 # [* * # *]
12 # [* * * * * *]
13 # [* * *]
14 # [* * * * * * * *]]
15 mid_str='右下右右下下左下下下右右右右上上左左'.replace('上','.').replace('下','0').replace('左','O').replace('右','o')
16 print(q+mid_str+h)
17 # nctf{o0oo00O000oooo..OO}
//'O'
攻防世界 maze NJUPT CTF 2017的更多相关文章
- 逆向-攻防世界-maze
题目提示是走迷宫. IDA载入程序分析. 输入字符长度必须是24,开头必须是nctf{,结尾必须是}.在125处按R就可以变成字符. sub_400650和sub_400660是关键函数,分析sub_ ...
- 攻防世界Hello,CTF writeup
解题过程 首先在ida中进行反汇编,查看main函数的代码: 代码的的36行处进行了一个字符串比较,如果v10的值等于v13的值会反馈一个success的输出.v13的值在第15行给出,因此需要知道v ...
- 攻防世界--maze
测试文件下载:https://adworld.xctf.org.cn/media/task/attachments/fa4c78d25eea4081864918803996e615 1.准备 获得信息 ...
- 攻防世界 csaw2013reversing2 CSAW CTF 2014
运行程序 flag显示乱码 IDA打开查看程序逻辑 1 int __cdecl __noreturn main(int argc, const char **argv, const char **en ...
- 攻防世界 reverse 新手练习区
1.re1 DUTCTF IDA shift+F12 查看字符串 DUTCTF{We1c0met0DUTCTF} 2.game ZSCTF zsctf{T9is_tOpic_1s_v5ry_int7r ...
- 攻防世界 WEB 高手进阶区 TokyoWesterns CTF shrine Writeup
攻防世界 WEB 高手进阶区 TokyoWesterns CTF shrine Writeup 题目介绍 题目考点 模板注入 Writeup 进入题目 import flask import os a ...
- CTF -攻防世界-crypto新手区(5~11)
easy_RSA 首先如果你没有密码学基础是得去恶补一下的 然后步骤是先算出欧拉函数 之后提交注意是cyberpeace{********}这样的 ,博主以为是flag{}耽误了很长时间 明明没算错 ...
- 攻防世界 reverse evil
这是2017 ddctf的一道逆向题, 挑战:<恶意软件分析> 赛题背景: 员工小A收到了一封邮件,带一个文档附件,小A随手打开了附件.随后IT部门发现小A的电脑发出了异常网络访问请求,进 ...
- 攻防世界 | CAT
来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经 ...
随机推荐
- React Slingshot
React Slingshot React 弹弓 https://github.com/coryhouse/react-slingshot https://decoupledkit-react.rea ...
- image auto downloader
image auto downloader icons killer / js crawler http only + same-origin OK "use strict"; / ...
- vs code & macOS services
vs code & macOS services Mac OS X, Open Folder With VS Code (right click) https://github.com/Mic ...
- IM & WebSockets
IM & WebSockets WebSocket API https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API ht ...
- taro 小程序 & touch event 转换 bug
taro 小程序 & touch event 转换 bug before after 事件处理 https://nervjs.github.io/taro/docs/event.html#do ...
- git & Angular git commit 规范
git & Angular git commit 规范 https://github.com/angular/angular/commits/master https://github.com ...
- VSCode & useful Extensions
VSCode & useful Extensions Code Spell Checker bug user dictionary https://www.cnblogs.com/xgqfrm ...
- Swift 5.1
Swift 5.1 WebView & WKWebView https://developer.apple.com/swift-playgrounds/ https://developer.a ...
- Flutter: 下拉刷新,上拉加载更多
import 'package:flutter/material.dart'; import 'package:english_words/english_words.dart'; void main ...
- PAUL ADAMS ARCHITECT:日本楼市仍保持稳定
日本国土交通省从2008年11月开始,到2020年10月,连续追踪日本的公寓房价和日经指数两个数值的变动关联性,结果显示相关系数是0.935,也就是说在此期间,日本楼市和股市有着非常强的正相关. 保罗 ...