一、引言
(源)代码实现是算法自身的投影,IDA F5伪码是模糊化的投影,混淆技术导致了扭曲化的投影。在扭曲、模糊的投影里快速还原算法,依赖于对算法本身的深度理解。
二、主题
首先抄第一讲的例子,假设sub_137AD 是AES算法,那么所需确认的关键要素如下
- 加密 or 解密过程
- 明文内容
- 密钥长度及内容
- 分组模式
- IV
- 明文填充方式
在实际分析中,很多人无法确认全这些关键要素,就会发现解密结果对不上,转而认为算法被魔改或直接放弃,这是很糟心的。
我们不妨以AES作为起点,好好学一下这个知识,首先解释两点
- AES 是目前SO中使用最多的加密算法,因为AES是现行的最为标准和官方的加密标准。
- 在讲解上,我们尝试采用1+1+3的策略:首先是一篇算法定义结合代码实现结合的文章,这是纯开发的角度;再是一篇从逆向角度分析特征和线索的文章;最后是3个AES实例分析。
三、尾声
┗|`O′|┛ 嗷~~