• 大小: 16.81MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-31
  • 语言: 其他
  • 标签: sock5  hook  

资源简介

代码供学习交流之用,不可用于商业。代码如有问题大家可以修改、更正。

资源截图

代码片段和文件信息

//////////////////////////////////////////////////////////////////////////////
//
//  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\AsyncProxySocketlayer.cpp

     文件      11916  2008-01-28 14:34  hookproxy\asynsocket\AsyncProxySocketlayer.h

     文件      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\AsyncSocketExlayer.cpp

     文件       9361  2017-07-22 17:24  hookproxy\asynsocket\AsyncSocketExlayer.h

     文件       8683  2008-01-08 15:22  hookproxy\asynsocket\Cbase64Coding.cpp

     文件       1203  2008-01-04 17:22  hookproxy\asynsocket\Cbase64Coding.hpp

     文件        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个文件信息

评论

共有 条评论