攻防世界 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进行测试. 发现已经 ...
随机推荐
- Linux 驱动框架---设备文件devfs
设备文件系统 Linux引入了虚拟文件系统,从而使设备的访问可以像访问普通文件系统一样.因此在内核中描述打开文件的数据inode中的rdev成员用来记录设备文件对应到的设备号.设备文件也由一个对应的f ...
- html+ashx + NPOI 实现导出Excel文件并且预览和下载
先看看实现效果 简单描述一下实现过程: 1. 生成报表,返回报表文件路径 $.post 请求一般处理文件ashx ,通过npoi生成对应的excel文件.生成成功后,返回文件保存的完整路径 2. ...
- 论文 公式 排版 编辑 工具 NoteExpress & MathType
1 1 论文 公式 排版 编辑 工具: NoteExpress http://www.noteexpress.net/index2.html 1 MathType http://www.dessci. ...
- Android APP 多端适配
Android APP 多端适配 传统的多终端适配方案,是为大尺寸 Pad开发一个特定的 HD版本. 但是目前支持 Android 系统的设备类型越来越丰富,不同类型的设备尺寸也越来越多样化,特定的H ...
- js console.log color all in one
js console.log color all in one console.log color Chrome console.log 语法 / grammar %c, %s, css style ...
- webpack 5
webpack 5 webpack 5 requires at least Node.js 10.13.0 (LTS). https://webpack.js.org/migrate/5/ https ...
- You Don't Know the Hack tech in the frontend development
You Don't Know the Hack tech in the frontend development 你所不知道的前端黑科技 css in js animation https://www ...
- js & touch & pull down & load more
js & touch & pull down & load more https://www.jianshu.com/p/93597d6bd77d index-list htt ...
- Taro 版本
Taro 版本 https://taro-docs.jd.com/taro/versions.html 1.x 1.3.34 https://taro-docs.jd.com/taro/docs/1. ...
- PAUL ADAMS ARCHITECT:费城东北区的房地产市场逆势而行
根据Zillow.com的房产数据,大费城地区前三季度成交房产的平均价格为27.2万美元,较去年同期增长了13.4%,为10年同期最高.即使如此,27.2万的均价与纽约相比依然相距甚远,其中尤其是费城 ...