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

EdiZon SE Switch: Difference between revisions

From GameBrew
(Created page with "{{Infobox Switch Homebrews |title=EdiZon SE |image=edizonseswitch.png |description=A Fork from EdiZon that focus solely on extending memory training capabilities. Supports bookmark, range search, unknown value search and pointer chain search. |author=tomvita |lastupdated=2023/03/13 |type=Utilities |version=3.8.37 |license=GPL-2.0 |download=https://dlhb.gamebrew.org/switchhomebrews/edizonseswitch.7z |website=https://gbatemp.net/threads/edizon-se-advance-memory-trainer-and...")
 
No edit summary
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=EdiZon SE
|title=EdiZon SE
|image=edizonseswitch.png
|image=edizonsenx.png
|description=A Fork from EdiZon that focus solely on extending memory training capabilities. Supports bookmark, range search, unknown value search and pointer chain search.
|description=An advance memory trainer and pointer searcher for Switch.
|author=tomvita
|author=tomvita
|lastupdated=2023/03/13
|lastupdated=2023/03/13
Line 8: Line 8:
|version=3.8.37
|version=3.8.37
|license=GPL-2.0
|license=GPL-2.0
|download=https://dlhb.gamebrew.org/switchhomebrews/edizonseswitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/edizonsenx.7z
|website=https://gbatemp.net/threads/edizon-se-advance-memory-trainer-and-pointer-seacher-for-switch.571298/
|website=https://gbatemp.net/threads/edizon-se-advance-memory-trainer-and-pointer-seacher-for-switch.571298/
|source=https://github.com/tomvita/EdiZon-SE
|source=https://github.com/tomvita/EdiZon-SE
|donation=
|donation=
}}
}}
{{#seo:
EdiZon SE is a fork from [[EdiZon Switch|EdiZon]] that focus solely on extending memory training capabilities. Supports bookmark, range search, unknown value search and pointer chain search.
|title=Switch Homebrew Apps (Utilities) - GameBrew
 
|title_mode=append
Original functionality of Edizon on game save is available when launched without a game running.
|image=edizonseswitch.png
 
|image_alt=EdiZon SE
==Features==
}}
*Range search.
{{cleanup|article|Needs cleanup}}
*Compare with previous value search.
A Fork from EdiZon that focus solely on extending memory training capabilities. Supports bookmark, range search, unknown value search and pointer chain search.
*Bookmark memory location found.
*Speed enhancement to make small integer value in first search practicle.
*Bookmark adjust to changing main and heap start address on subsequent launch of the game. Bookmark with pointer chain attached updates memory address dynamically when the chain is able to resolve into a valid memory address.
*Extract memory address from dmnt cheat code and add it to bookmark for exploration of the memory location.
*Rebase feature to extract potential pointer chain form dmnt cheat code made for previous version of the game.
*In app pointer chain search for address on bookmark.
*Export dump to PC app (forked from pointersearcher 0.4) for more powerful pointer chain search.
*Import PC app search result for validation and testing.
*Create dmnt cheat code from pointer chain found.
*Ability to detach dmnt from game process.
*Adding/Removing conditional button to cheat code.
*Multi target search for faster convergencence when the data structure is known.
*Memory explorer to look at the memory data structure, follow pointer chain and edit pointer chain.
 
