Angr符号执行练习–XorDDoS某样本字符串解密
💡
原文中文,约12300字,阅读约需30分钟。
📝
内容提要
本文对XorDDoS样本进行了静态分析和动态模拟,利用r2pipe模块获取函数信息和交叉引用,并结合angr进行函数调用模拟,重点分析了dec_conf()和encrypt_code()的解密过程,展示了如何提取加密字符串及其解密结果。
🎯
关键要点
- 本文对XorDDoS样本进行了静态分析和动态模拟。
- 使用r2pipe模块获取函数信息和交叉引用。
- 重点分析了dec_conf()和encrypt_code()的解密过程。
- dec_conf()用于解密字符串,实际调用encrypt_code()完成解密。
- 样本中含有多个加密字符串,dec_conf()的参数包括加密字符串的地址和长度。
- 使用angr模拟调用dec_conf()和encrypt_code(),提供了两种模拟方法。
- 通过r2pipe模块进行静态分析,获取函数入口、出口地址及交叉引用。
- 结合r2pipe和angr,完成对XorDDoS样本的分析和解密过程。
- XorDDoS家族仍在活跃,本文旨在作为Angr符号执行的练习目标。
❓
延伸问答
XorDDoS样本的主要分析方法是什么?
主要通过静态分析和动态模拟,结合r2pipe和angr进行分析。
dec_conf()函数的作用是什么?
dec_conf()用于解密字符串,实际调用encrypt_code()完成解密。
如何使用r2pipe模块进行静态分析?
使用r2pipe模块可以获取函数入口、出口地址及交叉引用,分析调用参数。
angr模拟调用dec_conf()的两种方法是什么?
可以使用call_state和callable两种方法进行模拟调用。
XorDDoS家族的现状如何?
XorDDoS家族仍在活跃,但流行变种已移除原始版本的rootkit部分。
encrypt_code()函数的解密机制是什么?
encrypt_code()函数通过简单的异或操作来解密字符串。
➡️