I've read around, and I ran into these: Microsoft Detours 2.1 (http://research.microsoft.com/sn/detours/ ) & Windows Research Kernel (http://www.microsoft.com/resources/shar ... elkit.mspx ).
I was just wondering if the ROS developers are able to take these packages and analyze them so they can be put into use for ReactOS.
Windows Research Kernel:
Microsoft Detours 2.1:Overview
The WRK packages core Windows XP x64 and Windows Server 2003 SP1 kernel source code with an environment for building and testing experimental versions of the Windows kernel for use in teaching and research.
The WRK includes the source for:
* Processes
* Threads
* LPC
* Virtual memory
* Scheduler
* Object manager
* I/O manager
* Synchronization
* Worker threads
* Kernel heap manager
* Other core Windows (NTOS) kernel functionality
The WRK is useful in design projects that allow your students to explore operating system (OS) principles using the Windows kernel sources. It facilitates the building of experiments and projects based on modifying the Windows kernel, enabling advanced teaching and research that promote better understanding of the Windows architecture and implementation.
Back to top
WRK Details
The Windows Research Kernel contains the sources for the core Windows (NTOS) kernel.
NTOS implements the basic OS functions for:
* Processes
* Threads
* Virtual memory and cache managers
* I/O management
* The registry
* Executive functions, such as the kernel heap and synchronization
* Object manager
* Local procedure call mechanism
* Security reference monitor
* Low-level CPU management (thread scheduling, Asynchronous and Deferred Procedure calls, interrupt/trap handling, exceptions)
The NT Hardware Abstraction Layer, file systems, network stacks, and device drivers are implemented separately from NTOS and loaded into kernel mode as dynamic libraries. Sources for these dynamic components are not included in the WRK. However, some are available in various development kits published by Microsoft, such as the Installable File System Kit and the Windows Driver Development Kit.
The WRK includes most of the NTOS kernel sources from the latest released version of Windows, which supports the x64 architecture on the desktop. The kernel sources excluded from the kit are primarily in the areas of Plug and Play, power management, the device verifier, kernel debugger interface, and virtual DOS machine. The primary modifications of the released kernel for the WRK are related to cleanup and removal of server support, such as code related to the Intel IA64.
WRK is primarily intended for faculty and instructors working in the area of operating systems who develop courses and write textbooks and want to include information about the Windows kernel based on the actual source code.
The WRK includes a build/test environment and binaries for the omitted source components, which can be used to build fully functional NTOS kernels that can be installed on Windows Server 2003 for x86/x64 and Windows XP x64.
Detours 2.1 is now available. Detours 2.1 includes the following new features:
* Complete documentation of the Detours API.
* Transactional model for attaching and detaching detours.
* Support for updating peer threads when attaching or detaching detours.
* Unification of dynamic and static detours into a single API.
* Support for detection of detoured processes.
* Significant robustness improvements in APIs that start a process with a DLL containing detour functions.
* New APIs to copy payloads into target processes.
* Support for 64-bit code on x64 and IA64 processors (available in Professional edition only).
* Supports building detours with Visual Studio 2005, Visual Studio .NET 2003, Visual Studio .NET (VC8), and Visual Studio (VC7).
Detours 2.1 comes in two editions:
* Detours Express 2.1 is available for immediate download under a no-fee, click-through license for research, non-commercial, and non-production use on 32-bit code.
* Detours Professional 2.1 includes a license for use in production environments and the right to distribute detour functions in products. In addition to support for 32-bit x86 code, Detours Professional 2.1 includes support for 64-bit code on x64 and IA64 processors. For information on licensing Detours Professional 2.1 visit Microsoft's IP Licensing Group at http://www.microsoft.com/iplicensing.
Overview
Innovative systems research hinges on the ability to easily instrument and extend existing operating system and application functionality. With access to appropriate source code, it is often trivial to insert new instrumentation or extensions by rebuilding the OS or application. However, in today's world systems researchers seldom have access to all relevant source code.
Detours is a library for instrumenting arbitrary Win32 functions on x86, x64, and IA64 machines. Detours intercepts Win32 functions by re-writing the in-memory code for target functions. The Detours package also contains utilities to attach arbitrary DLLs and data segments (called payloads) to any Win32 binary.
Detours preserves the un-instrumented target function (callable through a trampoline) as a subroutine for use by the instrumentation. Our trampoline design enables a large class of innovative extensions to existing binary software.
We have used Detours to create an automatic distributed partitioning system, to instrument and analyze the DCOM protocol stack, and to create a thunking layer for a COM-based OS API. Detours is used widely within Microsoft and within the industry.