Giter Site home page Giter Site logo

le-o-n / cython-virtual-memory-toolkit Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 4.86 MB

The Cython Virtual Memory Toolkit is designed to provide Cython header files (*.pxd) for various functionalities, enabling Cython to interact with the virtual memory of a target process. This toolkit includes features for reading, writing, allocating, and freeing virtual memory.

License: MIT License

Cython 88.96% Batchfile 3.74% Python 4.93% C 2.37%
cython cython-library virtual-memory virtual-memory-management windows-api

cython-virtual-memory-toolkit's Introduction

Hey there! Welcome to my profile!

Anurag's GitHub stats Top Langs

  Python           Java           Cython            C++            C

About Me

  • ⚡ Studying Computer Science (MEng) at the University of Warwick.
  • 🐍 Reverse engineering games and writing code injections.
  • 🔭 Building Neural Networks on stock return prediction using LSTM-based Encoder-Decoder models.
  • 📙 Building a framework to develop and test trading strategies using Monte Carlo Simulations on historical data.

cython-virtual-memory-toolkit's People

Contributors

le-o-n avatar

Stargazers

 avatar  avatar

Watchers

 avatar

cython-virtual-memory-toolkit's Issues

Allow aob scan to return ALL the found results

windows_defs.PrivilegedSearchMemoryBytes currently has a race condition to return one of the found addresses, currently this isn't an issue since the use case is for when there is only ever a single matching AOB anyway but could be improved in the future to have all addresses returned.

Specifically the AOB scan will return one of the matching addresses within the first block it encounters the match.

Create a install.bat script

Have a script that can install via the github repo. The steps should be:

  • Build the source distribution
  • python -m pip install ./path/to/*tar.gz

Add Markdown

Add markdown for instructions on:

  • How to install
  • How to use
  • How to pip install
  • How to compile
  • How to build from source
  • ...

Make all the submodules consistent in naming conventions and implementation

Inconsistant naming convention for init functions

Should move to all be init as convention since this would be in line with python

CModule_init
CProcess_new

Sometimes the base init function will take in all the parameters such as CModule_init:

cdef inline CModule* CModule_init(CAppHandle* app_handle, char* name, void* base_address, size_t size) nogil: ...

Other times it takes in nothing and creates a blank structure such as CMemoryRegionNode_init:

Should make all init functions take in parameters since this would ensure that the constructed structure should be valid.

cdef inline CMemoryRegionNode* CMemoryRegionNode_init() nogil: ...

Have AOB scans allow wildcards

Allow wildcard bytes in AOB scan to allow some bytes to be anything:

0x50, ??, 0x90, ??, ??, ??, 0x10, 0x10, ...

This could be done by having a new CBytes struct that potentially is just a map of indexes to values.

0x5, 0x6, ??, 0x7, 0x8 

{0: 0x5, 1: 0x6, 3: 0x7, 4: 0x8}

Reduce the number of heap allocations

Most of the structs are being heap allocated but are static in size, this is slow and using stack allocation is much faster.

Convert from heap to stack allocations where possible

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.