攻防世界Reverse进阶区-answer_to_everything-writeup

本题是xctf攻防世界中Reverse的进阶区的题answer_to_everything
题目来源: 2019_ISCC
题目描述:sha1 得到了一个神秘的二进制文件。寻找文件中的flag,解锁宇宙的秘密。注意:将得到的flag变为flag{XXX}形式提交。

2. 分析

根据结果:NOT Win EXE - .o - ELF executable [ 64bit obj. Exe file - CPU : AMD x86-64 - OS: unspecified ],该文件是一个linux下的64位可执行文件

在这里插入图片描述

$ chmod +x main.exe
$ ./main.exe                  
Gimme: 123
YOUSUCK

扔进IDA里看一下。Gimme: 在main函数中被引用。main函数中读取用户输入以后保存到v4,然后调用not_the_flag(v4);

int __cdecl main(int argc, const char **argv, const char **envp)
{
  unsigned int v4; // [rsp+Ch] [rbp-4h]

  printf("Gimme: ", argv, envp);
  __isoc99_scanf("%d", &v4);
  not_the_flag(v4);
  return 0;
}

跟进not_the_flag函数看一下。

__int64 __fastcall not_the_flag(int a1)
{
  if ( a1 == 42 )
    puts("Cipher from Bill \nSubmit without any tags\n#kdudpeh");
  else
    puts("YOUSUCK");
  return 0LL;
}

很明显输入必须是42。

$ ./main.exe 12
Gimme: 42
Cipher from Bill
Submit without any tags
#kdudpeh

#kdudpeh可能就是flag了,提交了发现不对。再看下输出,发现提示了Submit without any tags ,再提交kdudpeh 上去,发现还是不对。。。

再回头看看题目描述:sha1 得到了一个神秘的二进制文件。寻找文件中的flag,解锁宇宙的秘密。注意:将得到的flag变为flag{XXX}形式提交。 题目里提示了sha1 !?
用sha1去加密试试得到80ee2a3fe31da904c596d993f7f1de4827c1450a 。因此最后的flag为:flag{80ee2a3fe31da904c596d993f7f1de4827c1450a} ,提交,正确

3. 总结

没头绪的时候可以看看题目的描述,有时候会有一些提示。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值