代码编织梦想

XCTF 攻防世界 Reverse 新手题(re1)

re1

首先,可以看到附件是一个exe程序,可以先执行一下看看(一般CTF的题目是不会有什么病毒的,如果有杀毒软件显示有木马的话,允许执行就可以了,因为目前大部分exe文件的特征码都很容易被识别)。执行完之后,若是没发现什么有用的信息,可以尝试用IDA(32)打开
F5键进行反编译找到main函数的主体

反编译后的源代码如下所示:

int __cdecl main(int argc, const char **argv, const char **envp)
{
  int v3; // eax
  __int128 v5; // [esp+0h] [ebp-44h]
  __int64 v6; // [esp+10h] [ebp-34h]
  int v7; // [esp+18h] [ebp-2Ch]
  __int16 v8; // [esp+1Ch] [ebp-28h]
  char v9; // [esp+20h] [ebp-24h]

  _mm_storeu_si128((__m128i *)&v5, _mm_loadu_si128((const __m128i *)&xmmword_413E34));
  v7 = 0;
  v6 = qword_413E44;
  v8 = 0;
  printf(&byte_413E4C);
  printf(&byte_413E60);
  printf(&byte_413E80);
  scanf("%s", &v9);
  v3 = strcmp((const char *)&v5, &v9);
  if ( v3 )
    v3 = -(v3 < 0) | 1;
  if ( v3 )
    printf(aFlag);
  else
    printf((const char *)&unk_413E90);
  system("pause");
  return 0;
}

若暂时没有找到什么突破性的地方,可以尝试F12键查看String Window,看看Strings里有没有跟flag相关的,可以看到有一个flag get的string(大概在最后一部分里面),找到之后双击进入,发现执行到unk_413E90既可以获得flag

继续分析main函数,发现两个函数_mm_storeu_si128,_mm_loadu_si128
这两个函数的意思就是将xmmword_413E34的值赋给V5,再结合下面的代码,可以发现V5即为flag。
因此,可以尝试双击xmmword_413E34进入,发现有两个长的数据

.rdata:00413E34 xmmword_413E34  xmmword 3074656D30633165577B465443545544h
.rdata:00413E34                                         ; DATA XREF: _main+10↑r
.rdata:00413E44 qword_413E44    dq 7D465443545544h      ; DATA XREF: _main+27↑r

按住R键可以将数据转为字符,将两个字符拼接转换一下,即可得到正确的flag

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_43456810/article/details/111065358

什么是下一代防火墙NGFW(Next Generation Firewall)?-爱代码爱编程

概述 下一代防护墙(Next Generation Firewall, 简称 NGFW),在2007年Gartner提出了这一概念。两年后的2009年,Gartner正式发布了《Defining the Next-Generation Firewall》,对下一代防火墙的定义做了明确说明。相对于IPS、VPN等当时现有安全产品,NGFW给人的感觉就是:我

XCTF 攻防世界 Reverse新手题(insanity, python-trade)-爱代码爱编程

XCTF 攻防世界 Reverse新手题(insanity, python-trade) 1. insanity 这一题十分的简单,将下载下来的附件直接用IDA打开,查看Hey-View,在最右侧一栏进行查找,大概在后半部分,可以直接看到flag 2. python-trade 首先,这个题目没有用到IDA,因为看到下载的附件是.pyc后缀的,是p

vuluhub靶场实战之breach1.0-爱代码爱编程

环境 kali(攻击):192.168.110.128 breach(靶机):192.168.110.140 0x01 主机发现 netdiscover -i eth0 -r 192.168.110.0/24 Currently scanning: Finished! | Screen View: Unique Hosts

XCTF 攻防世界 Reverse新手题(game)-爱代码爱编程

XCTF 攻防世界 Reverse新手题(game) 这道题目按照一般IDA静态分析的思路走,应该不难做出来 首先,找到main函数,F5反编译一下 发现main_0()函数,进入此函数,反编译一下 对main_0()的代码进行分析,可以看到最后一部分的if段,当8个值都为1时,调用sub_457AB4()函数,代码如下: if ( byte_532E

window下BurpSuite工具安装-爱代码爱编程

window下BurpSuite工具安装 首先下载安装包(链接:https://pan.baidu.com/s/1e1QjgPwsoPYEW7HSGVtQPg ,提取码:a8nl) 1.打开burp-loader-keygen-2_1_06.jar文件 2.在Burp Suite Pro窗口,点击Run,然后会打开Burp Suite Pr

XCTF 攻防世界 Reverse新手题(Hello,CTF)-爱代码爱编程

XCTF 攻防世界 Reverse新手题(Hello,CTF) 首先,先利用exeinfoPE看一个附件的exe程序是多少位的,有没有加壳。 发现程序是32位的,没有加壳 之后便可以用IDA32打开 和之前几道题的思路一样,首先还是查看main函数,将main函数进行反编译,查看源代码分析: int __cdecl main(int argc, con

XCTF 攻防世界 Reverse新手题(insanity, python-trade)-爱代码爱编程

XCTF 攻防世界 Reverse新手题(insanity, python-trade) 1. insanity 这一题十分的简单,将下载下来的附件直接用IDA打开,查看Hey-View,在最右侧一栏进行查找,大概在后半部分,可以直接看到flag 2. python-trade 首先,这个题目没有用到IDA,因为看到下载的附件是.pyc后缀的,是p

安全巡检-爱代码爱编程

安全巡检 目的 识别信息系统存在的安全脆弱性、分析信息系统存在的风险,并及时采取措施予以整改,保障信息系统安全稳定运行 巡检收益 1、通过专业、严谨的安全巡检服务,确保客户IT环境的安全性和稳定性 2、大大降低客户的运维风险和运维成本 3、专业的安全技术和专业的人员及时、全面的掌握客户IT环境的安全现状和面临的风险,并提出改进建议,降低风险

关于kali的一些小工具-爱代码爱编程

基于端口攻击的攻击 基于smb的攻击 1.acccheck acccheck -t 192.168.1.1 -u root -p root -v //基础语法 参数: -t/T 目标地址/批量字典 -p/P 密码/密码字典 -u/U 账号/账号字典 2.smbmap(smb信息收集器) smbmap -H 192.168.1.1 //收集smb共享的信息

XCTF 攻防世界 Reverse新手题(game)-爱代码爱编程

XCTF 攻防世界 Reverse新手题(game) 这道题目按照一般IDA静态分析的思路走,应该不难做出来 首先,找到main函数,F5反编译一下 发现main_0()函数,进入此函数,反编译一下 对main_0()的代码进行分析,可以看到最后一部分的if段,当8个值都为1时,调用sub_457AB4()函数,代码如下: if ( byte_532E

window下BurpSuite工具安装-爱代码爱编程

window下BurpSuite工具安装 首先下载安装包(链接:https://pan.baidu.com/s/1e1QjgPwsoPYEW7HSGVtQPg ,提取码:a8nl) 1.打开burp-loader-keygen-2_1_06.jar文件 2.在Burp Suite Pro窗口,点击Run,然后会打开Burp Suite Pr

XCTF 攻防世界 Reverse新手题(Hello,CTF)-爱代码爱编程

XCTF 攻防世界 Reverse新手题(Hello,CTF) 首先,先利用exeinfoPE看一个附件的exe程序是多少位的,有没有加壳。 发现程序是32位的,没有加壳 之后便可以用IDA32打开 和之前几道题的思路一样,首先还是查看main函数,将main函数进行反编译,查看源代码分析: int __cdecl main(int argc, con