reversing.kr网站的Flash Encrypt


韩国人的逆向题目网站:Reversing.Kr

浏览器点击Flash Encrypt自动下载flashenc.swf文件。

这题我们使用前辈们推荐的ffdec软件进行反编译。(以下给出github链接,也可以浏览器搜索下载)

GitHub - jindrapetrik/jpexs-decompiler: JPEXS Free Flash Decompiler


如上图所示,打开flashenc.swf之后,可以看到这个视频一共有七个帧。每个帧里面只有一个文本框和一个按钮。

我们可以发现七个帧中只有第一个帧的文本框中输入了字符1234567890,其他都没有,而如下图所示:最后一个帧显示Key is。很明显我们如果掌握了这个帧的信息,那么密钥就获得了。

我们首先查看第一个帧:鼠标移动到按钮位置,可以看到按钮响应函数是DefineButton2(4)。

打开脚本之前,要先在设置一栏勾选自动反混淆,这样看到的代码能看懂

于是我们在脚本中找到这个DefineButton2(4)函数,如下图所示:看到函数内部代码逻辑

如下图所示,让我们看的更清晰。很明显,spw是我们文本框输入的字符串,这段代码逻辑就是当spw==1456的时候,跳转播放到第三个帧。

好的,那我们接下来查看第三个帧,如下图所示。

同理,第三个帧的按钮响应函数是DefineButton2(9),我们找到该函数,如下图所示:

如上图所示,看到同样的代码逻辑:当spwd==25时,执行运算、清空,然后跳转播放第四帧。

……后续的推理过程同理,最终的就是跳转到第七帧,然后输出Key,就成功了!

在文件一栏另存为exe文件,打开。如果没有下载Adobe Flash Player是打不开这个.exe文件的,下载地址:https://www.flash.cn/

依次在弹出的文本框中输入:

  1. 1456
  2. 25
  3. 44
  4. 8
  5. 88
  6. 20546

最后输出结果如下:Key is 16876

成功获得240分。

参考资料
171018 逆向-Reversing.kr(Flash Encrypt)_ffdec 怎么运行脚本-CSDN博客

CTF/Reversing-Kr/FlashEncrypt/Reversing-Kr Flash-Encrypt Writeup.md at master · L1B0/CTF · GitHub

reversing.kr/Flash Encrypt/README.md at master · DoubleLabyrinth/reversing.kr · GitHub

ChatGPT (openai.com)