:10.506KB : :1 :2019-11-12 22:59:56
api hook并不是什么特别不同的hook,它也需要通过基本的hook提高自己的权限,跨越不同进程间访问的限制,达到修改api函数地址的目的。对于自身进程空间下使用到的api函数地址的修改,是不需要用到api hook技术就可以实现的。
CreateProcessInternalW = 取DLL函数地址 (取程序或DLL句柄 (“kernel32.dll”), “CreateProcessInternalW”)
RegCreateKeyA = 取DLL函数地址 (取程序或DLL句柄 (“advapi32.dll”), “RegCreateKeyA”)
RegOpenKeyA = 取DLL函数地址 (取程序或DLL句柄 (“advapi32.dll”), “RegOpenKeyA”)
RegSetValueExA = 取DLL函数地址 (取程序或DLL句柄 (“advapi32.dll”), “RegSetValueExA”)
SHSetValue = 取DLL函数地址 (取程序或DLL句柄 (“SHLWAPI.DLL”), “SHSetValue”)
SHOpenRegStream2A = 取DLL函数地址 (取程序或DLL句柄 (“SHLWAPI.DLL”), “SHOpenRegStream2A”)
HOOK操作类1.安装ApiHook (“kernel32.dll”, “CreateProcessInternalW”, 到整数 (&NewCreateProcessInternalW))
HOOK操作类2.安装ApiHook (“advapi32.dll”, “RegCreateKeyA”, 到整数 (&NewRegCreateKeyA))
HOOK操作类3.安装ApiHook (“advapi32.dll”, “RegOpenKeyA”, 到整数 (&NewRegOpenKeyA))
HOOK操作类4.安装ApiHook (“advapi32.dll”, “RegSetValueExA”, 到整数 (&NewRegSetValueExA))
HOOK操作类7.安装ApiHook (“SHLWAPI.DLL”, “SHOpenRegStream2A”, 到整数 (&NewSHOpenRegStream2A))
HOOK操作类9.安装ApiHook (“SHLWAPI.DLL”, “SHSetValue”, 到整数 (&NewSHSetValue))
HOOK操作类1.开始Hook ()
HOOK操作类2.开始Hook ()
HOOK操作类3.开始Hook ()
HOOK操作类7.开始Hook ()
HOOK hHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, hInstDll, 0); 第一个参数表示挂钩类型, 是一个低级键盘钩子。第二个参数是一个函数地址(在我们的地址空间内),在窗口即将有键盘消息的时候,系统应该调用这个函数。第三个参数hInstDll标识一个DLL这个DLL中包含了LowLevelKeyboardProc函数。
在windows中, hInstDll的值就是就是DLL被映射到的虚拟内存地址。最后一个参数表示要给哪个线程安装钩子,0表示给所有GUI线程安装。
02-17会员管理插件源码
02-16纯API提取PE资源
02-16动态创建菜单与响应事件源码,菜单编辑器
02-09读写锁纯api实现
02-09画板快捷启动3.2源码修改版
02-09王者荣耀战力小程序源码分享
10-23Excel怎么查看API的方法
09-07C++的string的实现源码分析