avatar

CTF-成都大学网络攻防-Re3

蕾蕾姐终于接触到了另一个软件:那个女人!经过简单的分析之后,蕾蕾姐得出了答案,这件事情告诉我们,C语言要好好学哦。

ps:flag{}要自己加上去鸭!

下载文件RE3.rar

###这个软件很明显是 IDA
##将程序导入IDA

然后反编译为c语言代码

1
sub_401060((const char *)&v4)

这个函数很可疑,我们双击进入

v5这个变量的赋值十分可疑,我们查看一下

然后我们回过头来,重新分析一下代码

首先它将 key xor 0x20 然后将真码的ascii减去5 然后再进行比较

我们把程序导入od,进行动态分析,随便输入一些key

然后在 0040101F 的 Call 00401060 步入

发现输入的长度有限制,输入的长度应该是14位

我重新输入一些数值,再次调试

发现不会出现跳转,于是继续单步

这里就是对key进行 xor 0x20

我们发现可疑的字符出现,我们在数据窗口找到它

1
0019F754  68 57 19 48 50 6E 58 78 54 6A 19 58 5E 06        hWHPnXxTjX^

然后继续单步,发现字符发生变化,于是我们将变化的字符记录下来

1
0019F754  63 52 14 43 4B 69 53 73 4F 65 14 53 59 01        cRCKiSsOeSY

发现这里的比较数据 恰好是我们的key xor 0x20后与可疑字符变换后相比较,根据xor的可逆性,我们用python把密文逆回去

1
2
3
4
from Crypto.Util.strxor import strxor
str = "\x63\x52\x14\x43\x4B\x69\x53\x73\x4F\x65\x14\x53\x59\x01"
str = strxor(str,("\x20" * 14))
print str

执行结果

答案:flag{Cr4ckIsSoE4sy!}

文章作者: 咲夜南梦
文章链接: http://yoursite.com/2018/11/22/CTF-%E6%88%90%E9%83%BD%E5%A4%A7%E5%AD%A6%E7%BD%91%E7%BB%9C%E6%94%BB%E9%98%B2-Re3/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 咲夜南梦's 博客
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论