資源簡介
代碼供學習交流之用,不可用于商業。代碼如有問題大家可以修改、更正。
代碼片段和文件信息
//////////////////////////////////////////////////////////////////////////////
//
//??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?????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個文件信息
評論
共有 條評論