Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

RAM Explorer 3DS: Difference between revisions

From GameBrew
m (Text replacement - "image = https://dlhb.gamebrew.org/3dshomebrew/" to "image = ")
m (Text replacement - "Category:3DS homebrew rom hacks" to "")
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox 3DS Homebrews
{{Infobox 3DS Homebrews
| title = RAM Explorer
|title=RAM Explorer
| image = RAMExplorer.jpg|250px
|image=Ramexplorer2.png
| type = Plugins
|description=A plugin for NTR CFW, which allow you to navigate through the memory region used by a process.
| version=v1.2.5
|author=Nanquitas
| lastupdated = 2017/05/28
|lastupdated=2017/05/28
| licence = Mixed
|type=Plugins
| author = Nanquitas
|version=1.2.5
| website = https://gbatemp.net/threads/plugin-ntr-ram-explorer.419162/
|license=Mixed
| download = https://dlhb.gamebrew.org/3dshomebrew/RAMExplorer.rar
|download=https://dlhb.gamebrew.org/3dshomebrews/ramexplorer.7z?k33p0fil35
| source =
|website=https://gbatemp.net/threads/plugin-ntr-ram-explorer.419162
}}
}}
<youtube>uXu-dHnTiJA</youtube>
{{Obsolete}}


'''This is obsolete, [[CTRPluginFramework 3DS]]!!'''
This is a plugin for NTR CFW that allows you to navigate through the memory region used by a process. It was initially made for studying purpose.


Hello everyone !
'''Note:''' This is obsolete, use [[CTRPluginFramework 3DS|CTRPluginFramework]] instead.


I didn't know where to post this. I thought of homebrew development categories first, but it's not really an homebrew, it's more like an utilities. Sorry if it's not in the right place !
==Installation==
Decompress the archive in your SD's root.


I made a plugin for NTR CFW, which allow you to navigate through the memory region used by a process. I made it for studying purpose first, but maybe it can be useful to someone so I share it.
Then you launch NTR CFW and in the menu you'll see RAM Explorer.


So, you choose a process and you can see all the data stocked in memory. :)
==User guide==
So, you choose a process and you can see all the data stocked in memory (search mode is not implemented).


Also, it's a home plugin, so you can still have your cheats plugins and it doesn't shutdown the network function. ;)
Also, it's a home plugin, so you can still have your cheats plugins and it doesn't shutdown the network function.


==Screenshots==
===Process dumper===
https://dlhb.gamebrew.org/3dshomebrew/utmoQMw.jpeg
It will dump the chosen process into: "SD:/dump/ramdump.bin". Be sure to create the dump folder or you will have an error.
https://dlhb.gamebrew.org/3dshomebrew/PXn48I1.jpg
 
https://dlhb.gamebrew.org/3dshomebrew/bLWVF7Q.jpg
This dumper will read and write from 0x0 to 0x20000000. Theoretically the end file can be used in soft like TempAR for finding pointer (can be useful to cheats creator).
https://dlhb.gamebrew.org/3dshomebrew/DpooKr4.jpg
 
The dumper do not delete the file if previously existed, it'll just write on it, so be careful to export/rename it before doing another dump.
 
==Controls==
'''Viewer mode:'''
 
Up - Top address -8 (go up)
 
Down - Top address +8 (go down)
 
Left/Right - Change current memory region (-1/+1)
 
Circle Pad Down/Up - Go down/up quickly
 
C-Stick Down/X - Go down very very quickly (+= 0x1000)
 
C-Stick Up/Y - Go up very very quickly(-= 0x1000)
 
L+Up/Down - Go to the beginning/end of the current memory region
 
A - Refresh (read the memory and print the change)
 
B - Quit
 
Start - Address mode
 
L+R - Edit mode
 
R - Pointer mode
 
'''Address mode:'''
 
Up/Down - Change the selected value
 
Left/Right - Move the selector
 
B - Cancel
 
A - Go to the entered address
 
'''Edit mode:'''
 
D-Pad/Circle Pad/C-Stick - Move the selector


==Important information:==
X - Up the selected value


Version 1.2 bring new features but they were only tested on N3DS. So I don't know how the o3DS will react to this update.
Y - Down the selected value
Some of the new features are making conflict with most game as they weren't designed to use the n3DS hid.
Even if I fixed the crash of the 3DS when entering in the plugin while a game / app is running, it seems that it can sometime make the 3DS freeze after a random while (in the plugin only).


