RCTF 2021 - ASM Crypto 加密算法完整复现与深度解析

💡 原文中文,约12900字,阅读约需31分钟。
📝

内容提要

本文分析了RCTF 2021中的ASM Crypto题目,详细讲解了加密算法的逆向过程,包括静态分析、数学建模和代码实现。通过逐步解密,最终还原出明文“Th15_lS_@_easy_ASM”。关键在于理解汇编代码的原地更新特性和填充规律。

🎯

关键要点

  • 本文分析了RCTF 2021中的ASM Crypto题目,详细讲解了加密算法的逆向过程。
  • 通过静态分析、数学建模和代码实现,逐步解密还原出明文。
  • 明文为'Th15_lS_@_easy_ASM',关键在于理解汇编代码的原地更新特性和填充规律。
  • 题目提供了x86汇编编写的加密程序和加密后的密文,需要通过逆向分析还原出明文。
  • 加密流程包括输入、mInit、Encode、c2w、dfs和输出。
  • mInit函数负责扩展与异或,分为循环填充和异或长度两个阶段。
  • Encode函数实现了就地滚动异或,依赖于前面已处理的字节。
  • c2w函数将128字节转换为256个十六进制字符。
  • dfs函数实现了完全二叉树的中序遍历,打乱了数据顺序。
  • 逆向解密步骤包括逆dfs、逆c2w、逆Encode和逆mInit。
  • 长度爆破方法利用填充规律性,确保唯一性约束。
  • 完整解密脚本通过逐步验证每个步骤,确保解密的正确性。
  • 关键技术点包括明文末尾的 字符、Encode的原地更新和长度爆破的数学依据。
  • 安全性分析指出算法的优缺点,提出改进建议以增强安全性。
  • 总结了技术点、解题思路和关键洞察,确保每一步都有理论支撑和实践检验。
➡️

继续阅读