资源简介
代码供学习交流之用,不可用于商业。代码如有问题大家可以修改、更正。
代码片段和文件信息
//////////////////////////////////////////////////////////////////////////////
//
// Create a process with a DLL (creatwth.cpp of detours.lib)
//
// Microsoft Research Detours Package Version 3.0 Build_316.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
#include
#include
#if (_MSC_VER < 1299)
typedef DWORD DWORD_PTR;
#endif
#if (_MSC_VER < 1310)
#else
#include
#endif
// #define DETOUR_DEBUG 1
// #define IGNORE_CHECKSUMS 1
#define DETOURS_INTERNAL
#include “detours.h“
#define IMPORT_DIRECTORY OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT]
#define BOUND_DIRECTORY OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT]
#define CLR_DIRECTORY OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_COM_DEscriptOR]
#define IAT_DIRECTORY OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IAT]
//////////////////////////////////////////////////////////////////////////////
//
#ifndef _STRSAFE_H_INCLUDED_
static inline HRESULT StringCchLengthA(const char* psz size_t cchMax size_t* pcch)
{
HRESULT hr = S_OK;
size_t cchMaxPrev = cchMax;
if (cchMax > 2147483647)
{
return ERROR_INVALID_PARAMETER;
}
while (cchMax && (*psz != ‘\0‘))
{
psz++;
cchMax--;
}
if (cchMax == 0)
{
// the string is longer than cchMax
hr = ERROR_INVALID_PARAMETER;
}
if (SUCCEEDED(hr) && pcch)
{
*pcch = cchMaxPrev - cchMax;
}
return hr;
}
static inline HRESULT StringCchCopyA(char* pszDest size_t cchDest const char* pszSrc)
{
HRESULT hr = S_OK;
if (cchDest == 0)
{
// can not null terminate a zero-byte dest buffer
hr = ERROR_INVALID_PARAMETER;
}
else
{
while (cchDest && (*pszSrc != ‘\0‘))
{
*pszDest++ = *pszSrc++;
cchDest--;
}
if (cchDest == 0)
{
// we are going to truncate pszDest
pszDest--;
hr = ERROR_INVALID_PARAMETER;
}
*pszDest= ‘\0‘;
}
return hr;
}
static inline HRESULT StringCchCatA(char* pszDest size_t cchDest const char* pszSrc)
{
HRESULT hr;
size_t cchDestCurrent;
if (cchDest > 2147483647)
{
return ERROR_INVALID_PARAMETER;
}
hr = StringCchLengthA(pszDest cchDest &cchDestCurrent);
if (SUCCEEDED(hr))
{
hr = StringCchCopyA(pszDest + cchDestCurrent
cchDest - cchDestCurrent
pszSrc);
}
return hr;
}
#endif
//////////////////////////////////////////////////////////////////////////////
//
#if IGNORE_CHECKSUMS
static WORD detour_sum_minus(WORD wSum WORD wMinus)
{
wSum = (WORD)(wSum - ((wSum < wMinus) ? 1 : 0));
wSum = (WORD)(wSum - wMinus);
return wSum;
}
static WORD detour
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5902 2017-07-12 14:55 hookproxy.sln
文件 53672 2008-02-04 09:26 hookproxy\asynsocket\AsyncProxySocketla
文件 11916 2008-01-28 14:34 hookproxy\asynsocket\AsyncProxySocketla
文件 36540 2017-07-25 05:49 hookproxy\asynsocket\AsyncSocketEx.cpp
文件 11535 2008-01-16 15:47 hookproxy\asynsocket\AsyncSocketEx.h
文件 27711 2017-07-25 07:20 hookproxy\asynsocket\AsyncSocketExla
文件 9361 2017-07-22 17:24 hookproxy\asynsocket\AsyncSocketExla
文件 8683 2008-01-08 15:22 hookproxy\asynsocket\Cba
文件 1203 2008-01-04 17:22 hookproxy\asynsocket\Cba
文件 644 2008-01-08 14:57 hookproxy\asynsocket\DebugHelpers.h
文件 313 2008-01-04 17:22 hookproxy\asynsocket\types.h
文件 487 2008-02-04 09:26 hookproxy\asynsocket\vssver2.scc
文件 858 2008-01-10 21:01 hookproxy\asynsocket\zxBuffer.cpp
文件 548 2008-01-10 20:55 hookproxy\asynsocket\zxBuffer.h
文件 47844 2012-04-17 14:36 hookproxy\creatwth.cpp
文件 37760 2007-12-04 15:41 hookproxy\detour.cpp
文件 3785 2008-03-18 15:09 hookproxy\detour.h
文件 2726 2008-01-28 18:40 hookproxy\GlobalProxy.cpp
文件 966 2008-01-14 10:51 hookproxy\GlobalProxy.h
文件 7568 2008-01-15 18:09 hookproxy\hookproxy.cpp
文件 99 2008-01-29 14:00 hookproxy\hookproxy.def
文件 76283904 2017-05-16 18:21 hookproxy\hookproxy.sdf
文件 1427 2017-05-16 17:09 hookproxy\hookproxy.sln
文件 29696 2008-02-14 17:50 hookproxy\hookproxy.suo
..A..H. 28160 2017-05-16 18:21 hookproxy\hookproxy.v12.suo
文件 10751 2009-03-23 10:33 hookproxy\hookproxy.vcproj
文件 10770 2008-01-31 11:44 hookproxy\hookproxy.vcproj.8.00.old
文件 11247 2017-07-22 10:40 hookproxy\hookproxy.vcxproj
文件 7420 2017-05-27 11:32 hookproxy\hookproxy.vcxproj.filters
文件 422 2017-06-14 11:57 hookproxy\hookproxy.vcxproj.user
............此处省略175个文件信息
相关资源
- 微信PC Hook 2.5版本
- 打印监控HOOK.rar
- 通过hook技术,模拟鼠标的操作
- hook微信收款监听
- 微信PC版Hook.rar
- 进程保护四个
- 上瘾hooked
- 基于API_HOOK的数据文件透明加解密系统
- x64加载驱动方法,x64驱动各类型hook教
- 窗体类名子元素标题获取工具
- APIhook实现数据包截获
- hook TrayClockWClass 系统时钟
- Winmm劫持源码 支持X64
- 最完整Hook的使用Demo
- 手把手教你建立sock5代理服务器
- d3d hook模块
- delphi钩子库
- 键盘钩子程序
- 小巧的网络防火墙
- hook更改硬盘序列号 转载
- 微信纯HOOK 易源码,无DLL ,想写机器
- win10 X64 可用的钩子函数库
- 键盘钩子HOOK
- UG NX 与 Opengl联合编程
- Win32 Hooks 钩子详细介绍
- 基于HOOK技术的本地打印监控系统开发
- 如何HOOK桌面窗口消息
- 多线程sock5代理
- DLL注入HOOK进程按钮点击delphi
- hook wmi 修改机器码
评论
共有 条评论