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相关推荐

  1. xctf攻防世界 REVERSE 高手进阶区 Guess-the-Number

    0x01. 进入环境,下载附件 题目给出的一个jar文件,我们双击打开,并将文件解压,找到其中的.class文件.我们将其反编译,此处有多种工具,我使用的vscode的Decompiler插件.如图 ...

  2. xctf攻防世界 REVERSE 高手进阶区 easyRE1

    0x01. 进入环境,下载附件 给出了压缩包,解压出一个easy-32和easy-64位文件,使用exeinfo PE打开查看是否加壳,均未加壳,两个文件分别为32位和64位文件. 尝试直接使用IDA ...

  3. xctf攻防世界 REVERSE 高手进阶区 Reversing-x64Elf-100

    0x01. 进入环境,下载附件 题目给出了后缀为re的文件,尝试用exeinfo PE打开查看,如图: 64位文件,无套壳! 0x02. 问题分析 使用IDA64位软件打开该文件,老规矩,找main函 ...

  4. 攻防世界 Reverse高手进阶区 2分题 reverse-for-the-holy-grail-350

    前言 继续ctf的旅程 攻防世界Reverse高手进阶区的2分题 本篇是reverse-for-the-holy-grail-350的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数 ...

  5. 攻防世界 Reverse高手进阶区 3分题 crackme

    前言 继续ctf的旅程 攻防世界Reverse高手进阶区的3分题 本篇是crackme的writeup 攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 查壳,显示nsPack壳 找了个 ...

  6. XCTF 攻防世界 web 高手进阶区

    文章目录 ics-07 shrine( flask + jinja2 的 SSTI) easytornado(模板注入) upload(文件名注入) supersqli(堆叠注入) php_rce(T ...

  7. xctf攻防世界 MISC高手进阶区 Reverse-it

    1.进入环境,下载附件 给的是一个无后缀的文件,用winhex打开如图: 关键词搜索后无果,考虑提示 2. 问题分析 1 反转 题目提示Reverse-it,那么该reverse什么?我们分析文件头, ...

  8. xctf攻防世界 Web高手进阶区 wtf.sh-150

    1.进入环境,查看内容 一串奇奇怪怪的留言板内容,记着我们Login Register,搞个账户注册玩玩,登录进去后发现就是只能发个帖子.也没有什么可以利用的内容,于是使用dirsearch扫一扫,一 ...

  9. xctf攻防世界 MISC高手进阶区 互相伤害

    1. 进入环境,下载附件 题目给的是一个文件,我们直接扔进kali中,发现是流量包,如图: 使用file命令查看该文件类型,发现也是提示是pcapng文件,如图: 2. 问题分析 提取数据 我们打开文 ...

  10. xctf攻防世界 MISC高手进阶区 3-11

    1.进入环境,下载附件 题目给的是一张猫猫png图片,如图: 2. 问题分析 kali中zsteg 我发现这个工具真的好用,如图: 如图,第一通道,rgb三色的lsb(least significan ...

最新文章

  1. 3.4.2  连接查询
  2. C++ socket传输结构体
  3. 牛客小白月赛37【部分题解】
  4. 2016 10 26考试 NOIP模拟赛 杂题
  5. 遇到可爱女生如何搭讪?
  6. 6-5-3:STL之stack和queue——优先级队列-priority_queue(堆)的基本使用和模拟实现以及仿函数
  7. 从Google Scholar看各大科技公司科研水平
  8. LC-410 分割数组的最大和
  9. centos转换linux格式,CentOS 下转换网易云音乐ncm格式为mp3
  10. excel单元格内容拆分_EXCEL批量拆分单元格,也可以这么快
  11. JS仿写刮刮乐小例子
  12. 手把手教你用JAVA实现“声音复刻”功能(复刻你的声音)标贝科技
  13. 爬取京东网页的通用代码框架及其问题(MOOC)
  14. 制作流程图用什么软件比较好?这些简单好用的制作软件推荐给你
  15. 破解微信数据库 并查询数据上传服务器
  16. 使用RestFul风格操作ElasticSearch 看这篇够了
  17. 相对论通俗演义(1-10) 第十章
  18. php solr,PHP: Solr - Manual
  19. 2021安洵杯ezjson-wp
  20. 第十四届中国大学生服务外包创新创业大赛百度赛道-智慧医疗赛题baselin

热门文章

  1. “挖坑填坑”理解快速排序
  2. linux修改网卡名称命令,linux修改网卡名称
  3. 计算机桌面弹窗,网站弹窗广告:教你4种方法,永久关闭电脑弹窗广告,还你一个干净的桌面 _ 惠州SEO...
  4. 全球及中国有机橘子油行业投资前景预测与重点企业经营分析报告2021-2027年版
  5. 2021年Android发展前景怎么样?Android发展前景分析
  6. recovery mode
  7. c# NPOI按模板导出
  8. linux cups打印中文,Linux使用cups进行打印
  9. 计算机网络初探教案,计算机网络基础知识教案.doc
  10. Reinitialized existing Git repository in xxx