American McGee's Scrapland reversing and modding
Go to file
Daniel S. 493b10e78b code cleanup, expand REPL, Automatically generate D3D8-VMT header file from include file, made ScrapHacks importable as python module 2019-12-04 00:28:14 +01:00
.vscode Code cleanup 2019-02-28 17:50:52 +01:00
ScrapHacks code cleanup, expand REPL, Automatically generate D3D8-VMT header file from include file, made ScrapHacks importable as python module 2019-12-04 00:28:14 +01:00
lib Big Update 2019-02-27 01:56:10 +01:00
.gitignore Switch build system to CMake 2019-09-01 22:45:07 +02:00
LICENSE Add LICENSE 2018-12-22 17:21:50 +00:00
NOTES.md Update NOTES.md and r2_analyze.py: add suspected address of RenderFrame() 2019-11-28 20:00:56 +01:00
README.md Add r2_analyze script to parse and label interesting stuff 2019-11-22 23:11:34 +01:00
helplib.txt Auto format everything 2019-09-02 21:44:17 +02:00
parse_save.py Auto format everything 2019-09-02 21:44:17 +02:00
r2_analyze.py code cleanup, expand REPL, Automatically generate D3D8-VMT header file from include file, made ScrapHacks importable as python module 2019-12-04 00:28:14 +01:00
scrapper.py Auto format everything 2019-09-02 21:44:17 +02:00

README.md

Scrapland Reverse Engineering noted and tools

Scripts:

  • parse_save.py: Dumps information extracted from Save file
  • scrapper.py: Extractor and Repacker for *.packed files, needs the construct and tqdm python modules and python 3.x
  • Run scrapper.py -h for help
  • r2_analyze.py: uses radare2 to parse and label a lot of interesting stuff in the Scrap.exe binary
  • lib/dbg.py: general Script for poking around inside the game's scripting system
  • Run import dbg inside the Game's Console, this will load all builtin modules and enable godmode
  • The dbg module also enables writing to the ingame console using print <var> and defines two global functions s_write() and e_write() for writing to the Ingame Console's Stdout and Stderr Stream
  • dbg.menu() Displays the Game's built in Debug Menu (doesn't work properly)
  • dbg.enable_all_conv() allows you to "overwrite" any character, even if they are protected/invulnerable
  • dbg.become(name) allows you to transform into any character
  • dbg.helplib() generates a file helplib.txt in the Game's folder containing all available Documentation for all available classes and functions
  • dbg.settrace() Logs all Python function calls together with their arguments into a dbg.txt file inside the Game's folder

ScrapHacks

WIP Memory hacking library

Notes

Tools used: