Share this post on:

写这篇文章来记录一下自己写的第一个wp(

附上原题:GitHub - TsingShui/Redrock-SRE-2022-Security-Winter-Assessment

--------------------------------------------------------------------------------------------------------------------

static_debug

首先F5反汇编查看伪代码,分析出要得到“congratulation”只能通过第二个if语句里面的break实现,则要满足if条件里面的三个函数均成立

  • 查看第一个函数,对输入的字符串进行异或运算,最后将结果与 pvlg` 进行比较,则逆向这个函数的算法
  • 先将pvlg`转为hex:70766c6760
  • 编写脚本:
  • 将得到的16进制数转为字符串:pwndd查看

查看第二个函数,还是异或操作

  • 对for循环里的异或操作进行分析
  • 分析得到整个异或操作是将字符串顺序调换,得到第二个字符串:Love

查看第三个函数

  • 对for循环分析
  • 大致的流程按上图所示,每次取出一个字节赋值给a1[i]然后再对q进行操作,减去相应的字节,最后qword为0x41,则证明原始的q正好是字符串ZELDA的16进制
  • 将字符串转成16进制:5a454c4441,再转成10进制:387709682753
Share this post on:

Leave a Comment

您的邮箱地址不会被公开。 必填项已用 * 标注