Coder Social home page Coder Social logo

memdig's Introduction

MemDig: a memory cheat tool

MemDig allows the user to manipulate the memory of another process, primary for the purposes of cheating. There have been many tools like this before, but this one is a scriptable command line program.

There are a number of commands available from the program's command prompt. The "help" command provides a list with documentation. MemDig commands can also be supplied as command line arguments to the program itself, by prefixing them with one or two dashes.

All commands can be shortened so long as they remain unambiguous, similar to gdb. For example, "attach" can be written as "a" or "att".

The current set of commands is quite meager, though it can operate on integers and floats of any size. The command set will grow as more power is needed.

Example Usage

Here's how you might change the amount of gold in a game called Generic RPG. Suppose the process name is grpg.exe and you currently have 273 gold, stored as a 32-bit integer.

memdig.exe --attach grpg.exe
> find 273
317 values found

(... perform an in-game action to change it to 312 gold ...)

> narrow 312
1 value found
> set 1000000
1 value set

If all goes well, you would now have 1 million gold.

The above could be scripted entirely as command arguments.

memdig.exe -a grpg.exe -f 273 -w 10 -n 312 -s 1000000 -q

The -w 10 (i.e. --wait 10) will put a 10 second delay before the "narrow" command, giving you a chance to make changes to the game state. The -q (i.e. --quit) will exit the program before it beings the interactive prompt.

Supported Types

Suffixes can be used to set the type when searching memory. There are three integer width specifiers: byte (o), short (h), and quad (q), and each integer type is optionally unsigned (uo, uh, u, uq). For floating point, include a decimal or exponent in the normal format. An f suffix indicates single precision.

  • -45o (signed 8-bit)
  • 40000uh (unsigned 16-bit)
  • 0xffffq (unsigned 64-bit)
  • 10.0 (double)
  • 1e1f (float)

Supported Platforms

Currently Windows and Linux are supported. The platform API is fully abstracted, so support for additional platforms could be easily added.

Future Plans

  • Remote, network interface
  • More values types (strings, SIMD)
  • Better handling of NaN and inf
  • Readline support (especially on Linux)
  • Automatic re-attach
  • Watchlist editing (add, remove)
  • Save/load address lists by name, to file
  • Address list transformations and filters
  • Progress indicator (find)
  • Symbol and region oriented commands (locate known addresses after ASLR)
  • (long shot) Export/create trainer EXE for a specific target

memdig's People

Contributors

skeeto avatar hhnr 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.