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的原地更新和长度爆破的数学依据。
- 安全性分析指出算法的优缺点,提出改进建议以增强安全性。
- 总结了技术点、解题思路和关键洞察,确保每一步都有理论支撑和实践检验。
🏷️
标签
➡️