EasyHook 2.5 Beta

Rating:        Based on 8 ratings
Reviewed:  7 reviews
Downloads: 9356
Released: Aug 12, 2008
Updated: Mar 8, 2009 by ChristophHusse
Dev status: Beta Help Icon

Recommended Download

Documentation Tutorial and Introduction
documentation, 396K, uploaded Aug 12, 2008 - 2456 downloads

Other Available Downloads

Application EasyHook 2.5 Beta Binaries
application, 204K, uploaded Aug 12, 2008 - 2013 downloads
Source Code EasyHook 2.5 Beta Source Code
source code, 337K, uploaded Aug 12, 2008 - 1928 downloads
Documentation Managed API reference
documentation, 153K, uploaded Aug 12, 2008 - 1547 downloads
Documentation Unmanaged API reference
documentation, 356K, uploaded Aug 12, 2008 - 1412 downloads

Release Notes

This is the final beta version of the next milestone. I think all common methods shall work properly. If you encounter any bug, please report it using the "Issue Tracker", because that's the only way to get them fixed!

I tested most of the code on a clean Windows 2000 SP4 installation(only with NET 2.0 redist installed), on Windows XP SP3 with VS2005 and on Windows Vista x64 with VS2005 and VS2008 installed.

I recommend to download the binaries and only use the source code to view it. The problem is that you need to compile the 32-bit parts on Windows 2000 and the 64-Bit parts on windows Vista x64. Then you would need to copy them all together to get a new working deployment package. Compiling the 64-Bit files on windows 2000 or XP does NOT work, even if Visual Studio supports it!
Of course you can compile the source code on one platform, but then you will get issues when executing your application on others...

Major changes since EasyHook 2.0:
  • A documented, pure unmanaged API
  • Support for 32- and 64-bit kernel mode hooking (also check out my PatchGuard 3 bypass driver which can be found in the release list)
  • Source code was rewritten entirely and this will greatly improve performance, stability and maintainability
  • Experimental stealth injection mechanism that won't raise attention of any current AV Software
  • EasyHook32.dll and EasyHook64.dll are now pure unmanaged modules and can be used without any NET framework installed!
  • Managed/Unmanaged module stack trace added
  • Get calling managed/unmanaged module inside a hook handler
  • Create custom stack traces inside a hook handler
  • License has changed to Lesser GPL (LGPL)
  • No unpacking/installation necessary anymore.
  • No CRT bindings for release configurations, reducing deployment size about some megabytes.
  • The Visual Studio Redistributable is not required anymore.
  • First feature complete release of EasyHook...

WHAT ARE THE IMPACTS OF THE LICENSE CHANGE?

Due to some requests, I want to add that everyone interested in other licensing models is able to purchase a custom license of EasyHook.

To wrap it up (without warranty):

1. You are granted to sell any software that uses EasyHook over DLL, NET bindings or EasyHookQueryInterface(). 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.

Reviews for this release

     
excellent library and documents!
by Aladdina on Jan 31, 2009 at 10:39 AM
     
Easy to use and powerful, this is amazing!
by xenoglyph on Jan 28, 2009 at 8:35 AM
     
thx
by freecat on Jan 5, 2009 at 6:38 PM
     
excellent support. very easy to use.
by juergen1969 on Nov 4, 2008 at 2:02 PM
     
Stable and easy to use. Greatest masterpiece ever!
by ssteo on Oct 12, 2008 at 4:24 AM
     
Injecting my dlls into process is really easy
by myro on Sep 29, 2008 at 5:02 PM
     
the unique exceptional open source solution, even better than most of the commercial products!
by taowen on Sep 5, 2008 at 2:19 AM