Skip to main content

An indirect syscall code generation utility for C/C++ windows impants

Project description

Typing SVG Typing SVG

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.

help output

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


Download files

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

Source Distribution

wizardcalls-2.0.1.post1.tar.gz (545.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wizardcalls-2.0.1.post1-py3-none-any.whl (69.5 kB view details)

Uploaded Python 3

File details

Details for the file wizardcalls-2.0.1.post1.tar.gz.

File metadata

  • Download URL: wizardcalls-2.0.1.post1.tar.gz
  • Upload date:
  • Size: 545.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for wizardcalls-2.0.1.post1.tar.gz
Algorithm Hash digest
SHA256 8d01b9d639300f33f8668345b49a2d7e8eb61c0e4207c3fe4858ab3cff146a97
MD5 46786a0c0c4abaf1f374c62f69dded48
BLAKE2b-256 92adc8118eeda94c8f46f018f1469cae00ab42c5e63f3f5993401df0cb05ee2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for wizardcalls-2.0.1.post1.tar.gz:

Publisher: publish-to-pypi.yml on wizardy0ga/WizardCalls

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wizardcalls-2.0.1.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for wizardcalls-2.0.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 ffeab38176c1f4f4c648d11b361d5956d13a8b3112ad120e39992db4295696c3
MD5 6fe0bd9c79bc6464a0f4f3d3ba4d47a4
BLAKE2b-256 9e537b04ccd2f77bea544718bdbf3b0422856df76984b9d9860d3a4357e02209

See more details on using hashes here.

Provenance

The following attestation bundles were made for wizardcalls-2.0.1.post1-py3-none-any.whl:

Publisher: publish-to-pypi.yml on wizardy0ga/WizardCalls

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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