题目描述
下载附件得到一个加密的 Zip 压缩包,需要密码才能解压。

解题思路
用 010 Editor 打开 Zip 文件,分析 Zip 文件结构。



Zip 文件结构要点
压缩源文件数据区 50 4B 03 04 头文件标记
压缩源文件目录区 50 4B 01 02 目录文件头标记
压缩源文件目录结束标志 50 4B 05 06 目录结束标记
全局方式位标记
50 4B 03 04 14 00 **后 2 字节** | 数据区加密标记 |
50 4B 01 02 14 00 **后 2 字节** | 目录区加密标记 |
判断标准
无加密 00 00 00 00
伪加密 00 00 09 00(或 01 00)
真加密 | 09 00 09 00
本题分析
本题可知是伪加密。
改掉加密之后,我们得到了两个文件。其中一个是dll。结合题目名这是本题的关键。
重要的是如何从dll文件中提取密钥。
dll文件时应用程序的扩展,于是我们就要编写一个程序调用dll
调用程序需要利用dll里的内置函数,于是我们要想办法拿到dll里的内置函数。
可以利用vs2022自带的dumpbin来实现。

输入命令dumpbin.exe /EXPORTS “C:\Users\asus\Desktop\Others\CCB\C!C!B!.dll"得到

内置函数CCB
写程序调用ccb函数,详见ccb.py
得到密钥b31915cd51e064bbaf8d6b2790ba108df10c84358f37033cb83609e78e9a3bfb
顺利得到flag