攻防世界--simple-check-100

本文介绍了在攻防世界挑战中解决simple-check-100的方法,通过ida分析main函数发现interesting_function与flag有关。使用gdb动态调试,在check_key函数处设置断点,通过修改eax寄存器的值为1来跳过检查,从而成功绕过条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

攻防世界–simple-check-100

ida找到main函数

// bad sp value at call has been detected, the output may be wrong!
int __cdecl main(int argc, const char **argv, const char **envp)
{
  void *v3; // esp
  int v5; // [esp-14h] [ebp-50h]
  int v6; // [esp-10h] [ebp-4Ch]
  _DWORD v7[3]; // [esp-Ch] [ebp-48h] BYREF
  const char **v8; // [esp+0h] [ebp-3Ch]
  int v9; // [esp+4h] [ebp-38h]
  int v10; // [esp+8h] [ebp-34h]
  int v11; // [esp+Ch] [ebp-30h] BYREF
  int v12; // [esp+10h] [ebp-2Ch]
  int v13; // [esp+14h] [ebp-28h]
  int v14; // [esp+18h] [ebp-24h]
  int v15; // [esp+1Ch] [ebp-20h]
  int v16; // [esp+20h] [ebp-1Ch]
  char v17; // [esp+24h] [ebp-18h]
  char v18; // [esp+25h] [ebp-17h]
  char v19; // [esp+26h] [ebp-16h]
  char v20; // [esp+27h] [ebp-15h]
  int v21; // [esp+28h] [ebp-14h]
  _DWORD *v22; // [esp+2Ch] [ebp-10h]
  unsigned int v23; // [esp+30h] [ebp-Ch]
  int *v24;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值