Skip to content

Command line DLL injector for Windows 10 (unfinished).

Notifications You must be signed in to change notification settings

islipnot/WinInject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WinInject

  • A 32 bit Windows 10 DLL injector, focused on manual map injection. Manual mapping logic is based on that of the Windows image loader.
  • Multiple assumptions regarding the injected DLLs are made. WinLoad, another project of mine, is a much more accurate and detailed representation of the image loader.
  • Manual mapping logic is based on my findings when reversing the image loader.

Usage

  • Argument format: <TargetProcess> <DllPath> <Flags>
  • TargetProcess must end in .exe
  • DllPath must end in .dll

Flags

  • "ManualMap": Manually maps the target DLL and its dependencies.
  • "LoadLibrary": Uses LoadLibraryW to inject the target DLL.

Features

  • Capable of LoadLibraryW and manual map injections.
  • Resolves and maps all unloaded dependencies.
  • Efficient resolution and handling of API sets and forwarders.
  • TLS handled if a .tls section is detected.

Todo

  • Improve TLS handling - if the injected dll hooks the main loop, there is currently undefined behavior on TLS access from the hook(s).
  • Add ordinal import support.
  • Optimize existing code.
  • Create a GUI build.
  • Add x64 support.

Screenshots

initializing

resolving

About

Command line DLL injector for Windows 10 (unfinished).

Topics

Resources

Stars

Watchers

Forks

Languages