Skip to content

Commit

Permalink
Initial fork of Detours 4.0 from Detours 3.0 archive.
Browse files Browse the repository at this point in the history
  • Loading branch information
galenh committed Nov 8, 2016
0 parents commit e5400b4
Show file tree
Hide file tree
Showing 158 changed files with 82,175 additions and 0 deletions.
115 changes: 115 additions & 0 deletions CREDITS.TXT
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
==============================================================================
The following individuals have helped identify specific bugs and improvements
in Detours. The entire Detours community has benefited from their help.
==============================================================================

* Jay Krell: Identified issue with VirtualSize == 0 files created in
NT 3.1 images. (Build_339)

* Igor Odnovorov: Identified an issue with the placement of the trampoline
region when a function is detoured twice and the second
trampoline region is outside of the +/- 2GB range of
the target. (Build_337)

* Jay Krell: Identified need for some programs to enumerate the
address of IAT entries. (Build_336)

* Calvin Hsia: Identified need for some program to change the excluded
system region. (Build_336)

* Adam Smith: Identified error in failure handling when VirtualProect
cannot make pages executable because the Prohibit
Dynamic Code Generation mitigation policy has been
applied to a process. (Build_335)

* Ben Faull: Identified fix to detour_alloc_region_from_lo and
detour_alloc_region_from_hi that preserves ASLR entropy.
(Build_334)

* Shaoxiang Su: Reported errors building with Visual Studio 2015.
(Build_332)

* Jay Krell: Identified and resolved significant gaps in the X86, X64
and IA64 disassemblers for instruction found in code,
but seldom found in function prologues. (Build_331)

* Allan Murphy: Identify error in rep and jmp ds: encodings. (Build_331)

* Philip Bacon: Identified incorrect entry point return for pure
resource-only binaries. (Build_330)

* Jay Krell: Identified failure in DetourAttachEx to update nAlign.
(Build_330)

* Sumit Sarin: Helped debug error with packed binaries.
(Build_329)

* Nitya Kumar Sharma: Reported bug in DetourAfterWithDll for 32/64 agnostic
EXEs.
(Build_327)

* Richard Black: Identified a large number of typos in documentation.
(Build_326)

* Michael Bilodeau: Identified bug in DetourUpdateProcessWithDll when the
target process contains a Detours payload *after* all
valid PE binaries.
(Build_324)

* Meera Jindal: Reported bug in identification of target address in
DetourCopyInstruction for jmp[] and call[] on x86 & x64,
the ff15 and ff25 opcodes.
(Build_323)

* Ken Johnson: Assistance with SAL 2.0 annotations.
(Build_319)

* Nick Wood: Identified bug in DetourFindFunction on ARM.
(Build_314)

* Mark Russinovich: Helped debug DetourCreateProcessWithDllEx.
(Build_314)

* John Lin: Implementation idea for DetoursCreateProcessWithDllEx.
(Build_314)

* Andrew Zawadowskiy Reported an improper memory page permissions
vulnerability in Detours 2.1. (Vulnerability does not
exist in versions later than Detours 2.1.)
(Build_223)

* Nightxie: Identified bug in detour_alloc_round_up_to_region.
(Build_310)

* Diana Milirud: Identified bug in B* instructions on ARM.
(Build_309)

* Juan Carlos Identified correct MSIL entry point for unsigned MSIL.
Luciani: (Build_308)

* Lee Hunt Suggested improvements in algorithm for allocation of
Lawrence Landauer trampoline regions on x64 to avoid collisions with
Joe Laughlin: system DLLs.
(Build_307)

* Tyler Sims Identified bug in handling of "anycpu" MSIL binaries
Darren Kennedy: on x64.
(Build_307)

* Andre Vachon: Help with optimized binaries.
(Build 301)

* Chris Mann: Identified fix not forward ported from 2.2 to 3.0.
(Build_301)

* Mark Irving: Identified bug with EXEs missing second import table.
(Build_300)

