这次我们使用 Python 来打造一款间谍程序,程序中会用到许多知识点,大致分为四块:
- win32API
- Python基础,重点在cpytes库的使用
- C语言基础
- Hook
程序的基本原理在于通过注册Hook,记录系统事件。
那么什么是Hook呢?
Hook 技术又叫做钩子函数,系统在调用函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递
注册Hook时我们需要先导入DLL库,在Python中我们使用ctypes来导入,导入方法如下
user32 = CDLL("user32.dll") kernel32 = CDLL("kernel32.dll")
我们导入了user32.dll和kernel32.dll。这两个DLL有什么用处呢
- user32.dll 是Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发送消息
- kernel32.dll 控制着系统的内存管理、数据的输入输出操作和中断处理**
流程部分
知道了我们要使用什么样的工具,那么第一步应该怎么做呢?
1、首先我们需要先注册Hook到系统上,通过user32.dll中的SetWindowsHookExA函数,我们可以在系统上注册钩子
HHOOK SetWindowsHookExA( int idHook, HOOKPROC lpfn, HINSTANCE hmod,