Skip to content

Releases: AngryCarrot789/MemoryEngine360

Release v1.2.1

31 Oct 22:08

Choose a tag to compare

Expression Parsing

We now support parsing expressions everywhere!

Scanning for expressions

Click the "Expr." button to enable it.

Example: run a Next Scan where the first value was zero and previous value contained specific bits and the read value is between 20 and 95:
first == 0 && (prev & 0x2A) != 0 && v >= 20 && v <= 95

Expressions everywhere else

Most places support expressions, such as the start and length fields in the main UI. Boolean operators are supported (&& and ||), which produce either 0 or 1 for false and true. Integer-based fields support binary operators such as bitshifting, XOR (^), bitwise and/or (& and |) etc.

Mod Tools

Mod tools are just like scripts except they support showing a GUI. Check out the wiki page for more info and example GUIs.

For example, you could make a simple GUI with buttons to move a player around. Buttons support running on clicked and while holding with a delta time.

Loaded mod tools show in the "Mod Tools" submenu within the "Tools" menu, and any opened files are reloaded on startup and appear in that submenu.

Connections

XBDM and XDevkit connections supported forced little-endian mode

General fixes

  • Fixed saving task sequences not copying and saving labels properly. Also fixed condition output not copying/saving properly
  • Fixed os.clock() for scripts
  • Fixed some potential deadlocks

Release v1.2.0

17 Oct 17:05

Choose a tag to compare

PS3 Support

You can now connect to PS3s! All you need is the CCAPI package installed on your PS3. This release does not come with CCAPI so you'll have to download v2.80 REV 13 (dev) from enstoneworld.com and place CCAPI.dll into the same directory as MemoryEngine360.exe

Reading and writing memory is supported, which means scripting, task sequences, memory viewer, scanning, etc., all work. The only caveat being, memory reading is extremely slow at about ~0.1MB/sec.

JRPC supported by lua scripts

You can now use JRPC functions in lua scripts to, for example, call void methods, call methods with a return value, etc. Check out the wiki for more info.

General changes

  • Fixed crash when pausing scan
  • Added tooltips to some disabled menu options to specify why they're disabled.
  • Most text fields now support expression parsing.
    Note, numbers not prefixed with "0x" or "0b" are parsed as hexadecimal anyway.
  • Update some icons

Release v1.1.8

05 Oct 18:51

Choose a tag to compare

Lua Scripting

This is a new tool for those who prefer coding over visual programming with the Task Sequencer. Made possible with Lua-CSharp!

Check out the Wiki Page for how to read/write values, interact with files, and more.

File Explorer

Added a new file tree explorer! It's still work in progress. Drag-drop is not supported, yet. Features include:

  • Navigate entire file system
  • Create, rename, move and delete folder and files
  • Launch files

Task Sequencer

  • Operations now support conditions, instead of only sequences.
  • Added jump and label operation for basic branching. Also added an operation to stop the sequence.

Module Viewer

  • Added "Memory Dump" button, for convenience over File > Memory Dump

Connections

  • Binary file connection supports changing the endianness (e.g. you can specify big endian for memory dump files from xbox 360)
  • Added JRPC (or one of the updated versions) detection to XBDM. This lets you query your CPU key, temps, mobo type, and more. RPC is supported but currently not used except for a test usage.

Debugger

  • Added caret and selection info to the memory viewer.
  • Added Unwind Info value to call frame. A full call frame is still not supported.

A few general UI changes, like blinking text boxes when editing them, and Task Sequencer operations glowing (orange) when waiting for conditions. Also fixed many other crashes, deadlocks and other bugs.

Release v1.1.7

03 Aug 19:56

Choose a tag to compare

Debugger

The debugger has arrived! However, still a WIP.

Features:

  • Thread list (automatically updated, live)
  • CPU register per thread
  • Live memory view
  • XBDM events
  • Limited function call stack (a full stack walker is still being worked, will be defined in IStackWalker.cs)

General

  • Any time the console is debug frozen automatically, it will not be unfrozen afterwards if it was already frozen, just in case the user froze it manually for a reason.
  • Fixed UTF16 strings not using console endianness
  • Removed Open file as CSV for

UI

  • New Red and High Contrast themes
  • Most buttons show the shortcut that activates them, although lots of buttons do not have shortcuts, so it just says "No Shortcuts"
  • Added duplicate shortcut to saved address table
  • Saved Address Table's column headers no longer scroll

Task Sequencer

  • Conditions now support dynamic (pointer) addresses

Scanning Engine

  • Fixed floating point scanning not scanning properly