So '''I recommend to always use the plugin in the homemenu!''' (Press Home to pause the app currently running)
B - Cancel
If not, expect strange behaviors and bugs.


'''Search mode is not implemented right now !! (In a future update ;) )'''
Start - Write


===Process dumper:===
'''Pointer mode:'''


It's a little thing i've made as a test first, but maybe it can be useful to someone so I've decided to let it.
D-Pad/Circle Pad/C-Stick - Move the selector
It will dump the chosen process into: "SD:/dump/ramdump.bin". Be sure to create the dump folder or you will have an error.


This dumper will read and write from 0x0 to 0x20000000. Theoretically the end file can be used in soft like TempAR for finding pointer (can be useful to cheats creator).
B - Cancel
The dumper do not delete the file if previously existed, it'll just write on it, so be careful to export/rename it before doing another dump.


===Viewer mode keys:===
A - Go to the selected value
* UP : top address - 8 (go up);
* DOWN : top address + 8 (go down);
* LEFT : change current memory region, (-1);
* RIGHT : change current memory region, (+1);
* CPAD DOWN : go down quickly;
* CPAD UP : go up quickly;
* C-Stick DOWN / X : go down very very quickly (+= 0x1000);
* C-Stick UP / Y : go up very very quickly(-= 0x1000);
* L + UP : go to the beginning of the current memory region ;
* L + DOWN : go to the end of the current memory region;
* A : refresh (read the memory and print the change);
* B : quit;
* START : Address mode.
* L + R : Edit mode
* R : Pointer mode


===Address mode keys:===
==Screenshots==
* UP / DOWN : Change the selected value
https://dlhb.gamebrew.org/3dshomebrews/ramexplorer3.png
* LEFT / RIGHT : Move the selector;
https://dlhb.gamebrew.org/3dshomebrews/ramexplorer4.png
* B : Cancel;
* A : Go to the entered address.


===Edit mode keys:===
https://dlhb.gamebrew.org/3dshomebrews/ramexplorer5.png
* DPAD / CPAD / C-Stick : move the selector;
https://dlhb.gamebrew.org/3dshomebrews/ramexplorer6.png
* X : Up the selected value;
* Y : Down the selected value;
* B : Cancel;
* START : Write.


===Pointer mode keys:===
==Compatibility==
* DPAD / CPAD / C-Stick : move the selector;
Only tested on N3DS.  
* B : Cancel;
* A : Go to the selected value.


==Bugs==
==Known issues==
If you have bugs with edit mode, exemple it doesn't write the change.
If you have bugs with edit mode, exemple it doesn't write the change.


Line 95: Line 111:


==Changelog==
==Changelog==
 
'''v1.2.5 Beta'''
 
v.1.2.5 Beta
 
* Correcting the progress display on the process dumper, the modification of this function broke the progress bar in the previous version.
* Correcting the progress display on the process dumper, the modification of this function broke the progress bar in the previous version.


v.1.2.4 Beta
'''v1.2.4 Beta'''
 
