All Projects → neg4n → tr

neg4n / tr

Licence: MIT license
linux memory hacking library

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to tr

Blog Ejemplos
Ejemplos y código de las herramientas que he explicado en el blog
Stars: ✭ 53 (+112%)
Mutual labels:  gnu-linux
Flameshot
Powerful yet simple to use screenshot software 🖥️ 📸
Stars: ✭ 15,429 (+61616%)
Mutual labels:  gnu-linux
Mis-Comandos-Linux
📋 Lista descrita de mis 💯 comandos favoritos ⭐ en GNU/Linux 💻
Stars: ✭ 28 (+12%)
Mutual labels:  gnu-linux
Kindd
A kindful dd, written in qt-quick.
Stars: ✭ 93 (+272%)
Mutual labels:  gnu-linux
Photoshopcclinux
Photoshop CC v19 installer for Gnu/Linux
Stars: ✭ 2,894 (+11476%)
Mutual labels:  gnu-linux
Pkgtop
Interactive package manager and resource monitor designed for the GNU/Linux.
Stars: ✭ 222 (+788%)
Mutual labels:  gnu-linux
Jwm Settings Manager
A full configuration manager for JWM, enabling the average user the ability to customize JWM to their liking. Built using FLTK and pugixml, this is a fast and light application to configure one of the fastest lightest Window Managers. This project is a part of Tori OS, which aims to be Fast and Light, so older computers can have a modern desktop that functions well, and looks beautiful.
Stars: ✭ 16 (-36%)
Mutual labels:  gnu-linux
DLL-INJECTOR
I created a dll injector I am going to Open source its Code. But remember one thing that is any one can use it only for Educational purpose .I again say do not use it to damage anyone's Computer.But one thing if you are using it for some good purpose like to help someone who really need help then I permit you to use it.
Stars: ✭ 14 (-44%)
Mutual labels:  memory-hacking
Working On Gnu Linux
《 完全用 GNU/Linux 工作》
Stars: ✭ 170 (+580%)
Mutual labels:  gnu-linux
dotfiles
Config files for my linux rice
Stars: ✭ 60 (+140%)
Mutual labels:  gnu-linux
La Capitaine Icon Theme
La Capitaine is an icon pack designed to integrate with most desktop environments. The set of icons takes inspiration from the latest iterations of macOS and Google's Material Design.
Stars: ✭ 1,858 (+7332%)
Mutual labels:  gnu-linux
Something For Reddit
A Reddit Client For GNOME (with Gtk+ and Python)
Stars: ✭ 151 (+504%)
Mutual labels:  gnu-linux
KDynamic
An Alternative to MacOS Mojave Dynamic Theme and Wallpaper Changer
Stars: ✭ 48 (+92%)
Mutual labels:  gnu-linux
Squeezer
Flexible general-purpose compressor with a touch of citrus
Stars: ✭ 78 (+212%)
Mutual labels:  gnu-linux
D3hex
The first dataflow based Hex-Editor!
Stars: ✭ 45 (+80%)
Mutual labels:  memory-hacking
Evolvere Icons
Stars: ✭ 52 (+108%)
Mutual labels:  gnu-linux
Automate With Ansible
《現代 IT 人一定要知道的 Ansible 自動化組態技巧》
Stars: ✭ 188 (+652%)
Mutual labels:  gnu-linux
K-Meter
Implementation of a K-System meter according to Bob Katz' specifications
Stars: ✭ 66 (+164%)
Mutual labels:  gnu-linux
ScriptHawk
A collection of Lua scripts and RAM watches for BizHawk.
Stars: ✭ 69 (+176%)
Mutual labels:  memory-hacking
HAPIH-2
API for supporting C++14 external memory hacking. Complete redesign from HAPIH
Stars: ✭ 18 (-28%)
Mutual labels:  memory-hacking

tr (trickster)

linux memory hacking library

To start using tr, clone this repository
and embed ./include/tr.hpp in source code of
your application or use this repository as
git submodule

Debugging

To verify library code execution and see error messages, compile
your program with -DTRICKSTER_DEBUG compiler flag. (g++)

Features

tr provides ability to:

  • Get process id by name.
  • Map process memory regions.
  • Enumerate process modules.
  • Manipulate process memory.
    • Write memory.
    • Read memory.
  • Get callable address.

Example implementation:

#include <memory>
// Enable logging
#define TRICKSTER_DEBUG
#include <tr.hpp>

constexpr std::uintptr_t value_address = 0x7ffc85c71c04;

int main( ) {
  // Create process object
  auto ctx = std::make_unique<tr_process_t>( "trtest" );
  // Print its id
  printf( "PID: %i\n\n", ctx->get_id( ) );
  // Map memory regions
  ctx->map_memory_regions( );
  // Print modules loaded into process memory (without duplicate segments)
  for ( const auto & module : tr_get_modules_list( ctx->get_memory_regions( ) ) ) {
    printf( "%s\n", module.c_str( ) );
  }
  printf("\n");
  // Read integer value at 0x7ffc85c71c04
  const auto read_opt = ctx->read_memory<int>( value_address );
  if ( read_opt.has_value( ) ) {
    printf( "Value: %i\n\n", read_opt.value( ).data );
  }
  // Increment value at 0x7ffc85c71c04
  const auto write_opt = ctx->write_memory( value_address, read_opt.value( ).data + 10 );
  // Check if write was 100% successful.
  printf( "Write bytes requested: %lu\nWrite bytes result: %lu\nPartial write: %i (1 == true, 0 == false)\n",
          write_opt.value( ).bytes_requested,
          write_opt.value( ).bytes_written,
          write_opt.value( ).partial_write );
}

Licensing

tr is available under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].