攻防世界 reverse gametime

1、首先打开exe,看看里面到底是个啥,看到

在这里插入图片描述
看到需要在规定时间内需要输入预置的值,想到通关才能拿到flag
2、用ida打开

char __usercall sub_401435@<al>(DWORD a1@<edx>, int a2@<ecx>, int a3)
{
  DWORD v3; // edi@1
  int v4; // esi@1
  int v5; // edi@4
  char result; // al@7

  v3 = a1;
  v4 = a2;
  sub_401A73("key is %s (%s)");
  sub_401423();
  sub_401A73("\rZOMGZOMGOZMGZOMGZOMGOZMGZOMGZOMGOZMGZOMGZOMGOZMG\n");
  if ( v4 == 32 )
    sub_401A73("\nWhen you see an 's', press the space bar\n\n");
  else
    sub_401A73("\nWhen you see an '%c', press the '%c' key\n\n");
  sub_401A73("key is %s (%s)");
  sub_401423();
  sub_401A73("\rZOMGZOMGOZMGZOMGZOMGOZMGZOMGZOMGOZMGZOMGZOMGOZMG\n");
  sub_4012D5(v3);
  v5 = a3;
  if ( a3 > 0 )
  {
    do
    {
      sub_401A73(".");
      Sleep(0xC8u);
      --v5;
    }
    while ( v5 );
  }
  if ( (unsigned __int8)sub_401260(v4, 100000) )
  {
    result = 1;
  }
  else
  {
    sub_401A73("key is %s (%s)\r");
    sub_401423();
    sub_401A73("\rUDDER FAILURE! http://imgur.com/4Ajx21P \n");
    result = 0;
  }
  return result;
}

代码有点长,看不懂
3、放到od里面调试,调试了几次发现每次失败的话上面的跳转都不能实现,所以试着将jnz改成了je(有两个地方都要改),调试到后面就拿到了key

刚开始要放置断点,后面就可以删除断点,直接跑
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值