* The memory used by the plugin have been lessened, fixing the fact that the plugin was preventing the browser to be launched (at least on N3DS, don't know for O3DS).
* The memory used by the plugin have been lessened, fixing the fact \
* Improved the keypad accuracy in address mode and editor mode.
that the plugin was preventing the browser to be launched \
* Fix a bug in the Dumper process which was causing a data loss (but we now dump / write with a block of 0x4000 instead of 0x10000).
(at least on N3DS, don't know for O3DS)
* Improved the keypad accuracy in address mode and editor mode
* Fix a bug in the Dumper process which was causing a data loss \
(but we now dump / write with a block of 0x4000 instead of 0x10000)
* Changing the way the dumper will write the data:
* Changing the way the dumper will write the data:
** Adding the same header as Gateway's header in the ramdump, allowing \
** Adding the same header as Gateway's header in the ramdump, allowing to write only the region with data (made without gateway's ramdumps to study so can be not exactly the same, but it works).
to write only the region with data (made without gateway's ramdumps \
to study so can be not exactly the same, but it's working so who care :p)
** The file will see the size shortened so there is two benefits:
** The file will see the size shortened so there is two benefits:
*** The dump is a bit faster
*** The dump is a bit faster.
*** The file being lighter, it's faster to send it through FTP
*** The file being lighter, it's faster to send it through FTP.
** To expand the file for using a soft like TempAR and find pointer, use the tool by @xJam.es
** To expand the file for using a soft like TempAR and find pointer, use the tool by @xJam.es.
 
v.1.2.3 Beta


* Fix dynamic memory allocation on o3DS (Thanks to @David Rico for his debug support)
'''v1.2.3 Beta'''
* Do not show memory region with state 0x02 (IO) as they make the 3DS freeze
* Fix dynamic memory allocation on o3DS (Thanks to @David Rico for his debug support).
* Re*implement X & Y key as C*Stick replacement
* Do not show memory region with state 0x02 (IO) as they make the 3DS freeze.
* Seems that I've corrected the freeze possibility but we need more test, please report if you have freeze using the plugin
* Re*implement X & Y key as C*Stick replacement.
* Seems that I've corrected the freeze possibility but we need more test, please report if you have freeze using the plugin.
* Transformed the progress bar in a touchObject. So you can now navigate in the region through the progress bar. Even if it's not really accurate, it's still faster to go in the middle or else than scrolling.
* Transformed the progress bar in a touchObject. So you can now navigate in the region through the progress bar. Even if it's not really accurate, it's still faster to go in the middle or else than scrolling.


v.1.2.1 Beta
'''v1.2.1 Beta'''
 
* Fix address mode display.
* Fix address mode display
* Fix keys which I forgot when i've updated the HID.
* Fix keys which I forgot when i've updated the HID
* Fix B in address mode do not leave the plugin anymore.
* Fix B in address mode do not leave the plugin anymore
* Implementation of dynamic memory management.
* Implementation of dynamic memory management
* Fix memory leaks.
* Fix memory leaks
 
v.1.2 Beta


* Implement all HID (C*Stick, CPAD, Touchscreen)
'''v1.2 Beta'''
* Implement the possibility of writing on the top screen
* Implement all HID (C*Stick, CPAD, Touchscreen).
* Changed key according to the implementation of HID
* Implement the possibility of writing on the top screen.
* Implemented a really basic process dumper (to a file)
* Changed key according to the implementation of HID.
* Implemented a really basic process dumper (to a file).
* Implemented touchObject;
* Implemented touchObject;
* Made a lot of change in the code
* Made a lot of change in the code.
* Maybe other things I have forgotten about
* Maybe other things I have forgotten about.


v.1.1.1 Beta
'''v1.1.1 Beta'''
* Added a progress bar to see the position in the region.


* Added a progress bar to see the position in the region
'''v1.1 Beta'''
* Added Edit mode.
* Added Pointer mode.
* Changed some keys.
* Added some fail safe.
* Added cancel in Address mode.
* Extended the maximum region from 20 to 100.
* Can now show 0x1000 length region.
* Do not show "free memory" stated region.
* Dynamically interpret the memory, less memory used, useful to edit mode.
* Other code stuffs and improvements.


v.1.1 Beta
'''v1'''
*Initial release.


* Added Edit mode
==Credits==
* Added Pointer mode
GW-Ram-Ref made by x.Jam.es.
* Changed some keys
* Added some fail safe
* Added cancel in Address mode
* Extended the maximum region from 20 to 100
* Can now show 0x1000 length region
* Do not show "free memory " stated region
* Dynamically interpret the memory, less memory used, useful to edit mode
* Other code stuffs and improvements


v.1
TempAR made by raing3 ([https://web.archive.org/web/20180913162549/http://raing3.gshi.org/forum/index.php?topic=1314.0 original post]).


*Initial release
==External links==
* GBAtemp - https://gbatemp.net/threads/plugin-ntr-ram-explorer.419162

Latest revision as of 06:06, 6 Mayıs 2024

RAM Explorer
Ramexplorer2.png
General
AuthorNanquitas
TypePlugins
Version1.2.5
LicenseMixed
Last Updated2017/05/28
Links
Download
Website

This is a plugin for NTR CFW that allows you to navigate through the memory region used by a process. It was initially made for studying purpose.

Note: This is obsolete, use CTRPluginFramework instead.

Installation

Decompress the archive in your SD's root.

Then you launch NTR CFW and in the menu you'll see RAM Explorer.

User guide

So, you choose a process and you can see all the data stocked in memory (search mode is not implemented).

Also, it's a home plugin, so you can still have your cheats plugins and it doesn't shutdown the network function.

Process dumper

It will dump the chosen process into: "SD:/dump/ramdump.bin". Be sure to create the dump folder or you will have an error.

This dumper will read and write from 0x0 to 0x20000000. Theoretically the end file can be used in soft like TempAR for finding pointer (can be useful to cheats creator).

The dumper do not delete the file if previously existed, it'll just write on it, so be careful to export/rename it before doing another dump.

Controls

Viewer mode:

Up - Top address -8 (go up)

Down - Top address +8 (go down)

Left/Right - Change current memory region (-1/+1)

Circle Pad Down/Up - Go down/up quickly

C-Stick Down/X - Go down very very quickly (+= 0x1000)

C-Stick Up/Y - Go up very very quickly(-= 0x1000)

L+Up/Down - Go to the beginning/end of the current memory region

A - Refresh (read the memory and print the change)

B - Quit

Start - Address mode

L+R - Edit mode

R - Pointer mode

Address mode:

Up/Down - Change the selected value

Left/Right - Move the selector

B - Cancel

A - Go to the entered address

Edit mode:

D-Pad/Circle Pad/C-Stick - Move the selector

X - Up the selected value

Y - Down the selected value

B - Cancel

Start - Write

Pointer mode:

D-Pad/Circle Pad/C-Stick - Move the selector

B - Cancel

A - Go to the selected value

Screenshots

ramexplorer3.png ramexplorer4.png

ramexplorer5.png ramexplorer6.png

Compatibility

Only tested on N3DS.

Known issues

If you have bugs with edit mode, exemple it doesn't write the change.

Check the following:

  • Connect the 3DS to a ntr debugger (Modded or Original);
  • Try again to write the change, checkthe debugger, you should have some infos in why it's not working.

If you have no useful infos or if you have bugs with an other function, post it, if i can't help you i'll provide you a full debug version of the plugin.

Changelog

v1.2.5 Beta

  • Correcting the progress display on the process dumper, the modification of this function broke the progress bar in the previous version.

v1.2.4 Beta

  • The memory used by the plugin have been lessened, fixing the fact that the plugin was preventing the browser to be launched (at least on N3DS, don't know for O3DS).
  • Improved the keypad accuracy in address mode and editor mode.
  • Fix a bug in the Dumper process which was causing a data loss (but we now dump / write with a block of 0x4000 instead of 0x10000).
  • Changing the way the dumper will write the data:
    • Adding the same header as Gateway's header in the ramdump, allowing to write only the region with data (made without gateway's ramdumps to study so can be not exactly the same, but it works).
    • The file will see the size shortened so there is two benefits:
      • The dump is a bit faster.
      • The file being lighter, it's faster to send it through FTP.
    • To expand the file for using a soft like TempAR and find pointer, use the tool by @xJam.es.

v1.2.3 Beta

  • Fix dynamic memory allocation on o3DS (Thanks to @David Rico for his debug support).
  • Do not show memory region with state 0x02 (IO) as they make the 3DS freeze.
  • Re*implement X & Y key as C*Stick replacement.
  • Seems that I've corrected the freeze possibility but we need more test, please report if you have freeze using the plugin.
  • Transformed the progress bar in a touchObject. So you can now navigate in the region through the progress bar. Even if it's not really accurate, it's still faster to go in the middle or else than scrolling.

v1.2.1 Beta

  • Fix address mode display.
  • Fix keys which I forgot when i've updated the HID.
  • Fix B in address mode do not leave the plugin anymore.
  • Implementation of dynamic memory management.
  • Fix memory leaks.

v1.2 Beta

  • Implement all HID (C*Stick, CPAD, Touchscreen).
  • Implement the possibility of writing on the top screen.
  • Changed key according to the implementation of HID.
  • Implemented a really basic process dumper (to a file).
  • Implemented touchObject;
  • Made a lot of change in the code.
  • Maybe other things I have forgotten about.

v1.1.1 Beta

  • Added a progress bar to see the position in the region.

v1.1 Beta

  • Added Edit mode.
  • Added Pointer mode.
  • Changed some keys.
  • Added some fail safe.
  • Added cancel in Address mode.
  • Extended the maximum region from 20 to 100.
  • Can now show 0x1000 length region.
  • Do not show "free memory" stated region.
  • Dynamically interpret the memory, less memory used, useful to edit mode.
  • Other code stuffs and improvements.

v1

  • Initial release.

Credits

GW-Ram-Ref made by x.Jam.es.

TempAR made by raing3 (original post).

External links

Advertising: