CTF新手也能玩转:手把手教你用Kali的binwalk和outguess破解图片隐写(附WUSTCTF2020真题复现)
CTF隐写术入门从Kali工具到实战解题全解析在网络安全竞赛的世界里CTFCapture The Flag一直是技术爱好者展示技能的舞台。而隐写术Steganography作为CTF中常见的题型往往让初学者既感到神秘又无从下手。今天我们就以WUSTCTF2020的一道典型隐写题为例手把手带你走进这个奇妙的世界。隐写术不同于加密技术它更注重如何将信息隐藏在其他看似普通的载体中如图片、音频甚至文本文件。对于刚接触CTF的新手来说掌握几个关键工具和基本思路就能解开许多看似复杂的题目。本文将重点介绍Kali Linux中的binwalk、foremost和outguess这三个实用工具并通过完整复现一道真题让你快速上手图片隐写分析。1. 环境准备与工具安装1.1 Kali Linux基础配置Kali Linux是网络安全领域的瑞士军刀预装了数百种安全工具。对于隐写分析我们主要需要以下几个工具binwalk用于分析文件结构检测隐藏内容foremost文件提取工具能从载体中分离出隐藏文件outguess高级隐写工具支持密钥保护的隐写提取如果尚未安装这些工具可以使用以下命令sudo apt update sudo apt install binwalk foremost outguess1.2 题目文件获取与初步检查我们以WUSTCTF2020的alison_likes_jojo题目为例。下载题目附件后通常会得到一个压缩包解压后可以看到以下文件. ├── boki.jpg ├── jljy.jpg └── beisi.txt初步检查步骤使用file命令检查文件类型使用strings命令查看文件中的可读字符串用十六进制编辑器如xxd或010 Editor查看文件头尾file boki.jpg jljy.jpg beisi.txt strings boki.jpg | head -202. 初级隐写文件拼接与分离技术2.1 使用binwalk分析文件结构binwalk是检测文件中隐藏内容的利器。运行以下命令分析boki.jpgbinwalk boki.jpg典型输出可能如下DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, JFIF standard 1.01 123456 0x1E240 Zip archive data, encrypted at least v2.0 to extract这表明在JPEG图片的特定偏移位置隐藏了一个ZIP压缩包。2.2 使用foremost分离隐藏文件foremost能根据文件特征提取隐藏内容foremost -i boki.jpg -o output提取完成后检查output目录output/ ├── audit.txt ├── jpg │ └── 00000000.jpg └── zip └── 00000000.zip关键点分离出的ZIP文件可能需要密码原始图片质量可能因隐藏内容而略有下降2.3 破解ZIP密码对于密码保护的ZIP我们可以尝试常见密码字典攻击暴力破解适用于简单密码使用fcrackzip工具fcrackzip -u -D -p /usr/share/wordlists/rockyou.txt 00000000.zip在本题中通过简单尝试发现密码为888866。3. 进阶隐写密钥保护的隐写术3.1 分析提取的文本文件解压ZIP后得到beisi.txt内容看似是Base64编码Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSV01WbDNXa1JTVjAxV2JETlhhMk0xVmpKS1NHVkliRmhXTTJoMlZtMTRZVmxYVGtkVGJHeFdUVzVvVjFsclZURldNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWxTYmtKdlZGVmFkMlJHV25KWGJVWmFWbXh3V1ZVeWVITk9iR1J5V2taV1ZXSlZjRmxhVldSSFZURmtSMWR1VGs5aVJuQXdXbFZhVDJOdFVrZFhiV3hUWVROQ1dWbFhlR0ZqTVhCRlVteG9VMkpIVWxsWmJGWmhWMFpzYzFwR1drNWliV2hZV1ZkMFlWZEhTa2RYYmxKc1UwVTFjRmxzV2t0WFIxSkdUMVpvVjJKVVJUQlpWRVozVlRBeFNGVnNhRlpoYTFweVdYcEdhMk14V1hoWGJYUlRUV3RXTlZaWGVHdFdNVnB6VjI1a2FsSXlhRE5aYkZwaFpXeFZlRlZyWkZoaVJuQnlXVEo0YTJOdFVraGpSV1JYVFd0YWVWZFdhSGRXTVd4ellVYzVWVlpzY0hKWlZXUkdaVWRPUjFwR2FHbFNia0p2VkZaYWQyRkdXbkZUYms1VVYwVktNbFp0Y0VkWGJWWkhWMjVTVGxaV1ZqUmhWM2hyVmpKT2RWVnVRbFZXYlZKWldXMTRkMWRHYkhOaFJVNVhVbXh3V0ZsclduZFhSbHAwWlVkR1YwMVhUalJaVkVwM1RVWlplVTFVUWxWaVJscDZXVEJrYzFkc1pISmFSbVJUVFZad1dGWnRNVk5XTWtwSVZHdGFWMDFyV2toV2FrWmhZekZrY2xwR1pGaGlSMmh5V1d0a1IxWXhaSFZVYkZaVFlrWndlVmt3VlRGV01XUnpWMjFHV2xaRmNGbFpWRVozVmpGa2RHRkdVbWx