资源简介
The Minimalistic API Hooking Library for x64/x86,win10 X64 可用
代码片段和文件信息
/*
* MinHook - The Minimalistic API Hooking Library for x64/x86
* Copyright (C) 2009-2017 Tsuda Kageyu.
* All rights reserved.
*
* Redistribution and use in source and binary forms with or without
* modification are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* “AS IS“ AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL
* EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE DATA OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY WHETHER IN CONTRACT STRICT LIABILITY OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include
#include “buffer.h“
// Size of each memory block. (= page size of VirtualAlloc)
#define MEMORY_BLOCK_SIZE 0x1000
// Max range for seeking a memory block. (= 1024MB)
#define MAX_MEMORY_RANGE 0x40000000
// Memory protection flags to check the executable address.
#define PAGE_EXECUTE_FLAGS \
(PAGE_EXECUTE | PAGE_EXECUTE_READ | PAGE_EXECUTE_READWRITE | PAGE_EXECUTE_WRITECOPY)
// Memory slot.
typedef struct _MEMORY_SLOT
{
union
{
struct _MEMORY_SLOT *pNext;
UINT8 buffer[MEMORY_SLOT_SIZE];
};
} MEMORY_SLOT *PMEMORY_SLOT;
// Memory block info. Placed at the head of each block.
typedef struct _MEMORY_BLOCK
{
struct _MEMORY_BLOCK *pNext;
PMEMORY_SLOT pFree; // First element of the free slot list.
UINT usedCount;
} MEMORY_BLOCK *PMEMORY_BLOCK;
//-------------------------------------------------------------------------
// Global Variables:
//-------------------------------------------------------------------------
// First element of the memory block list.
PMEMORY_BLOCK g_pMemoryBlocks;
//-------------------------------------------------------------------------
VOID InitializeBuffer(VOID)
{
// Nothing to do for now.
}
//-------------------------------------------------------------------------
VOID UninitializeBuffer(VOID)
{
PMEMORY_BLOCK pBlock = g_pMemoryBlocks;
g_pMemoryBlocks = NULL;
while (pBlock)
{
PMEMORY_BLOCK pNext = pBlock->pNext;
VirtualFree(pBlock 0 MEM_RELEASE);
pBlock = pNex
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-05-23 02:45 minhook-master\
文件 410 2017-05-23 02:45 minhook-master\.editorconfig
文件 355 2017-05-23 02:45 minhook-master\.gitignore
文件 214 2017-05-23 02:45 minhook-master\AUTHORS.txt
文件 4365 2017-05-23 02:45 minhook-master\LICENSE.txt
文件 4125 2017-05-23 02:45 minhook-master\README.md
目录 0 2017-05-23 02:45 minhook-master\build\
目录 0 2017-05-23 02:45 minhook-master\build\MinGW\
文件 929 2017-05-23 02:45 minhook-master\build\MinGW\Makefile
文件 319 2017-05-23 02:45 minhook-master\build\MinGW\make.bat
目录 0 2017-05-23 02:45 minhook-master\build\VC10\
文件 10395 2017-05-23 02:45 minhook-master\build\VC10\MinHook.vcxproj
文件 2108 2017-05-23 02:45 minhook-master\build\VC10\MinHookVC10.sln
文件 9511 2017-05-23 02:45 minhook-master\build\VC10\libMinHook.vcxproj
文件 1813 2017-05-23 02:45 minhook-master\build\VC10\libMinHook.vcxproj.filters
目录 0 2017-05-23 02:45 minhook-master\build\VC11\
文件 10571 2017-05-23 02:45 minhook-master\build\VC11\MinHook.vcxproj
文件 2108 2017-05-23 02:45 minhook-master\build\VC11\MinHookVC11.sln
文件 9717 2017-05-23 02:45 minhook-master\build\VC11\libMinHook.vcxproj
文件 1813 2017-05-23 02:45 minhook-master\build\VC11\libMinHook.vcxproj.filters
目录 0 2017-05-23 02:45 minhook-master\build\VC12\
文件 10572 2017-05-23 02:45 minhook-master\build\VC12\MinHook.vcxproj
文件 2185 2017-05-23 02:45 minhook-master\build\VC12\MinHookVC12.sln
文件 9832 2017-05-23 02:45 minhook-master\build\VC12\libMinHook.vcxproj
文件 1813 2017-05-23 02:45 minhook-master\build\VC12\libMinHook.vcxproj.filters
目录 0 2017-05-23 02:45 minhook-master\build\VC14\
文件 10572 2017-05-23 02:45 minhook-master\build\VC14\MinHook.vcxproj
文件 2183 2017-05-23 02:45 minhook-master\build\VC14\MinHookVC14.sln
文件 9832 2017-05-23 02:45 minhook-master\build\VC14\libMinHook.vcxproj
文件 1813 2017-05-23 02:45 minhook-master\build\VC14\libMinHook.vcxproj.filters
目录 0 2017-05-23 02:45 minhook-master\build\VC15\
............此处省略27个文件信息
- 上一篇:清除缓存脚本
- 下一篇:制作个人版CE工具教程
相关资源
- 键盘钩子HOOK
- UG NX 与 Opengl联合编程
- Win32 Hooks 钩子详细介绍
- 基于HOOK技术的本地打印监控系统开发
- 如何HOOK桌面窗口消息
- DLL注入HOOK进程按钮点击delphi
- hook wmi 修改机器码
- dll注入Hook
- easyhook库的使用
- SetWindowsHookEx Hook demo
- 拦截网络socket的数据
- Hook工具 监控任意窗体拦截消息
- HookNtQuery_File.zip
- 内存注入(IAT Hook 和Inline Hook)
- HOOK API 完美支持 x86 x64
- HookdiskID_硬盘ID修改 程序
- D3D8 hook 游戏屏幕写入文字
- HOOK截取封包.rar易语言源码
- HOOK API源码 (OPENPROCESS)
- 老外写的sockethook代码 实现socket钩子
- 微信hock源码
- svn hooks 全集,包含常用
- CEFGlue 加载FLASH 使用easyhook 解决 CEF
- X64 inline hook CreateProcessInternalW
- HookCreateProcess
- 基于API-HOOK的数据文件透明加解密系统
- Easyhook教程
- e语言-阿里旺旺客户端HOOK监控消息源
- 易语言的DX11 HOOK
- QT后台监控鼠标侧键
评论
共有 条评论