Skip to main content

A library for interacting with Windows process memory

Project description

Invade

Invade

Invade is a Python 3 library for interacting with Windows processes. Common uses: software security and malware research, reverse engineering, and PoCs.

https://github.com/cgio/invade

https://pypi.org/project/invade

There are four classes in main.py:

  • Me: for operating environment info
  • Scout: for process discovery
  • Target: for target process info
  • Tool: for main operation

Common use case overview:

  1. Create an instance of Me and check the operating environment for compatibility.
  2. Use Scout to get a list of active processes and the desired PID (process identifier).
  3. Instantiate Target using the PID obtained by Scout.
  4. Check Target instance properties for information about the target process.
  5. Interact with the target process using Tool methods.

Another common use case is Invade's relatively fast byte pattern search with wildcard support. Operation is similar to IDA's "sequence of bytes" search. Use Tool.search_file_pattern() to search through a file on disk.

Tool.memory_read_pointers() is also useful. With it, you can read through a series of dynamically allocated memory pointers in another process. The method accepts a string containing a start address and relative pointers with common arithmetic operators.

Refer to main.py for additional information and usage instructions.

Refer to RELEASE.md for release notes.

Installation

Python 3.6+ is required

pip install invade

Install Keystone for Python. See Python module for Windows - Binaries.

Install Capstone for Python. See Python module for Windows - Binaries.

Files

Inside /invade:

  • main.py: contains all main code and classes
  • winapi.py: contains Windows API code
  • version.py: contains version information

Example Projects

Authors

Chad Gosselin (https://github.com/cgio)

Credits

Thank you to the following projects:

License

This project is licensed under the MIT License. See LICENSE.md for details. This project is for educational purposes only. Use at your own risk.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

invade-0.0.6.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

invade-0.0.6-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file invade-0.0.6.tar.gz.

File metadata

  • Download URL: invade-0.0.6.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

File hashes

Hashes for invade-0.0.6.tar.gz
Algorithm Hash digest
SHA256 fc3db82101398926afa051bb25d2edbc9490d59af88001b19560ecf7ca9571e1
MD5 7a391340ece49707932dd9e11ac370a3
BLAKE2b-256 6ad440d842cda4159956e0dd17edc68c808f7c59c1169938c640c9a8c9037767

See more details on using hashes here.

File details

Details for the file invade-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: invade-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

File hashes

Hashes for invade-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 30be5051437ad1aa1c862f90f1ef9d600f1df40f7a83885c4130237480552219
MD5 e9df3556a11bc11ef304bd148c46a113
BLAKE2b-256 a1fccb8afcb2ed3e18f3d200be7ef545bc47f5b5fdfb9345b9bcf4a9a5dc13e2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page