Home

Awesome

crycall | Compile-Time Calls Obfuscator for C++14+

Description

This repository provides a compile-time calls obfuscator based on lambdas, virtual calls and on how std::function works.
Users can easily obfuscate their calls using the crycall and crycall_virtual macro provided in the header.
The repository includes an example demonstrating the usage of crycall.
Needs optimization off (C/C++ -> Optimization -> "Optimization" and "Whole Program Optimization")

Key Aspects

How it shows

Look here

Repository Structure

Usage

crycall(returntype, function, args...)

or

crycall_virtual(returntype, class_address, virtual_index, args...)

Note that the virtual_index must be the index and not the virtual offset. (index = offset / 0x8)

Usage Example

The repository includes an example demonstrating the usage of the crycall macro:

main.cpp

#include <iostream>
#include "crycall.hpp"

int sum(int a, int b)
{
    return a + b;
}

int main()
{
    printf("sum: %d", crycall(int, sum, 10, 5));

    return 0;
}