C Python Roff Shell M4 Makefile
Latest commit 4925fbe Jan 3, 2018 @bkazemi bkazemi committed with 12345ieee maps: fix spacing
Multiple lines of code in sm_readmaps() were indented improperly.

This commit introduces only whitespace changes.
Permalink
Failed to load latest commit information.
gui gui: Update screenshot and include it in README Oct 15, 2017
po po: Add a German translation Oct 7, 2017
test test/*: Add testing framework. Oct 9, 2017
.gitignore test/*: Add testing framework. Oct 9, 2017
.travis.yml .travis.yml: Fix Coverity scan build Oct 13, 2017
AUTHORS main: Update copyright for 2017 Oct 13, 2017
COPYING No commit message Dec 30, 2009
ChangeLog ChangeLog: Link to the releases page on GitHub Apr 28, 2016
Makefile.am test/*: Add testing framework. Oct 9, 2017
NEWS NEWS: Only link to the releases page on GitHub Apr 28, 2016
README README: Add Slack chat badge Oct 13, 2017
README.md load/save cheat list Apr 25, 2013
TODO Update TODO Oct 7, 2017
autogen.sh autogen: Run autoheader to generate config.h.in May 5, 2016
build_for_android.sh android: Add an Android build script Jan 15, 2016
commands.c libscanmem: Clean up includes Oct 7, 2017
commands.h commands: Typedef the handler's signature as `handler_ptr` Aug 8, 2017
common.h libscanmem: Move all the misc functions from `scanmem.h` to `common.h` Sep 9, 2017
configure.ac configure: Start the post 0.17 development cycle. Jan 7, 2018
endianness.h libscanmem: Replace match_flags' bitfield with an enum Oct 7, 2017
getline.c libscanmem: fix grammatical errors in comments Aug 8, 2017
getline.h treewide: Change libscanmem license to LGPLv3 Nov 20, 2016
gpl-3.0.txt Added copies for GPL Jan 3, 2010
handlers.c handlers: Centralize scan_data_type parsing Oct 13, 2017
handlers.h handlers: add set data-type support to set command Oct 9, 2017
interrupt.h libscanmem: Clean up includes Oct 7, 2017
lgpl-3.0.txt license: Add lgpl-3.0.txt Nov 20, 2016
licence.h treewide: Change libscanmem license to LGPLv3 Nov 20, 2016
list.c libscanmem: Clean up includes Oct 7, 2017
list.h list: Use `size_t` for size and iteration Oct 5, 2017
main.c main: Update copyright for 2017 Oct 13, 2017
maps.c maps: fix spacing Jan 7, 2018
maps.h libscanmem: Clean up includes Oct 7, 2017
menu.c scanmem: Move `sm_getcommand()` from `scanmem.h` to `menu.h` Sep 9, 2017
menu.h scanmem: Move `sm_getcommand()` from `scanmem.h` to `menu.h` Sep 9, 2017
ptrace.c libscanmem: Replace match_flags' bitfield with an enum Oct 7, 2017
readline.c treewide: Change libscanmem license to LGPLv3 Nov 20, 2016
readline.h treewide: Change libscanmem license to LGPLv3 Nov 20, 2016
scanmem.1 scanmem.1, gui/gameconqueror.1: Update manpages to v0.17 Oct 13, 2017
scanmem.c scanmem.c: sm_cleanup(): Free matches array at cleanup Sep 13, 2017
scanmem.h libscanmem: Clean up includes Oct 7, 2017
scanroutines.c scanroutines: Introduce checking for uservalue flags at scan selection Oct 13, 2017
scanroutines.h scanroutines: Introduce checking for uservalue flags at scan selection Oct 13, 2017
sets.c sets: implement `!` inversion Oct 5, 2017
sets.h sets: Declare `set_cleanup()` as `static inline` Sep 23, 2017
show_message.c libscanmem: Clean up includes Oct 7, 2017
show_message.h libscanmem: fix grammatical errors in comments Aug 8, 2017
targetmem.c libscanmem: Replace match_flags' bitfield with an enum Oct 7, 2017
targetmem.h targetmem: Specify correct alignment for `matches_and_old_values_swath` Oct 9, 2017
value.c value.c: Make `parse_uservalue_int()` work well with ints in [2^63,2^64) Oct 13, 2017
value.h value: Use the C99 fixed-width formatters to print matches Oct 7, 2017

README.md

scanmem & GameConqueror

Build Status Coverity Status Chat on Slack

scanmem is a debugging utility designed to isolate the address of an arbitrary variable in an executing process. scanmem simply needs to be told the pid of the process and the value of the variable at several different times.

After several scans of the process, scanmem isolates the position of the variable and allows you to modify its value.

GUI

GameConqueror is a GUI front-end for scanmem, providing more features, such as:

  • Flexible syntax for searching
  • Easier and multiple variable locking
  • Better process finder
  • Memory browser/editor

See gui/README for more details.

Requirements

scanmem requires libreadline to read commands interactively, and /proc must be mounted. GameConqueror requirements are documented in gui/README.

Documentation

To read documentation:

  • man scanmem
  • man gameconqueror
  • scanmem --help
  • enter help at the scanmem prompt
  • use the interactive help of GameConqueror

Build Requirements

The build requires autotools-dev, libtool, libreadline-dev, intltool, and python.

Build and Install

To generate files required for the build:

./autogen.sh

To build with GUI:

./configure --prefix=/usr --enable-gui && make
sudo make install

To build without GUI:

./configure --prefix=/usr && make
sudo make install

scanmem and GameConqueror use static paths to libscanmem. So executing ldconfig is not required. Consider setting --libdir=/usr/lib/scanmem or --libdir=/usr/lib64/scanmem to avoid that libscanmem is in a library search path.

Run ./configure --help for more details.

Android Build

You need a standalone toolchain of Android NDK (Advanced method) to build interactive capabilities for Android. For more information, run:

./build_for_android.sh help

License:

GPLv3, LGPLv3 for libscanmem