Go to file
2025-12-14 15:13:14 +01:00
binaries write all to encrypted file instead 2025-12-14 15:13:14 +01:00
crypt write all to encrypted file instead 2025-12-14 15:13:14 +01:00
stub Clean up test artifacts and removed files 2025-12-14 12:41:05 +01:00
.gitignore Adding the ability to pass the EXE name as a commandline argument. I like this better than having a hardcoded exe name 2024-07-15 10:43:28 -05:00
COMPILATION_README.md write all to encrypted file instead 2025-12-14 15:13:14 +01:00
dec_and_inject.exe write all to encrypted file instead 2025-12-14 15:13:14 +01:00
decrypted_binary write all to encrypted file instead 2025-12-14 15:13:14 +01:00
decryptor write all to encrypted file instead 2025-12-14 15:13:14 +01:00
decryptor.cpp write all to encrypted file instead 2025-12-14 15:13:14 +01:00
dll_metadata_data.h write all to encrypted file instead 2025-12-14 15:13:14 +01:00
dll_payload_data.h write all to encrypted file instead 2025-12-14 15:13:14 +01:00
encrypted_dll.dll write all to encrypted file instead 2025-12-14 15:13:14 +01:00
libphotoshop.dll write all to encrypted file instead 2025-12-14 15:13:14 +01:00
libphotoshop.so write all to encrypted file instead 2025-12-14 15:13:14 +01:00
linux_injector write all to encrypted file instead 2025-12-14 15:13:14 +01:00
linux_injector.cpp write all to encrypted file instead 2025-12-14 15:13:14 +01:00
metadata_data.h write all to encrypted file instead 2025-12-14 15:13:14 +01:00
payload_data.h write all to encrypted file instead 2025-12-14 15:13:14 +01:00
README.md Clean up test artifacts and removed files 2025-12-14 12:41:05 +01:00
simple_batch.sh Added batch processing 2025-09-24 18:41:36 -05:00
test.cpp write all to encrypted file instead 2025-12-14 15:13:14 +01:00
windows_injector.cpp write all to encrypted file instead 2025-12-14 15:13:14 +01:00
windows_injector.exe write all to encrypted file instead 2025-12-14 15:13:14 +01:00

Rust Crypter

x86-64 Crypter built in Rust for Windows with Anti-VM, powered by memexec

Usage

Single File

  1. Put your .exe in /crypt/
  2. cd crypt && cargo run <filename.exe>
  3. mv encrypted_Input.bin key.txt ../stub/src/
  4. cd ../stub && cargo build --target x86_64-pc-windows-gnu --release
  5. Your encrypted exe is in stub/target/x86_64-pc-windows-gnu/release/stub.exe

Batch Processing (Multiple Files)

./simple_batch.sh /path/to/folder/with/exe/files

Output: batch_output/ folder with {filename}_encrypted.exe files

Supported targets

  • Windows x86-64
  • Windows x86

Limitations

  • .NET not supported
  • Files over 600MB not supported

TODO

  • File dialogue choose file instead of renaming code strings/executable names
  • Automatically move encrypted bytes and key into stub for compiling
  • GUI
  • Obfuscated Strings

Disclaimer

This is a tool used to test the Static + Dynamic detection capabilites of AV and EDR, use of this project is at your own risk

MITRE TTPs (Indicators)

  • User Execution: Malicious File T1204.002
  • Deobfuscate/Decode Files or Information T1140
  • Embedded Payloads T1027.009
  • System Checks T1497.001
  • Reflective Code Loading T1620
  • Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder T1547.001

References

https://crates.io/crates/memexec https://crates.io/crates/inside-vm