* Ben Schwarz: Identified bug in handling of multi-byte NOPs.
(Build_300)

* Aaron Giles Coded initial ARM/Thumb2 disassembler.
Jared Henderson: (Build_300)

* Doug Brubacher: Coded initial x86 disassembler.
(Build_100)
23 changes: 23 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright (c) Microsoft Corporation

All rights reserved.

# MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
55 changes: 55 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
##############################################################################
##
## Makefile for Detours.
##
## Microsoft Research Detours Package
##
## Copyright (c) Microsoft Corporation. All rights reserved.
##

ROOT = .
!include "$(ROOT)\system.mak"

all:
cd "$(MAKEDIR)"
@if exist "$(MAKEDIR)\core\makefile" cd "$(MAKEDIR)\core" && $(MAKE) /NOLOGO /$(MAKEFLAGS)
cd "$(MAKEDIR)\src"
@$(MAKE) /NOLOGO /$(MAKEFLAGS)
cd "$(MAKEDIR)\samples"
@$(MAKE) /NOLOGO /$(MAKEFLAGS)
@if exist "$(MAKEDIR)\bugs\makefile" cd "$(MAKEDIR)\bugs" && $(MAKE) /NOLOGO /$(MAKEFLAGS)
cd "$(MAKEDIR)"

clean:
cd "$(MAKEDIR)"
@if exist "$(MAKEDIR)\core\makefile" cd "$(MAKEDIR)\core" && $(MAKE) /NOLOGO /$(MAKEFLAGS) clean
cd "$(MAKEDIR)\src"
@$(MAKE) /NOLOGO /$(MAKEFLAGS) clean
cd "$(MAKEDIR)\samples"
@$(MAKE) /NOLOGO /$(MAKEFLAGS) clean
@if exist "$(MAKEDIR)\bugs\makefile" cd "$(MAKEDIR)\bugs" && $(MAKE) /NOLOGO /$(MAKEFLAGS) clean
cd "$(MAKEDIR)"

realclean: clean
cd "$(MAKEDIR)"
@if exist "$(MAKEDIR)\core\makefile" cd "$(MAKEDIR)\core" && $(MAKE) /NOLOGO /$(MAKEFLAGS) realclean
cd "$(MAKEDIR)\src"
@$(MAKE) /NOLOGO /$(MAKEFLAGS) realclean
cd "$(MAKEDIR)\samples"
@$(MAKE) /NOLOGO /$(MAKEFLAGS) realclean
@if exist "$(MAKEDIR)\bugs\makefile" cd "$(MAKEDIR)\bugs" && $(MAKE) /NOLOGO /$(MAKEFLAGS) realclean
cd "$(MAKEDIR)"
-rmdir /q /s $(INCDS) 2> nul
-rmdir /q /s $(LIBDS) 2> nul
-rmdir /q /s $(BINDS) 2> nul
-rmdir /q /s dist 2> nul
-del docsrc\detours.chm 2> nul
-del /q *.msi 2>nul
-del /q /f /s *~ 2>nul

test:
cd "$(MAKEDIR)\samples"
@$(MAKE) /NOLOGO /$(MAKEFLAGS) test
cd "$(MAKEDIR)"

################################################################# End of File.
26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Detours, Version 4.0.1

Detours is a software package for re-routing Win32 APIs underneath applications.
Under commercial release for 15 years, Detours has been licensed by over 100 ISVs
and used within nearly every product team at Microsoft. The goodness of Detours
is now open source.

The [`detours`](https://github.com/microsoft/detours) repository is where we do
development and there are many ways you can participate in the project, for example:

* [Submit bugs and feature requests](https://github.com/microsoft/detours/issues) and help us verify as they are checked in
* Review [source code changes](https://github.com/microsoft/detours/pulls)

## Contributing

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.

## Feedback

* File a bug in [GitHub Issues](https://github.com/Microsoft/detours/issues).

## License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the [MIT](LICENSE.txt) License.
Loading

0 comments on commit e5400b4

Please sign in to comment.