基于API HOOK的软件行为分析系统
目录
软件安全课程设计
基于API HOOK的软件行为分析系统
一、课程设计题目
基于API HOOK的软件行为分析系统
二、课程编码:130681
三、学时学分
四、先修课程
五、课程设计任务与要求
六、关键技术原理介绍
Detours库原理
(1) WIN32进程的内存管理
1) 进程要执行的指令也放在虚存空间中;
(2)拦截WIN32 API的原理
(3) Detours提供的截获API的相关接口
(4)使用Detours实现对API的截获的两种方法
1) 静态方法
(5)关于截获第三方应用的API
七、Win10环境中Detours API截获参考例子
(1)准备工作:使用VS2019编译Detours
nmake /f Makefile
(2) 准备工作:在VS上配置Detours库(使用Detours,采用dll注入的方式进行Hook)
(3)准备DLL
1)定义和引入需要挂钩(Hook)的函数和替换的函数
2)DLL主体实现参考代码
参考代码如图,阅读可以发现哪些函数被挂钩,请结合课程设计的要求,挂钩对应的函数。
(4)创建待注入的客户端程序
(5)完成开启和关闭注入的工具(注射器)
一、课程设计题目
基于API HOOK的软件行为分析系统
二、课程编码:130681
课程性质:必修
三、学时学分
学时:2周
学分:1学分
四、先修课程
C语言、汇编语言、数据结构、软件安全
五、课程设计任务与要求
对于无源码情况下分析样本程序的行为,有多种方法。本次课程设计是利用Detours开源项目包提供的接口,完成基本的程序行为分析。具体课程设计任务见表1。任务主要分为API调用截获及分析两大部分。任务可以自己选择Windows(含Win7/win8/win10)平台上实现,编程用语言为C或者C++。其中使用的Windows平台使用微软的Detours开源库,可以在VS2019环境下编译后使用,后面会有详细介绍。
平台:Win7/Win8/Win10,VC++(VS2013/VS2015/VS2019)。