IAT HOOK的检测
2010-12-13 23:56
330 查看
IAT HOOK的检测
IAT HOOK的检测 在EXE加载前,IAT表中的结构和INT表中的结构内容一致,如果所示,OriginalFirstThunk指向INT中第一个IMAGE_THUNK_DATA,FirstThunk指向IAT中的第一个IMAGE_THUNK_DATA IMAGE_THUNK_DATA中放着指向IMAGE_IMPORT_BY_NAME的指针 在程序装载完成之后,IAT中的数据进行了修改,内容改为相应的API函数地址,如图 进行检测时只需要读取IAT表中的数据,便可得到目标进程所调用的API地址 原始的地址,LoadLibrary GetProcAddress 经过换算可以得到 贴上相关的结构体 typedef struct _IMAGE_IMPORT_DESCRIPTOR { union { DWORD Characteristics; // 0 for terminating null import descriptor DWORD OriginalFirstThunk; // RVA to original unbound IAT (PIMAGE_THUNK_DATA) }; DWORD TimeDateStamp; // 0 if not bound, // -1 if bound, and real date\time stamp // in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND) // O.W. date/time stamp of DLL bound to (Old BIND) DWORD ForwarderChain; // -1 if no forwarders DWORD Name; DWORD FirstThunk; // RVA to IAT (if bound this IAT has actual addresses) } IMAGE_IMPORT_DESCRIPTOR; typedef struct _IMAGE_THUNK_DATA32 { union { PBYTE ForwarderString; PDWORD Function; DWORD Ordinal; PIMAGE_IMPORT_BY_NAME AddressOfData; } u1; } IMAGE_THUNK_DATA32; |
相关文章推荐
- 检测IAT HOOK----进程内存中的IAT
- IAT随便HOOK+反检测方法
- 内存注入之IAT Hook和Inline Hook综合程序
- IAT HOOK RING3
- 通过call指令看静态IAT HOOK 实践EPO
- 检测和恢复SSDT HOOK,INLINE SSDT HOOK
- Android Java层的hook检测(Cydia Substrate或者Xposed框架)
- 检测内核已加载模块的所有导出函数是否被inlinehook
- 修改导入表HOOK API(ring3_iat_exe_hook_Messagebox)
- IAT_HOOK
- kernel inline hook 绕过vice检测
- 20171011WindowsPrj08_03IAT Hook
- IAT HOOK
- 从PE文件入手绕过IAT HOOK(ZT)
- IAT挂钩实现和检测
- 20171011WindowsPrj08_03IAT Hook
- 系统本身的dll之间也有一大堆iat hook?
- rootkit之[七]IAT Hook -- HybridHook之终极打造
- 【转】检测和恢复SSDT HOOK,INLINE SSDT HOOK
- 20171011WindowsPrj08_03IAT Hook