# Packer for x86 Portable Executable applications
## What is this?
This packer works by encrypting a specific code places, create new section that will be contain the stub for decrypting and the necessary obfuscation. \
Packer has one common stub that will be obfuscated using several methods which has adverse effects on analyzers/decompilers.
Only X86 binaries are currently supported, but in the future the ability to package x64 binaries will be added.
## Optional arguments
Packer by default works off a command line. Listed below are the arguments requried to use it.
| Argument | Description | Extra arguments |
| ----------- | ------------------------------------------------------------------------------------- | --------------- |
| `-oep_call` | Obfuscation of the entry point, namely the call to the required address. | |
| `-adasm` | Anti-disassembly technique, allows to break the hex-rays decompiler in particular | |
| `-mba` | Mixed Boolean Arithmetic obfuscation, inserts unwanted mathematical operations | |
| `-senc` | Includes encryption using the XOR algorithm of the required sections | |
| `-fpack` | Encrypts the required function using the XOR algorithm, adding a stub for decryptingr | addr1, addr2 |
| `-finstr` | Generates invalid instructions that will adversely affect analyzers/decompilers. | |
| `-noaslr` | Allows you to disable ASLR | |
## Obfuscator in action

## Input

## Output

## Usage example
```commandline
Usage: pe-packer