东华杯ooo

1.ooo

ooo

IDA打开查找字符串找到关键函数

 sub_410DF0((unsigned int)"give me a flag: ", a2, a3, a4, a5, a6);
  sub_418970(uaddr2, a2, v6, v7, v8, v9);//输入flag
  v11 = v14 ^ HIBYTE(uaddr2[1]) ^ BYTE1(v14);
  for ( i = 0; i <= 41; ++i )
    *((_BYTE *)uaddr2 + i) ^= v11;  //对flag做异或处理
  if ( (unsigned int)sub_401DE7((__int64)uaddr2) )//对flag进行判断
  {
    sub_418C70("okk");
    sub_410330(0LL);
  }
  sub_418C70("nono, may be.... ");
  result = 0LL;
  if ( __readfsqword(0x28u) != v26 )
    sub_454840();
  return result;

查看sub_401DE7

_int64 __fastcall sub_401DE7(__int64 a1)
{
  int i; // [rsp+14h] [rbp-4h]

  for ( i = 0; i <= 41; ++i )
  {
    if ( *(_BYTE *)(i + a1) != (unsigned __int8)dword_4C0100[i] )
      return 0LL;
  }
  return 1LL;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值