检测IAT HOOK----进程内存中的IAT
2008-06-01 09:41
337 查看
检测IAT HOOK----进程内存中的IAT
昨天写的是磁盘的IAT.现在是内存的IAT.接着进行比较就可以得到IAT HOOK了 用OpenProcess和ReadProcessMemory读取你想读的进程..然后按照PE文件格式来解释读到的数据,lpBase就是读到数据缓冲区的地址 dosHeader=(IMAGE_DOS_HEADER*)lpBase; if (dosHeader->e_magic!=IMAGE_DOS_SIGNATURE) { printf("This is not a windows file/n"); return; } ntHeader=(IMAGE_NT_HEADERS*)((BYTE*)lpBase+dosHeader->e_lfanew); if(ntHeader->Signature!=IMAGE_NT_SIGNATURE) { printf("This is not a win32 file/n"); return; } IMAGE_IMPORT_DESCRIPTOR * pImportDesc=(IMAGE_IMPORT_DESCRIPTOR*)((BYTE*)lpBase+ntHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress); while (pImportDesc->FirstThunk) { IMAGE_THUNK_DATA* thunk = (IMAGE_THUNK_DATA*)( (BYTE*)lpBase + pImportDesc->OriginalFirstThunk); IMAGE_THUNK_DATA* pThunk= (PIMAGE_THUNK_DATA32)((PBYTE)lpBase+pImportDesc->FirstThunk) ; while(thunk->u1.Function) { isOrdinal = 0; if(thunk->u1.Function >= 0x01000000) isOrdinal = TRUE; if(!isOrdinal) // 以名字到处而不是序号 { char* functionName = (char*)( (BYTE*)lpBase + (DWORD)thunk->u1.AddressOfData + 2 ); printf("%x %s/n",pThunk->u1.Function,functionName); } if(isOrdinal) { } pThunk++; thunk++; } pImportDesc++; |
相关文章推荐
- ring0级暴力搜索内存检测系统隐藏进程(或Rootkit)
- Linux用户进程内存泄露一种检测方法
- IAT HOOK 实现进程保护
- 使用injectso 技术注入mtrace,对进程进行内存检测
- 利用内核级通用HOOK检测系统中的进程(转载)
- ring0级暴力搜索内存检测系统隐藏进程(或Rootkit)
- RING0级暴力搜索内存检测系统隐藏进程(或ROOTKIT)(实测可运行)
- 使用injectso 技术注入mtrace,对进程进行内存检测 源码
- (转载)利用内核级通用Hook检测系统中的进程
- RING0级暴力搜索内存检测系统隐藏进程(或ROOTKIT)(实测可运行) .
- 基于内存搜索的进程检测方法
- Linux用户进程内存泄露一种检测方法
- vista下扫描内存检测隐藏进程
- IAT随便HOOK+反检测方法
- 使用injectso技术注入mtrace,对进程进行内存检测
- HOOK -- IAT HOOK 本进程MessageBox
- Linux用户进程内存泄露一种检测方法
- HOOK -- IAT HOOK 本进程MessageBox
- IAT HOOK的检测
- shell脚本检测tomcat进程占用内存大小