BUUCTF-Reverse:reverse1

题目地址:https://buuoj.cn/challenges#reverse1
在这里插入图片描述
查看有没有加壳:
如果加壳了,它会显示的,如果没加壳,显示的是用什么语言编写的

首先要放入Exeinfo PE中查看信息——》没加壳
在这里插入图片描述

丢到ida pro里面——》shift+F12
在这里插入图片描述
看到this is the right flag!双击跟进——》查看伪代码
在这里插入图片描述

v0 = &v5;
  for ( i = 82i64; i; --i )
  {
    *(_DWORD *)v0 = -858993460;
    v0 += 4;
  }
  for ( j = 0; ; ++j )
  {
    v8 = j;
    v2 = j_strlen(Str2);
    if ( v8 > v2 )
      break;
    if ( Str2[j] == 111 ) // 发现这个应该是将ASCII为111 的替换为 48,查询后是o换成0
      Str2[j] = 48;
  }
  sub_1400111D1("input the flag:");
  sub_14001128F("%20s", &Str1);// 这里发现是str1接收flag
  v3 = j_strlen(Str2); 
  if ( !strncmp(&Str1, Str2, v3) ) //然后将Str1与Str2进行比较,如果相等就this is the right flag!(若str1与str2的前n个字符相同,则返回0,非0即为真)
    sub_1400111D1("this is the right flag!\n");
  else
    sub_1400111D1("wrong flag\n");
  sub_14001113B(&v5, &unk_140019D00);
  return 0i64;
}

所以就去看看Str2里存的是什么,双击Str2
在这里插入图片描述
把o换成0即为flag:
{hello_world}——》flag{hell0_w0rld}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值