[CFI-CTF 2018]Automated Reversing [FlareOn1]Shellolololol [CFI-CTF 2018]powerPacked

本文记录了一次与985高校队伍竞争的CTF比赛经历,重点介绍了在AutomatedReversing和Shellolololol等挑战中的解题过程,包括多次异或操作的解密技巧。此外,还分享了powerPacked挑战的解决方案,涉及字符串解密与比较。通过这些案例,展示了逆向工程和解密在CTF比赛中的应用。

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

第一次awd(和985的大佬对干)

在这里插入图片描述
在这里插入图片描述

总结

我们队没pwn手,两个re直接毫无战斗力,被人按在地上摩擦,今天有个题连题都没看到,然后数据库就被别人打崩了(重置机会用完了

[CFI-CTF 2018]Automated Reversing

在这里插入图片描述
直接把solution文件和binaries文件拷贝到linux里面,然后运行solution就出flag

CFI{1s_th1s_4_pr0g_ch4ll_0r_4_r3ve3se_ch4ll?}

或者执行

python3  generator.py

在这里插入图片描述
然后里面text就会变成解密后的原文

[FlareOn1]Shellolololol(SMC)

在这里插入图片描述
这里f8的话直接崩溃,而且你的断点没法断入call里面的代码

第一次异或

在这里插入图片描述

esi里面存放的是0019FD50,很明显,smc

第二次异或

在这里插入图片描述
esi里面存放的是0019FDA3,很明显,smc

第三次异或

在这里插入图片描述
esi里面存放的是0019FE23,很明显,smc

第四次异或

在这里插入图片描述

这里感觉好像和不太一样,ESI是0019FE5C(这个的话感觉是为了将要执行的代码解密获得正确的执行代码)和EBX是0019FCFB,把这里全部执行完后,
在这里插入图片描述

把ESI进行dump处理,然后往上翻看内存区域
在这里插入图片描述

such.5h311010101@flare-on.com

总结

四次的smc,最后巧妙地根据这里的smc一边解出后面执行代码,一边作为flag(其实flag在程序结束前已经产生,只需要过了这里后,即可在内存区域查看到flag)
在这里插入图片描述

[CFI-CTF 2018]powerPacked

int __cdecl main(int argc, const char **argv, const char **envp)
{
  int i; // [sp+8h] [-58h]
  _BYTE v5[32]; // [sp+10h] [-50h] BYREF
  char v6[24]; // [sp+30h] [-30h] BYREF
  int v7; // [sp+48h] [-18h]
  const char **v8; // [sp+4Ch] [-14h]

  v7 = argc;
  v8 = argv;
  strcpy(v6, "EHK}kanqxgarqygtre");
  printf(268930484, argv, envp);
  _isoc99_scanf(0x10078DC8, v5);
  for ( i = 0; i < 21; ++i )
    v6[i] -= 2;
  if ( strcmp(v5, v6) )                         // 用v6字符串EHK}kanqxgarqygtre各项减2后得input
    puts(0x10078E00);
  else
    puts(0x10078DD0);
  return 0;
}

脚本

a="EHK}kanqxgarqygtre"
flag=""
for i in range(len(a)):
    flag+=chr(ord(a[i])-2)
print(flag)

在这里插入图片描述

CFI{i_love_powerpc}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寻梦&之璐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值