GithubHelp home page GithubHelp logo

coderaldrich / athercrc32 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from keowu/athercrc32

0.0 1.0 0.0 242 KB

ATHERCRC32 Provide developers with a complete framework for using CRC32 in functions/classes in memory, and protecting your software against WriteProcessMemory or changes during execution in memory, protecting your intellectual property.

License: GNU General Public License v3.0

C++ 60.89% C 39.11%

athercrc32's Introduction

ATHERCRC32 - Memory block protection

ATHERCRC32 Lib

ATHERCRC32 Provide developers with a complete framework for using CRC32 in functions/classes in memory, and protecting your software against WriteProcessMemory or changes during execution in memory, protecting your intellectual property.


Very simple to use

//__________________________________
// INCLUDE FOR ATHERCRC32 LIB
//__________________________________
#include "includes/ATHERCRC32.h"
//__________________________________

// Create an ATHERCRC instance
ATHERCRC32* ATHERCRC = new ATHERCRC32();
ATHERCRC32_WARNING* ATHERCRCWARNING = new ATHERCRC32_WARNING();

//Simple steps to implement for functions that are not class members

// We get the size of the process memory function
unsigned int iTamanho = ATHERCRC->obtemTamanhoDeUmaFuncaoDaMemoria(minhaFuncao);

// We calculate the CRC32
uint32_t CRC32MinhaFuncao = ATHERCRC->calcularCRC32DEUMAFUNCAO(minhaFuncao, iTamanho);

// Even simpler implementation for methods and classes

// Getting a pointer to a specific method / function of a class
auto pFuncaoParaVoidCasting = ATHERCRC->pvoid_cast(&MyClassTest::MyFunction);

// Calculating the size in memory
iTamanho = ATHERCRC->obtemTamanhoDeUmaFuncaoDaMemoria(pFuncaoParaVoidCasting);

// Calculating the CRC32
CRC32MinhaFuncao = ATHERCRC->calcularCRC32DEUMAFUNCAO(pFuncaoParaVoidCasting, iTamanho);

Simple to implement and much simpler to detect

    // It will be displayed and calculated that the CRC32 of the memory block is wrong and has been changed
    // Just detect, and writes to the console that a change was found in the process memory block.
    ATHERCRCWARNING->AntiMemoryWriteDectLite(minhaFuncao, iTamanho, CRC32MinhaFuncao);

    // It will be displayed and calculated that the CRC32 of the memory block is correct
    //You can assign between true and false if you want to show a warning to your user.
    ATHERCRCWARNING->AntiMemoryWriteDetect(minhaFuncao, iTamanho, CRC32MinhaFuncao, true);

See protection working

demo1 In this example using the x32dbg tool I found the memory pointer of a string that I would like to modify

demo2 I decided to modify the function and its received parameters and its strings

demo3 After making some modifications, and cracking attempts and changes in the process memory

demo4 demo4
I decided to run the software after my modifications and I was detected and the software was protected from my attack.

Copyright (C) Keowu | ATHERCRC32 OpenSource | please leave a like in the repository if this library is useful for you

athercrc32's People

Contributors

keowu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.