This application was developed on Windows 10.
Building or running this executable is known to trigger antivirus or other endpoint security software.
It is recommended that you build and run this application only on a host that meets the following requirements:
- Not connected to the Internet.
- No third-party antivirus or endpoint security applications or services are installed.
- Windows 10's real-time protection and automatic sample submission settings are disabled.
IMPORTANT WARNING: If you are using a shared folder to get your code into a virtual machine, you
must copy this process_injection
directory outside of the shared folder and work with that copy instead.
This ensures that your build artifacts are only created on the VM, and not in the shared folder where they might be scanned on your host machine by its security software.
- Microsoft .NET 6.0 SDK x64 Binaries (6.0.300 or later):
dotnet-sdk-6.0.300-win-x64.zip
- Direct link to installer: https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-6.0.300-windows-x64-binaries
- Main page: https://dotnet.microsoft.com/en-us/download/dotnet/6.0
- Nuget packages for .NET
- The default .NET installation does not download these packages even if your host is connected to the internet, so manually downloading these is necessary.
- ASP.NET Core Runtime 6.0.5
- Downloads as
microsoft.aspnetcore.app.runtime.win-x64.6.0.5.nupkg
- Downloads as
- Microsoft .NET Core Runtime 6.0.5
- Downloads as
microsoft.netcore.app.runtime.win-x64.6.0.5.nupkg
- Downloads as
- Windows Desktop Runtime 6.0.5
- Downloads as
microsoft.windowsdesktop.app.runtime.win-x64.6.0.5.nupkg
- Downloads as
- Gnu Make for Win32:
- http://gnuwin32.sourceforge.net/packages/make.htm
- Ctrl+F "Download" and click "Setup Program."
- This currently goes to: http://gnuwin32.sourceforge.net/downlinks/make.php
- The version should be 3.81 or higher (latest as of May 2022).
- Run the downloaded installer,
make-3.81.exe
.- The default installation directory is
C:\Program Files (x86)\GnuWin32
.
- The default installation directory is
- Add
C:\Program Files (x86)\GnuWin32\bin
to the Windows Path in your Environment Variables.
These examples assume that this is the only .NET SDK available on the Path.
- Extract
dotnet-sdk-6.0.300-win-x64.zip
toC:\dotnet\
.- This should be extracted such that
C:\dotnet\dotnet.exe
is the path todotnet.exe
.
- This should be extracted such that
- Add
C:\dotnet\
to the Path in the System Environment Variables. - Verify the following in a new Powershell shell:
dotnet --version
should resolve to6.0.300
dotnet --list-sdks
should include6.0.300 [C:\dotnet\sdk]
-
Create a directory named
nuget-local
(or other preferred name). -
Copy the Nuget packages into
nuget-local
. (Refer to "Nuget packages for .NET" in.
-
Copy
nuget.config.default
tonuget.config
(still in this directory). -
Open
nuget.config
in a text editor. Change thevalue
inpackageSources
to a relative path that points to thenuget-local
directory.<packageSources> <!-- Comment: Change "value" to your package directory --> <add key="LocalNuget" value="..\nuget-local" /> </packageSources>
First, build the executables with static compilation:
make build-all
The executables are placed in build/
.
If the %USERPROFILE%/.nuget
cache directory does not exist yet, the dotnet publish
command executed by the Makefile will create it there.
The process_injection.zip
archive contains the built executable:
process_injection/
process_injection.exe