Module Viewer

  • Added Timestamp field (when the .xex was compiled?)

Pointer Scanner

Massive performance improvements:

  • Added Minimum offset, default value of 4.
  • Added extra Maximum offset; max offset for <2 depth, and the other is for 2+ deep
  • Added stop button for the scan
  • Also improved the UI for the pointer scan results

Event viewer

  • Added more event type cases

Memory Viewer

  • Removed the Count field and Read All button, and instead, now the memory is read dynamically when you scroll up/down.

Release v1.1.6

29 Jun 23:41

Choose a tag to compare

This release features new huge changes, features and more.

Scanning Engine

  • Added "Unknown" data type mode, togglable via the "Any" button. This will scan for values in the order visible in the "Unknown" tab, default is I32, I16, I8, I64, Float, Double, String.
  • Fixed values that cross the 64k chunks we read from the console; was problematic for alignment values that don't match the data type, or for when searching for strings, patterns or unknown data types

Pointer scanner

  • You can now run pointer scans. The feature isn't very polished and is extremely slow for large hop counts. With this, you can search for all pointers that point to a specific static address. Can only be run from a memory dump file for now.

Connections

  • Added binary file connection, which treats a file as if it were a console.
  • Doubled read performance (for >128 byte reads) of the XBDM connection

Saved Addresses

  • Improved UI; name/description is the first column now
  • Added shortcuts for convenience (visible via the context menu of an entry)
  • Added support for pointer chains (Dynamic Addresses). See README.md's preview for a demo.
  • Entries can be drag-dropped around now, and holding CTRL allows copying the dropped items instead of moving.

Task sequencer

  • Added context menus and shortcuts
  • Random values finally supported
  • Adjustable Write Mode for set memory operation; you can set a value, or add/multiply/divide the console value by your value.
  • Minimum tries feature to the random triggering, to help combat the inherent randomness of random number generator...

Theming

App now supports advanced theme setups, mainly the support for customizable colour inheritance

Release v1.1.5

04 Jun 22:19

Choose a tag to compare

  • New Saved Address Table system, supports groups and can be exported/imported with XML
  • Pattern Scan (ByteArray) now supported. Supports wildcard '?' characters.
  • Module viewer, presents all modules on the console as well as their memory sections. Useful for figuring out the scan range.
  • Added more options to preferences (CTRL+ALT+S)
  • Fixed bugs with the scanning engine. Still need to figure out scanning for values across chunks of read data
  • New Task Sequencer, to run a list of operations in a sequence. Supports random values, random delays, repeated writes, etc. Also provides memory freezing capabilities (using Set Memory operation)

Release v1.1.4

10 May 14:16

Choose a tag to compare

This releases adds Open/Save CSV file for saved addresses.

It also fixes an issue with the scan engine that skipped the last few bytes of each chunk when scanning, potentially causing it to not find some values.

It has improved GUI elements (such as prefixing things with '0x' for clarity that they're hexadecimal), and the Start/Length fields in the Memory Scanning Options are actually text boxes now, not a dialog

Also adds an experimental connection type "XDevkit", which in the future will provide support for debugging features. This connection type is not entirely asynchronous, meaning it can freeze the UI, and some features are not implemented yet so they don't work, and might even crash the app, so use with caution! XBDM is still the safest and most stable connection type.

Application is MemEngine360-DesktopUI.exe in the zip.

Notes

The program might take a few seconds to open for the first time. I'm not entirely sure why, it might be a windows thing doing security checks. It seems to launch faster in visual studio so feel free to compile for yourself though, I explain it in the README, it's very simple.

Release v1.1.3

03 May 13:33

Choose a tag to compare

Now supports plugins to add additional console support. Xbox 360 (XBDM) is still the primary target though, and is the only console implemented.

Also added a new connect to console dialog system in support for custom console connections.

Fixed issues with icon rendering and improved UI a little bit

Executable is MemEngine360-DesktopUI.exe

Release v1.1.2

29 Apr 17:00

Choose a tag to compare

This version adds a new hex editor! It also adds extra scan features (e.g. use prev/first values as the search term)

Release v1.1.1

27 Apr 14:26

Choose a tag to compare

Added "Scan Memory Pages", which fetches all memory regions on the console and only scans those regions, which will hopefully speed scans up a little bit, rather than blindly scan a huge memory region (e.g. e.g. 0x80000000 to 0x8FFFFFFF).

Added commands to delete scan result and saved address rows by clicking the Delete key

Executable is now MemEngine360-DesktopUI.exe