An indirect syscall code generation utility for C/C++ windows impants
Project description
About
Wizardcalls is a code generation utility for C/C++ based implants targeting windows. Using wizardcalls, developers can quickly create a template containing desired syscalls for use in an implant via wizardcalls command line or scripting interfaces.
Limitations
At this time, wizardcalls is only intended for use in Windows development environments. Linux is not currently supported but this feature is not off the table in the future.
Wizardcalls only supports x64 based implants at this time. x86 support could be added in the future.
Installation
Wizardcalls can be installed manually from this repository or from PyPi.
Manual Installation
git clone https://github.com/wizardy0ga/wizardcalls
pip install .\wizardcalls
Install via PyPi
pip install wizardcalls
Bugs, Feature & Other Requests
Feel free to open an issue for an issue for things like bugs & feature requests.
Documentation
Module
Using wizardcalls from the command line
Using wizardcalls in a script
Template
Using the wizardcalls source code in your implant
Tutorials
Writing an injector with wizardcalls
Writing a compilation script for the injector with wizardcalls
Basic Usage
This section describes how wizardcalls can be used by developers. Wizardcalls offers two interfaces for developer usage, in a script & on the command line. The sections below provide a brief overview of both interfaces. See the linked documentation above for more inforamtion.
Command Line
After installation, developers can interact with wizardcalls from the commandline via the wizardcalls command. The image below shows the current options available for building the template. Wizardcalls only requires the --syscalls argument for usage. See the command line documentation for more information.
Scripting
Hashycalls offers an interface for developers to automate their implant's build routine via the WizardCalls object. More information can be found in the scipting documentation.
WizardCalls(
syscalls = [ 'NtAllocateVirtualMemory','NtFreeVirtualMemory','NtWriteVirtualMemory','NtCreateThreadEx','NtWaitForSingleObject' ]
, syscall_list_name = 'pSyscallz'
, hash_seed = 10000
, globals = True
, hash_algo = 'djb2'
, randomize_jump_address = True
, debug = True
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wizardcalls-2.1.0.tar.gz.
File metadata
- Download URL: wizardcalls-2.1.0.tar.gz
- Upload date:
- Size: 896.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe26df033e4f1dd47f1924c53f6dcd211aab68c25d21a5db3fc8738a29a5f16e
|
|
| MD5 |
516568f7601371a69a889ef6aa350c63
|
|
| BLAKE2b-256 |
0095847d3c8a51ca022e4388f4ba68e329376dc26543957313473169f7fac320
|
Provenance
The following attestation bundles were made for wizardcalls-2.1.0.tar.gz:
Publisher:
publish-to-pypi.yml on wizardy0ga/WizardCalls
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wizardcalls-2.1.0.tar.gz -
Subject digest:
fe26df033e4f1dd47f1924c53f6dcd211aab68c25d21a5db3fc8738a29a5f16e - Sigstore transparency entry: 356854189
- Sigstore integration time:
-
Permalink:
wizardy0ga/WizardCalls@67dd0ab3437fc4249b071656dc9a930fadf09064 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/wizardy0ga
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@67dd0ab3437fc4249b071656dc9a930fadf09064 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file wizardcalls-2.1.0-py3-none-any.whl.
File metadata
- Download URL: wizardcalls-2.1.0-py3-none-any.whl
- Upload date:
- Size: 71.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbf10e43c9302ee306df2ec31be439a210def72edfbfcae92b030486a80d08f4
|
|
| MD5 |
285d3557306e439bbae64480b77def66
|
|
| BLAKE2b-256 |
2d7c5edc889c5bb2fe33ef2cae6d893ff21f5830642496837113972bc80e1577
|
Provenance
The following attestation bundles were made for wizardcalls-2.1.0-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on wizardy0ga/WizardCalls
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wizardcalls-2.1.0-py3-none-any.whl -
Subject digest:
dbf10e43c9302ee306df2ec31be439a210def72edfbfcae92b030486a80d08f4 - Sigstore transparency entry: 356854212
- Sigstore integration time:
-
Permalink:
wizardy0ga/WizardCalls@67dd0ab3437fc4249b071656dc9a930fadf09064 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/wizardy0ga
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@67dd0ab3437fc4249b071656dc9a930fadf09064 -
Trigger Event:
workflow_dispatch
-
Statement type: