小白对彩虹猫的简单分析
字数 1009 2025-08-24 07:48:09
彩虹猫病毒分析教学文档
1. 病毒基本信息
- 编写语言: C++
- 加壳情况: 未加壳
- 分析工具: IDA Pro、微步在线分析
- 运行环境: 建议在虚拟机中运行分析
2. 病毒行为概述
该病毒会创建多个进程,根据参数不同执行不同流程,最终可能导致系统关机并可能破坏引导区。
3. 详细分析流程
3.1 主函数分析
参数判断分支
if (参数 <= 1) {
跳转到loc_40144f
} else {
执行参数大于1的流程
}
参数<=1的执行流程
- 弹出两个确认窗口
- 如果用户都点击确认:
- 分配4000h大小的堆内存
- 获取当前进程路径
- 如果点击否:
- 退出进程
- 如果用户都点击确认:
- 进程创建:
- 生成5个普通进程
- 生成1个最高响应优先级的进程
- 退出当前进程
参数>1的执行流程
- 获取进程相关信息
- 遍历进程并与之前信息对比
- 判断是否有进程被kill
- 一旦检测到进程被kill,调用sub_401021子函数
3.2 关键子函数分析
sub_401021()函数功能
- 创建20个线程
- 调用系统关机函数
- 尝试写入引导区(需进一步分析)
3.3 进程行为分析
- 根据微步在线分析,病毒会创建8个进程
- 进程参数各不相同(具体见微步分析图)
- 其中一个进程具有最高响应优先级
4. 技术难点与解决方案
4.1 分析过程中遇到的困难
-
汇编代码理解困难:
- 解决方案: 使用IDA的F5功能生成伪C代码辅助理解
-
子函数识别问题:
- IDA自动识别可能不准确
- 解决方案: 结合百度搜索和看雪论坛找到解决方法
-
引导区写入分析:
- 由于技术能力限制,暂时无法深入分析
- 建议: 参考相关技术文档提升逆向分析能力
5. 分析工具使用技巧
-
IDA Pro使用:
- 善用F5生成伪代码功能
- 注意IDA可能无法准确识别所有函数
-
微步在线分析:
- 用于快速获取进程创建信息
- 可查看不同进程的参数差异
6. 病毒防御建议
- 不要随意运行未知来源的可执行文件
- 在虚拟机环境中进行分析
- 注意观察系统异常进程创建行为
- 定期备份重要数据,特别是引导区
7. 学习建议
- 实际动手分析比单纯理论学习更重要
- 遇到问题时善用技术论坛和搜索引擎
- 从简单样本开始,逐步提升分析难度
- 记录分析过程中的问题和解决方案
8. 参考资源
- 看雪论坛相关文章: https://bbs.pediy.com/thread-262873.htm#msg_header_h1_4
- IDA Pro官方文档
- 微步在线分析平台
9. 分析流程图
(此处应插入从原文中获取的执行流程图,描述主要执行路径和分支)