实验吧-逆向观察

  • 今天逛了逛实验吧, 找了个难度为易的题练练手…

  • 题目为rev50, 是一个elf文件,直接IDA载入后找到主函数。

  • 对src按r转换成字符串。

  • 根据题目逻辑,如果执行文件时没有参数输入,则提示:
1
usage ./rev50 password
  • 如果有参数传入, 则首先将src的内容通过memcpy函数赋值给dest。

  • 则此时 dest 的内容就为 mercedes

    1
    if ( !strcmp(argv[1], (&dict)[i]) && !strcmp(&dest, (&dict)[i]) )
  • 根据这个逻辑, 如果输入(即angv[1])与 dict的其中一个相等,并且dest的内容与dict中的那一个相等,则提示 Good password,也就是我们的输入就是正确的flag。

  • dict的内容… 根据上面的for循环,应该有999个…

  • 在dict找到了 dest的内容,更加确定答案就是’mercedes’

  • 所以最终答案就为:

1
mercedes