HookAPI通信
来源:互联网 发布:js创建表格 编辑:程序博客网 时间:2024/05/16 23:52
这段时间学习驱动,到了HookAPI通信这部分,简单记录一下。
HookAPI通信:在Ring3与Ring0之间进行数据交互,我们都知道,在调用一个函数时,该函数会调用内核中对应的函数来实现相应的功能,在这里,我们选择一个具有缓冲区的函数来传输我们自己的数据,在这个函数调用内核层对应的函数时,我们对其Hook,然后取出相应数据。
做个不是太恰当的比喻,就像一个马帮,从A地(Ring3)到向B地(Ring0)运输盐,而在A地的时候,我们将运输的盐替换成我们的大烟,然后,再刚进行B地时,我们把大烟取出,这样就不需要我们亲自去运输了。
在Hook的时候,可以使用SSDTHook或InlineHook。
Ring3函数:
ReadFile((HANDLE)FUNC_ADDRESS_INFO, FuncAddressInfo, (sizeof(WIN32KFUNCINFO) + sizeof(KERNELFUNC_ADDRESS_INFORMATION)), &dwReadByte, 0);
FUN_ADDRESS_INFO是判断的标识,FuncAddressInfo为缓冲区,后面为大小。
Ring0函数:
NTSTATUS __stdcall NewNtReadFile(__in HANDLE FileHandle,__in_opt HANDLE Event,__in_opt PIO_APC_ROUTINE ApcRoutine,__in_opt PVOID ApcContext,__out PIO_STATUS_BLOCK IoStatusBlock,__in PVOID Buffer,__in ULONG Length,__in_opt PLARGE_INTEGER ByteOffset,__in_opt PULONG Key){PFUNCINFO FuncAddress;int i = 0;if(FileHandle == (HANDLE)FUNC_ADDRESS_INFO){DbgPrint("FUNC_ADDRESS_INFO\r\n");if(Length){FuncAddress = (PFUNCINFO)ExAllocatePool(NonPagedPool, Length + 1);if(FuncAddress){memcpy(FuncAddress, Buffer, Length);{for(i = 0; i < FuncAddress->ulCount; i++){DbgPrint("FuncName:%s Address:0x%08X\r\n", FuncAddress->FuncInfo[i].FuncName, FuncAddress->FuncInfo[i].ulAddress);}ExFreePool(FuncAddress);}}}}OldNtReadFile = (NTREADFILE)NtReadFileHookZone;return OldNtReadFile(FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, Buffer, Length, ByteOffset, Key);}
0 0
- HookAPI通信
- HookAPI函数
- C#hookapi
- HookAPI函数
- HOOKAPI--初步
- HookAPI source code
- HookAPI 之 ExitWindowsEX
- PB HOOKAPI函数
- 外挂框架开发(1)HOOKAPI
- HOOKAPI之修改IAT法则
- 简单的hookapi C语言版
- Windows 7 64位 HookApi例子
- 首发:变态VB之HookAPI(陈辉作品)
- 自己写的一个HOOKAPI的汇编例子
- 另一个HookAPI 源码,来自EurekaLog for Delphi中的EHook.pas
- 自己写的一个HOOKAPI的汇编例子
- 首次使用HOOKAPI暴力破解SQLITE3加密的数据库
- 对《变态VB之HookAPI(陈辉作品) 》一文的补遗
- 创建淘宝开放平台应用的步骤简单记录
- 关于oraclewindow下作为服务器的配置之一
- 基于Linux内核的1-wair总线驱动
- Android生成签名文件并用其对apk文件进行签名
- js 判断结束日期小于当前日期
- HookAPI通信
- github访问速度慢,样式加载不完全解决
- 11292 - Dragon of Loowater
- Android编码规范
- Union和Union All的区别
- 共圆中华民族伟大复兴的中国梦
- 新站长建设像淘宝网这样的网站的一些经验分享
- 编写java程序时需要注意的地方
- 集成树类模型及其在百度搜索推荐系统中的应用