xctf攻防世界 REVERSE 高手进阶区 re2-cpp-is-awesome
0x01. 进入环境,下载附件
题目给出的是一个无后缀文件,我们将其下载。先看看是否有套壳,发现没有套壳。那么接下来就老套路了
0x02. 问题分析
我们使用IDA Pro打开文件,找到main函数,反编译文件,得到代码如下:
__int64 __fastcall main(int a1, char **a2, char **a3)
{char *v3; // rbx__int64 v4; // rax__int64 v5; // rdx__int64 v6; // rax__int64 v7; // rdx__int64 v8; // rdx__int64 v9; // rdx__int64 i; // [rsp+10h] [rbp-60h]char v12; // [rsp+20h] [rbp-50h]char v13; // [rsp+4Fh] [rbp-21h]__int64 v14; // [rsp+50h] [rbp-20h]int v15; // [rsp+5Ch] [rbp-14h]if ( a1 != 2 ){v3 = *a2;v4 = std::operator<<<std::char_traits<char>>(&std::cout, "Usage: ", a3);v6 = std::operator<<<std::char_traits<char>>(v4, v3, v5);std::operator<<<std::char_traits<char>>(v6, " flag\n", v7);exit(0);}std::allocator<char>::allocator(&v13, a2, a3);std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string(&v12, a2[1], &v13);std::allocator<char>::~allocator(&v13);v15 = 0;for ( i = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::begin(&v12); ; sub_400D7A(&i) ){v14 = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::end(&v12);if ( !(unsigned __int8)sub_400D3D(&i, &v14) )break;v9 = *(unsigned __int8 *)sub_400D9A((__int64)&i);if ( (_BYTE)v9 != off_6020A0[dword_6020C0[v15]] )sub_400B56((__int64)&i, (__int64)&v14, v9);++v15;}sub_400B73((__int64)&i, (__int64)&v14, v8);std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::~basic_string(&v12);return 0LL;
}
阅读完代码,这不就是c++代码么,最核心的内容则是for循环中的内容,我们可以看到,off_6020A0[dword_6020C0[v15]]才是比较爱逻辑中的核心。
我们双击查看off_6020A0变量,发现是一串字符串,如图:
我们再双击查看dword_6020C0变量,一堆地址信息,使用hex视图去查看,如图:
ok,也就是每次使用上述地址去拿到off_6020A0字符里面的信息,开始编写脚本:
S = 'L3t_ME_T3ll_Y0u_S0m3th1ng_1mp0rtant_A_{FL4G}_W0nt_b3_3X4ctly_th4t_345y_t0_c4ptur3_H0wev3r_1T_w1ll_b3_C00l_1F_Y0u_g0t_1t'N = [0x24, 0x0, 0x5, 0x36, 0x65, 0x7, 0x27, 0x26, 0x2d, 0x1, 0x3, 0x0, 0x0d, 0x56, 0x1, 0x3, 0x65, 0x3, 0x2d, 0x16, 0x2,0x15, 0x3, 0x65, 0x0, 0x29, 0x44, 0x44, 0x1, 0x44, 0x2b]
flag = ''for i in N:flag += S[i]print(flag)
得到最终的结果:ALEXCTF{W3_L0v3_C_W1th_CL45535}
xctf攻防世界 REVERSE 高手进阶区 re2-cpp-is-awesome相关推荐
- xctf攻防世界 REVERSE 高手进阶区 Guess-the-Number
0x01. 进入环境,下载附件 题目给出的一个jar文件,我们双击打开,并将文件解压,找到其中的.class文件.我们将其反编译,此处有多种工具,我使用的vscode的Decompiler插件.如图 ...
- xctf攻防世界 REVERSE 高手进阶区 easyRE1
0x01. 进入环境,下载附件 给出了压缩包,解压出一个easy-32和easy-64位文件,使用exeinfo PE打开查看是否加壳,均未加壳,两个文件分别为32位和64位文件. 尝试直接使用IDA ...
- xctf攻防世界 REVERSE 高手进阶区 Reversing-x64Elf-100
0x01. 进入环境,下载附件 题目给出了后缀为re的文件,尝试用exeinfo PE打开查看,如图: 64位文件,无套壳! 0x02. 问题分析 使用IDA64位软件打开该文件,老规矩,找main函 ...
- 攻防世界 Reverse高手进阶区 2分题 reverse-for-the-holy-grail-350
前言 继续ctf的旅程 攻防世界Reverse高手进阶区的2分题 本篇是reverse-for-the-holy-grail-350的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数 ...
- 攻防世界 Reverse高手进阶区 3分题 crackme
前言 继续ctf的旅程 攻防世界Reverse高手进阶区的3分题 本篇是crackme的writeup 攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 查壳,显示nsPack壳 找了个 ...
- XCTF 攻防世界 web 高手进阶区
文章目录 ics-07 shrine( flask + jinja2 的 SSTI) easytornado(模板注入) upload(文件名注入) supersqli(堆叠注入) php_rce(T ...
- xctf攻防世界 MISC高手进阶区 Reverse-it
1.进入环境,下载附件 给的是一个无后缀的文件,用winhex打开如图: 关键词搜索后无果,考虑提示 2. 问题分析 1 反转 题目提示Reverse-it,那么该reverse什么?我们分析文件头, ...
- xctf攻防世界 Web高手进阶区 wtf.sh-150
1.进入环境,查看内容 一串奇奇怪怪的留言板内容,记着我们Login Register,搞个账户注册玩玩,登录进去后发现就是只能发个帖子.也没有什么可以利用的内容,于是使用dirsearch扫一扫,一 ...
- xctf攻防世界 MISC高手进阶区 互相伤害
1. 进入环境,下载附件 题目给的是一个文件,我们直接扔进kali中,发现是流量包,如图: 使用file命令查看该文件类型,发现也是提示是pcapng文件,如图: 2. 问题分析 提取数据 我们打开文 ...
- xctf攻防世界 MISC高手进阶区 3-11
1.进入环境,下载附件 题目给的是一张猫猫png图片,如图: 2. 问题分析 kali中zsteg 我发现这个工具真的好用,如图: 如图,第一通道,rgb三色的lsb(least significan ...
最新文章
- 3.4.2 连接查询
- C++ socket传输结构体
- 牛客小白月赛37【部分题解】
- 2016 10 26考试 NOIP模拟赛 杂题
- 遇到可爱女生如何搭讪?
- 6-5-3:STL之stack和queue——优先级队列-priority_queue(堆)的基本使用和模拟实现以及仿函数
- 从Google Scholar看各大科技公司科研水平
- LC-410 分割数组的最大和
- centos转换linux格式,CentOS 下转换网易云音乐ncm格式为mp3
- excel单元格内容拆分_EXCEL批量拆分单元格,也可以这么快
- JS仿写刮刮乐小例子
- 手把手教你用JAVA实现“声音复刻”功能(复刻你的声音)标贝科技
- 爬取京东网页的通用代码框架及其问题(MOOC)
- 制作流程图用什么软件比较好?这些简单好用的制作软件推荐给你
- 破解微信数据库 并查询数据上传服务器
- 使用RestFul风格操作ElasticSearch 看这篇够了
- 相对论通俗演义(1-10) 第十章
- php solr,PHP: Solr - Manual
- 2021安洵杯ezjson-wp
- 第十四届中国大学生服务外包创新创业大赛百度赛道-智慧医疗赛题baselin
热门文章
- “挖坑填坑”理解快速排序
- linux修改网卡名称命令,linux修改网卡名称
- 计算机桌面弹窗,网站弹窗广告:教你4种方法,永久关闭电脑弹窗广告,还你一个干净的桌面 _ 惠州SEO...
- 全球及中国有机橘子油行业投资前景预测与重点企业经营分析报告2021-2027年版
- 2021年Android发展前景怎么样?Android发展前景分析
- recovery mode
- c# NPOI按模板导出
- linux cups打印中文,Linux使用cups进行打印
- 计算机网络初探教案,计算机网络基础知识教案.doc
- Reinitialized existing Git repository in xxx