EasyHook_Src
所属分类:Windows编程
开发工具:Visual C++
文件大小:314KB
下载次数:10
上传日期:2010-02-02 15:02:22
上 传 者:
mcma
说明: Easy Hook 源代码
学习HOOK的好资料
(Easy Hook source code)
文件列表:
EasyHook (0, 2010-02-02)
EasyHook\DriverShared (0, 2010-02-02)
EasyHook\DriverShared\ASM (0, 2010-02-02)
EasyHook\DriverShared\ASM\HookSpecific_x64.asm (11365, 2008-08-11)
EasyHook\DriverShared\ASM\HookSpecific_x86.asm (9333, 2008-08-11)
EasyHook\DriverShared\ASM\ILD_x64.asm (150299, 2008-08-05)
EasyHook\DriverShared\ASM\ILD_x86.asm (61291, 2008-08-05)
EasyHook\DriverShared\DriverShared.h (6273, 2008-08-11)
EasyHook\DriverShared\LocalHook (0, 2010-02-02)
EasyHook\DriverShared\LocalHook\alloc.c (6303, 2008-08-12)
EasyHook\DriverShared\LocalHook\barrier.c (22072, 2008-08-11)
EasyHook\DriverShared\LocalHook\caller.c (16015, 2008-08-12)
EasyHook\DriverShared\LocalHook\install.c (15297, 2008-08-11)
EasyHook\DriverShared\LocalHook\reloc.c (10169, 2008-08-09)
EasyHook\DriverShared\LocalHook\uninstall.c (8030, 2008-08-11)
EasyHook\DriverShared\Rtl (0, 2010-02-02)
EasyHook\DriverShared\rtl.h (5947, 2008-08-12)
EasyHook\DriverShared\Rtl\error.c (3971, 2008-08-11)
EasyHook\DriverShared\Rtl\string.c (6017, 2008-08-08)
EasyHook\EasyHook (0, 2010-02-02)
EasyHook\EasyHook.sln (8852, 2008-08-12)
EasyHook\EasyHookDll (0, 2010-02-02)
EasyHook\EasyHookDll\AUX_ULIB.H (3802, 2008-07-16)
EasyHook\EasyHookDll\AUX_ULIB_x86.LIB (35230, 2008-07-16)
EasyHook\EasyHookDll\dllmain.c (5215, 2008-08-12)
EasyHook\EasyHookDll\EasyHookDll.vcproj (19758, 2008-08-12)
EasyHook\EasyHookDll\GS_x86.lib (32912, 2005-04-14)
EasyHook\EasyHookDll\LocalHook (0, 2010-02-02)
EasyHook\EasyHookDll\LocalHook\acl.c (8019, 2008-08-08)
EasyHook\EasyHookDll\LocalHook\debug.cpp (16679, 2008-08-11)
EasyHook\EasyHookDll\ntstatus.h (1774, 2008-08-07)
EasyHook\EasyHookDll\RemoteHook (0, 2010-02-02)
EasyHook\EasyHookDll\RemoteHook\driver.cpp (5738, 2008-08-12)
EasyHook\EasyHookDll\RemoteHook\entry.cpp (9586, 2008-08-12)
EasyHook\EasyHookDll\RemoteHook\service.c (6586, 2008-08-08)
EasyHook\EasyHookDll\RemoteHook\stealth.c (16224, 2008-08-12)
EasyHook\EasyHookDll\RemoteHook\thread.c (34998, 2008-08-12)
EasyHook\EasyHookDll\Rtl (0, 2010-02-02)
EasyHook\EasyHookDll\Rtl\file.c (4571, 2008-08-08)
EasyHook\EasyHookDll\Rtl\memory.c (6250, 2008-08-11)
... ...
*********************************************************************************************
******************************************************* 1) License information
*********************************************************************************************
EasyHook - The reinvention of Windows API hooking
Copyright (C) 2008 Christoph Husse
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Please visit http://www.codeplex.com/easyhook for more information
about the project and latest updates.
PLEASE NOTE:
The LGPL allows you to sell propritary software based on this library
(EasyHook) without releasing the source code for your application.
This is a big difference to the original GPL. Refer to the attached
"LICENSE" document for more information about the LGPL!
To wrap it up (without warranty):
1) You are granted to sell any software that uses EasyHook over
DLL or NET bindings. This is covered by the native API and the
managed interface.
2) You are NOT granted to sell any software that includes parts
of the EasyHook source code or any modification! If you want
to modify EasyHook, you are forced to release your work under
the LGPL or GPL... Of course this only applies to the library
itself. For example you could release a modification of EasyHook
under LGPL, while still being able to release software, which
takes advantage of this modification over DLL or NET bindings,
under a proprietary license!
3) You shall include a visible hint in your software that EasyHook
is used as module and also point out, that this module in
particular is released under the terms of the LGPL and NOT
under the terms of your software (assuming that your software
has another license than LGPL or GPL).
I decided to release EasyHook under LGPL to prevent commercial abuse
of this free work. I didn't release it under GPL, because I also want to
address commercial vendors which are more common under Windows.
BUG REPORTS:
Reporting bugs is the only chance to get them fixed! Don't consider your
report useless... I will fix any serious bug within a short time! Bugs with
lower priority will always be fixed in the next release...
DONATIONS:
I want to add support for Itanium (II - III) processors. If you have any hardware
that you don't need anymore or could donate, which >supports< a recent Windows
Itanium edition (Windows license is not required), please contact me. Of course we
could discuss a reasonable sponsorship reference for your company. Money for
buying such hardware is also appreciated...
*********************************************************************************************
***************************************************** 2) How to compile
*********************************************************************************************
Since EasyHook 2.5, compilation is dramatically simplified. Just compile once
for "x***" and once for "x86". The native EasyHook DLLs will automatically be
copied into their counterpart arch directory.
The you will have to copy the following files into any desired "Deploy" directory:
"Debug\x***\EasyHook***.dll" -> "Deploy\EasyHook***.dll"
"Debug\x***\EasyHook***Svc.dll" -> "Deploy\EasyHook***Svc.dll"
"Debug\x86\EasyHook32.dll" -> "Deploy\EasyHook32.dll"
"Debug\x86\EasyHook32Svc.dll" -> "Deploy\EasyHook32Svc.dll"
"Debug\x***\EasyHook.dll" -> "Deploy\EasyHook.dll"
"Debug\x***\EasyHook.dll.xml" -> "Deploy\EasyHook.dll.xml"
"Debug\x86\EasyHook32Drv.sys" -> "Deploy\EasyHook32Drv.sys"
"Debug\x***\EasyHook***Drv.sys" -> "Deploy\EasyHook***Drv.sys"
Of course this is not necessary for testing purposes. As long as you keep
all test applications in either the "x86" or "x***" directory, they will
run properly. The "Deploy" directory is meant to contain all files necessary
to ship an application based on EasyHook. This is what you get with the
"Binaries Only" package.
*********************************************************************************************
***************************************************** 3) Prerequisites
*********************************************************************************************
Since the CRT is now statically compiled into the DEBUG version, you won't
need the Visual Studio Redistributable package anymore. The RELEASE version
will compile without CRT, which heavily reduces the resulting binary size!
For testing purposes I would always recommend to use the DEBUG version...
近期下载者:
相关文件:
收藏者: