InfectPE - Inject custom code into PE file [This project is not maintained anymore]
Switch branches/tags
Nothing to show
Clone or download
Latest commit 489eef5 Apr 26, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
InfectPE New technique and little bit improvements Apr 26, 2017
.gitattributes Add .gitignore and .gitattributes. Apr 21, 2017
.gitignore Add .gitignore and .gitattributes. Apr 21, 2017
InfectPE.sln Add project files. Apr 21, 2017 Update Apr 26, 2017


Using this tool you can inject x-code/shellcode into PE file. InjectPE works only with 32-bit executable files.

Why you need InjectPE?

  • You can test your security products.
  • Use in a phishing campaign.
  • Learn how PE injection works.
  • ...and so on.

In the project, there is hardcoded x-code of MessageBoxA, you can change it.


Windows x86 binary - Hardcoded MessageBoxA x-code, only for demos.


vc_redist.x86 - Microsoft Visual C++ Redistributable


.\InfectPE.exe .\input.exe .\out.exe code

X-code is injected into code section, this method is more stealthy, but sometimes there is no enough space in the code section.

.\InfectPE.exe .\input.exe .\out.exe largest

X-code is injected into a section with the largest number of zeros, using this method you can inject bigger x-code. This method modifies characteristics of the section and is a bit more suspicious.

.\InfectPE.exe .\input.exe .\out.exe resize

Expand the size of code section and inject x-code. This technique, like "code" one, is less suspicious, also you can inject much bigger x-code.

.\InfectPE.exe .\input.exe .\out.exe new

Create a new section and inject x-code into it, hardcoded name of the section is ".infect"

In the patched file, ASLR and NX are disabled, for the more technical information you can analyze VS project.

Please, don't use with packed or malformed executables.


Vimeo - "code" and "largest" techniques.

Vimeo - "resize" technique.


Add more techniques to inject x-code into PE file.


I create this project for me to learn a little bit more about PE file format.

There are no advanced techniques.

Just only for educational purposes.