==Installation==
Download the latest release from [https://github.com/tomvita/EdiZon-SE/releases/latest here].
 
Unpack the downloaded zip file, put the files on your Nintendo Switch's SD card and let the folders merge.
 
Use a free open source CFW like Atmosphère to launch the hbmenu and start EdiZon from there.
 
If you want to use the cheat manager you absolutely have to use Atmosphère as only their cheats are supported.
 
For the best experience, open the <code>/atmosphere/system_settings.ini</code> file and change <code>dmnt_cheats_enabled_by_default = u8!0x1</code> to <code>dmnt_cheats_enabled_by_default = u8!0x0</code>. If the file does not exist you can copy the template from /atmosphere/config_templates/system_settings.ini and change the line, remember to remove the ";" in front.
 
==User guide==
Please refer to the [https://github.com/tomvita/EdiZon-SE/wiki wiki] for instructions on how to use the app.
 
To establish common base for support please start from a clean boot with the latest Atmosphere and only Sigpatches needed to run the game and latest releases from https://github.com/tomvita.
 
For support with the usage of EdiZon SE Join the discord server https://discord.gg/bEFfp7MZUD
 
The save management and editing part of the original EdiZon is mostly unmodified, except now you only see the save game functionality if you enter when no game is running and only the last game is display if there was a last game.
 
To see all the games enter into "cheat" when no game is running and the next time EdiZon SE is launched all the game save will appear.
 
===Original EdiZon functionality===
*Save file management:
**Extraction of game saves.
**Injection of extracted game saves (Your own and your friends save files).
**Uploading of savefiles directly to https://anonfile.com.
**Batch extraction of all save files of all games on the system.
*Save file editing:
**Easy to use, scriptable and easily expandable on-console save editing.
***Lua and Python script support.
**Built-in save editor updater.
 
===Troubleshooting===
There are a few things that affects your switch environment.
 
* '''Atmosphere version.'''
**All version before 3.8.17 is not compatible with atm 19.
*'''How you boot.'''
**The author uses fusee primary. Try using fusee primary until trouble shooting is done.
*'''Atmosphere and sept directory that has contents from previous installation.'''
**If you didn't delete these two directories before you copy over the new one there may be left over from previous installation that has problem.
*'''SD card corruption.'''
**If you have exfat corruption is a matter of time.
*'''Sysmodules running in the background. '''
**Sysmodules can interfere with edizon se. Use sysmodule manager in edizon se (available from 3.8.16) to disable all the sysmodules to see if that solves the problem.
*'''Deleted edizon files. '''
**You can delete everything in \switch\edizon but if you delete some and leave others depending on what you leave behind and what you deleted edizon may end up in a infinite loop looking for the some deleted stuff.
**To know what you can safely delete you can learn by trial and error or just delete everything and start from default.
*'''Missing /atmosphere/config/system_settings.ini. '''
**If you don't have this file cheat codes are all turn on by default and most cheat codes were not design to be all turned on at the same time.
**If you have no clue how to create this file sysmodule manager will offer to create it for you (available from 3.8.17) with code default to off and toggle file creation on.
*'''Bad file in /atmosphere/config/. '''
**Make sure you know what you are doing. Anything wrong here can severely affect the operation of atmosphere.
*'''The cheat code you use. '''
**Check the cheat file you are using. Disable all cheats before you start the game.
**You can quickly call up edizon se while the game is still booting check that the cheats are all off.
**After the game boots up to where you want to use the cheats check which one may be causing the problem.
**You should suspect every cheat code until you have tested it throughly.
 
===How to turn off sysmodule===
Launch EdiZon SE without game. Press L. Press Y.  


==Media==
Use A to toggle off sysmodules. Press "Home" to exit back to home screen.
<youtube></youtube>


===Resources===
*[[PointerSearcher-SE Switch|PointerSearcher-SE]] - (PC tool) Pointer searcher for EdiZon SE dump file.
*[[SE Tools Switch|SE-tools]] - A package that includes both EdiZon-SE and Pointersearcher-SE to be used with the latest version of Atmosphere.
*[https://github.com/tomvita/EdiZon-SE/wiki EdiZon-SE wiki] - Usage guide.
*[https://gbatemp.net/forums/tomvitas-tools.328/ Tomvita's tools] - Dedicated forum on GBAtemp.
*[https://gbatemp.net/threads/edizon-se-with-pointer-searcher-se-tutorial.587265/ Tutorial by wiitendo84.]


==Screenshots==
==Screenshots==
https://dlhb.gamebrew.org/switchhomebrews/edizonseswitch-01.png
https://dlhb.gamebrew.org/switchhomebrews/edizonsenx2.png
https://dlhb.gamebrew.org/switchhomebrews/edizonseswitch-02.png
https://dlhb.gamebrew.org/switchhomebrews/edizonsenx3.png
https://dlhb.gamebrew.org/switchhomebrews/edizonseswitch-03.png
 
https://dlhb.gamebrew.org/switchhomebrews/edizonseswitch-04.png
https://dlhb.gamebrew.org/switchhomebrews/edizonsenx4.png
https://dlhb.gamebrew.org/switchhomebrews/edizonseswitch-05.png
https://dlhb.gamebrew.org/switchhomebrews/edizonsenx5.png
https://dlhb.gamebrew.org/switchhomebrews/edizonseswitch-06.png
 
https://dlhb.gamebrew.org/switchhomebrews/edizonseswitch-07.png
==Media==
https://dlhb.gamebrew.org/switchhomebrews/edizonseswitch-08.png
'''Simple cheat search and pointer search tutorial Edizon SE Nintendo Switch for non static address''' ([https://www.youtube.com/watch?v=TFLyic1-Kgg optantic]) <br>
<youtube>TFLyic1-Kgg</youtube>
 
'''[Switch] How To Make Simple Codes With EdiZon (+Explanation)''' ([https://www.youtube.com/watch?v=hzzwIwyvrO8 DarkFlare]) <br>
<youtube>hzzwIwyvrO8</youtube>


==Changelog==
==Changelog==
'''v.1.0'''
'''v3.8.37 2023/03/13'''
* First Release.
*Very minor change, fixed LED stop working for HOS16.
*Now player two controller can also control EdiZon.
 
'''v3.8.36 2022/06/20'''
Key hints is place on the cheat code label, instead of only showing up in Edizon SE now it will show on all cheat managers.
 
'''v3.8.35 2022/04/06-2022/05/06'''
*Fixed a pointer chain navigation bug.
*Show segment and module information in memory explorer.
*Add bookmark from cheat now works on pointer that isn't currently valid.
*Add bookmark from cheat now supports negative offset.
*Fixed a bug in button display string.
*Silent update to Noexes sysmodule and Breeze on 6 May 2022.
 
'''v3.8.34f 2022/03/25'''
*Turns out the change actually achieve very little. Was wrong about it fixing f32. Decided to change it back.
 
'''v2.8.34e 2022/03/21'''
*Create a code for ASM hacking of dynamically load module
*On search tab, press ZL+X will add a code that would setup R0 for hacking of dynamically loaded module.
*Normally ASM hack is setup with code type 0.
**Code Type 0x0: Store Static Value to Memory
**0TMR00AA AAAAAAAA VVVVVVVV (VVVVVVVV)
**T: Width of memory write (1, 2, 4, or 8 bytes).
**M: Memory region to write to (0 = Main NSO, 1 = Heap, 2 = Alias, 3 = Aslr).
**R: Register to use as an offset from memory region base.
**A: Immediate offset to use from memory region base.
**V: Value to write.
*The Register to use as offset is normally left at 0.
*This code setup R0 with offset to write to NRO.
*Set this code as master then use for example
*04000000 to write to NRO space.
*Only tested with ".hack//G.U. Last Recode"
 
'''v3.8.34d 2022/03/21'''
*Memory explorer shows the memory segment type and permissions with module name where applicable.
 
'''v3.8.34c 2022/03/20'''
*Fix pointer chain depth short by 1 when you get "access denied".
 
'''v3.8.34b 2022/03/16'''
*Fixed button display string.
*If first line of code is of type bigger than 8 previous version treat it like code type 8 and display the button symbols associated with code type 8.
 
'''v3.8.34a 2022/03/11'''
*Fix problem with negative number in 32bit search.
*Comparison between number that involve negative number was wrong for anything that isn't 64bit. Now it is fixed for 32bit number. (16 bit and 8 bit number not fixed).
*For f32 R now also swap Value1 and Value2 in addition to negating them.
*Fixed a bug with ==*
 
'''v3.8.33 2022/03/10'''
*Import multi target search setup from file.
*On multi target search setup screen press ZL+'-' will import from "multisearch.ini" if the file exist in the active directory used to store search data.
*The alignment for the search was fixed to be 16 bytes, now you can change the alignment.
**[label1] <= put label between [ and ], each label will start a new line in the setup
**Target: <= this set the line to be the target, import will not check it so it is up to you to only have one target in the file
**Alignment=0x20 <= this sets alignment to 32 bytes, only need to set one time, if you have more than one the last one count
**A..B:
**Value1=34 <= default type is u32
**Value2=89
**Offset=32
**[label2]
**On:
**A..B:
**flt: <= this specify the type, has to come before the value for the value to be read correctly
**Value1=8.901
**Value2=9.893
**Offset=0x2C
 
==Credits==
Thanks to...
*[https://devkitpro.org/ devkitPro] for their amazing toolchain.
*[https://github.com/3096 3096] for [https://github.com/3096/nut save dumping/injecting].
*[https://github.com/BernardoGiordano Bernardo Giordano] for some code from [https://github.com/BernardoGiordano/Checkpoint Checkpoint].
*[https://switchbrew.org/ SwitchBrew] for the [https://github.com/switchbrew/nx-hbmenu Homebrew Launcher] GUI and shared font code.
*[https://github.com/thomasnet-mc/ thomasnet-mc] for most of the save backup and restore code and the updater script.
*[https://github.com/trueicecold trueicecold] for batch backups and the editable-only mode.
*[https://github.com/onepiecefreak3 onepiecefreak] for the edizon debugger and LOTS of reviewing implementations.
*[https://github.com/drdrjojo Jojo] for the Travis CI configuration and the config creator.
*[https://github.com/AcK77 Ac_K] for help with the server side update scripts and the EdiZon save website.
*[https://github.com/jakibaki jakibaki] for her massive help with the implementation of RAM editing and sys-netcheat which was used as inspiration.
*[https://github.com/SciresM SciresM] for the aarch64 hardware accelerated SHA256 code, his implementation of the Atmosphère cheat engine and his support during development.
*kardch for the beautiful current icon.
*bernv3 for the beautiful old icon.
*All config creators for bringing this project to life!
 
*[https://github.com/nlohmann nlohmann] for his great json library.
*[https://svn.emphy.de/nanojpeg/trunk/nanojpeg/nanojpeg.c Martin J. Fiedler] for the nanojpeg JPEG decoding library.
*[https://www.lua.org/ Lua] for their scripting language.
*[https://www.python.org/ Python] and [https://github.com/nx-python nx-python] for their scripting language respectively their python port to the switch.


== External links ==
== External links ==
* Gbatemp - https://gbatemp.net/threads/edizon-se-advance-memory-trainer-and-pointer-seacher-for-switch.571298/
* Github - https://github.com/tomvita/EdiZon-SE
* Github - https://github.com/tomvita/EdiZon-SE
* Reddit -
* GitHub - https://github.com/tomvita/SE-tools
* GitHub - https://github.com/tomvita/PointerSearcher-SE
* GitHub - https://github.com/tomvita/Atmosphere
* GBAtemp - https://gbatemp.net/threads/edizon-se-advance-memory-trainer-and-pointer-seacher-for-switch.571298/

Revision as of 02:46, 4 Mayıs 2023

EdiZon SE
Edizonsenx.png
General
Authortomvita
TypeUtilities
Version3.8.37
LicenseGPL-2.0
Last Updated2023/03/13
Links
Download
Website
Source

EdiZon SE is a fork from EdiZon that focus solely on extending memory training capabilities. Supports bookmark, range search, unknown value search and pointer chain search.

Original functionality of Edizon on game save is available when launched without a game running.

Features

  • Range search.
  • Compare with previous value search.
  • Bookmark memory location found.
  • Speed enhancement to make small integer value in first search practicle.
  • Bookmark adjust to changing main and heap start address on subsequent launch of the game. Bookmark with pointer chain attached updates memory address dynamically when the chain is able to resolve into a valid memory address.
  • Extract memory address from dmnt cheat code and add it to bookmark for exploration of the memory location.
  • Rebase feature to extract potential pointer chain form dmnt cheat code made for previous version of the game.
  • In app pointer chain search for address on bookmark.
  • Export dump to PC app (forked from pointersearcher 0.4) for more powerful pointer chain search.
  • Import PC app search result for validation and testing.
  • Create dmnt cheat code from pointer chain found.
  • Ability to detach dmnt from game process.
  • Adding/Removing conditional button to cheat code.
  • Multi target search for faster convergencence when the data structure is known.
  • Memory explorer to look at the memory data structure, follow pointer chain and edit pointer chain.

Installation

Download the latest release from here.

Unpack the downloaded zip file, put the files on your Nintendo Switch's SD card and let the folders merge.

Use a free open source CFW like Atmosphère to launch the hbmenu and start EdiZon from there.

If you want to use the cheat manager you absolutely have to use Atmosphère as only their cheats are supported.

For the best experience, open the /atmosphere/system_settings.ini file and change dmnt_cheats_enabled_by_default = u8!0x1 to dmnt_cheats_enabled_by_default = u8!0x0. If the file does not exist you can copy the template from /atmosphere/config_templates/system_settings.ini and change the line, remember to remove the ";" in front.

User guide

Please refer to the wiki for instructions on how to use the app.

To establish common base for support please start from a clean boot with the latest Atmosphere and only Sigpatches needed to run the game and latest releases from https://github.com/tomvita.

For support with the usage of EdiZon SE Join the discord server https://discord.gg/bEFfp7MZUD

The save management and editing part of the original EdiZon is mostly unmodified, except now you only see the save game functionality if you enter when no game is running and only the last game is display if there was a last game.

To see all the games enter into "cheat" when no game is running and the next time EdiZon SE is launched all the game save will appear.

Original EdiZon functionality

  • Save file management:
    • Extraction of game saves.
    • Injection of extracted game saves (Your own and your friends save files).
    • Uploading of savefiles directly to https://anonfile.com.
    • Batch extraction of all save files of all games on the system.
  • Save file editing:
    • Easy to use, scriptable and easily expandable on-console save editing.
      • Lua and Python script support.
    • Built-in save editor updater.

Troubleshooting

There are a few things that affects your switch environment.

  • Atmosphere version.
    • All version before 3.8.17 is not compatible with atm 19.
  • How you boot.
    • The author uses fusee primary. Try using fusee primary until trouble shooting is done.
  • Atmosphere and sept directory that has contents from previous installation.
    • If you didn't delete these two directories before you copy over the new one there may be left over from previous installation that has problem.
  • SD card corruption.
    • If you have exfat corruption is a matter of time.
  • Sysmodules running in the background.
    • Sysmodules can interfere with edizon se. Use sysmodule manager in edizon se (available from 3.8.16) to disable all the sysmodules to see if that solves the problem.
  • Deleted edizon files.
    • You can delete everything in \switch\edizon but if you delete some and leave others depending on what you leave behind and what you deleted edizon may end up in a infinite loop looking for the some deleted stuff.
    • To know what you can safely delete you can learn by trial and error or just delete everything and start from default.
  • Missing /atmosphere/config/system_settings.ini.
    • If you don't have this file cheat codes are all turn on by default and most cheat codes were not design to be all turned on at the same time.
    • If you have no clue how to create this file sysmodule manager will offer to create it for you (available from 3.8.17) with code default to off and toggle file creation on.
  • Bad file in /atmosphere/config/.
    • Make sure you know what you are doing. Anything wrong here can severely affect the operation of atmosphere.
  • The cheat code you use.
    • Check the cheat file you are using. Disable all cheats before you start the game.
    • You can quickly call up edizon se while the game is still booting check that the cheats are all off.
    • After the game boots up to where you want to use the cheats check which one may be causing the problem.
    • You should suspect every cheat code until you have tested it throughly.

How to turn off sysmodule

Launch EdiZon SE without game. Press L. Press Y.

Use A to toggle off sysmodules. Press "Home" to exit back to home screen.

Resources

Screenshots

edizonsenx2.png edizonsenx3.png

edizonsenx4.png edizonsenx5.png

Media

Simple cheat search and pointer search tutorial Edizon SE Nintendo Switch for non static address (optantic)

[Switch] How To Make Simple Codes With EdiZon (+Explanation) (DarkFlare)

Changelog

v3.8.37 2023/03/13

  • Very minor change, fixed LED stop working for HOS16.
  • Now player two controller can also control EdiZon.

v3.8.36 2022/06/20 Key hints is place on the cheat code label, instead of only showing up in Edizon SE now it will show on all cheat managers.

v3.8.35 2022/04/06-2022/05/06

  • Fixed a pointer chain navigation bug.
  • Show segment and module information in memory explorer.
  • Add bookmark from cheat now works on pointer that isn't currently valid.
  • Add bookmark from cheat now supports negative offset.
  • Fixed a bug in button display string.
  • Silent update to Noexes sysmodule and Breeze on 6 May 2022.

v3.8.34f 2022/03/25

  • Turns out the change actually achieve very little. Was wrong about it fixing f32. Decided to change it back.

v2.8.34e 2022/03/21

  • Create a code for ASM hacking of dynamically load module
  • On search tab, press ZL+X will add a code that would setup R0 for hacking of dynamically loaded module.
  • Normally ASM hack is setup with code type 0.
    • Code Type 0x0: Store Static Value to Memory
    • 0TMR00AA AAAAAAAA VVVVVVVV (VVVVVVVV)
    • T: Width of memory write (1, 2, 4, or 8 bytes).
    • M: Memory region to write to (0 = Main NSO, 1 = Heap, 2 = Alias, 3 = Aslr).
    • R: Register to use as an offset from memory region base.
    • A: Immediate offset to use from memory region base.
    • V: Value to write.
  • The Register to use as offset is normally left at 0.
  • This code setup R0 with offset to write to NRO.
  • Set this code as master then use for example
  • 04000000 to write to NRO space.
  • Only tested with ".hack//G.U. Last Recode"

v3.8.34d 2022/03/21

  • Memory explorer shows the memory segment type and permissions with module name where applicable.

v3.8.34c 2022/03/20

  • Fix pointer chain depth short by 1 when you get "access denied".

v3.8.34b 2022/03/16

  • Fixed button display string.
  • If first line of code is of type bigger than 8 previous version treat it like code type 8 and display the button symbols associated with code type 8.

v3.8.34a 2022/03/11

  • Fix problem with negative number in 32bit search.
  • Comparison between number that involve negative number was wrong for anything that isn't 64bit. Now it is fixed for 32bit number. (16 bit and 8 bit number not fixed).
  • For f32 R now also swap Value1 and Value2 in addition to negating them.
  • Fixed a bug with ==*

v3.8.33 2022/03/10

  • Import multi target search setup from file.
  • On multi target search setup screen press ZL+'-' will import from "multisearch.ini" if the file exist in the active directory used to store search data.
  • The alignment for the search was fixed to be 16 bytes, now you can change the alignment.
    • [label1] <= put label between [ and ], each label will start a new line in the setup
    • Target: <= this set the line to be the target, import will not check it so it is up to you to only have one target in the file
    • Alignment=0x20 <= this sets alignment to 32 bytes, only need to set one time, if you have more than one the last one count
    • A..B:
    • Value1=34 <= default type is u32
    • Value2=89
    • Offset=32
    • [label2]
    • On:
    • A..B:
    • flt: <= this specify the type, has to come before the value for the value to be read correctly
    • Value1=8.901
    • Value2=9.893
    • Offset=0x2C

Credits

Thanks to...

  • devkitPro for their amazing toolchain.
  • 3096 for save dumping/injecting.
  • Bernardo Giordano for some code from Checkpoint.
  • SwitchBrew for the Homebrew Launcher GUI and shared font code.
  • thomasnet-mc for most of the save backup and restore code and the updater script.
  • trueicecold for batch backups and the editable-only mode.
  • onepiecefreak for the edizon debugger and LOTS of reviewing implementations.
  • Jojo for the Travis CI configuration and the config creator.
  • Ac_K for help with the server side update scripts and the EdiZon save website.
  • jakibaki for her massive help with the implementation of RAM editing and sys-netcheat which was used as inspiration.
  • SciresM for the aarch64 hardware accelerated SHA256 code, his implementation of the Atmosphère cheat engine and his support during development.
  • kardch for the beautiful current icon.
  • bernv3 for the beautiful old icon.
  • All config creators for bringing this project to life!
  • nlohmann for his great json library.
  • Martin J. Fiedler for the nanojpeg JPEG decoding library.
  • Lua for their scripting language.
  • Python and nx-python for their scripting language respectively their python port to the switch.

External links

Advertising: