More actions
Line 41: | Line 41: | ||
*If you want to use the cheat manager you absolutely have to use Atmosphère as only their cheats are supported. | *If you want to use the cheat manager you absolutely have to use Atmosphère as only their cheats are supported. | ||
Disable auto-enable cheats | Disable Atmosphere's auto-enable cheats for the best experience: | ||
*Open the <code>/atmosphere/config/system_settings.ini</code> file. | *Open the <code>/atmosphere/config/system_settings.ini</code> file. | ||
*Change <code>dmnt_cheats_enabled_by_default = u8!0x1</code> to <code>dmnt_cheats_enabled_by_default = u8!0x0</code>. | *Change <code>dmnt_cheats_enabled_by_default = u8!0x1</code> to <code>dmnt_cheats_enabled_by_default = u8!0x0</code>. |
Revision as of 12:19, 4 Mayıs 2023
EdiZon SE | |
---|---|
General | |
Author | tomvita |
Type | Utilities |
Version | 3.8.37 |
License | GPL-2.0 |
Last Updated | 2023/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
How to setup:
- 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.
Disable Atmosphere's auto-enable cheats for the best experience:
- Open the
/atmosphere/config/system_settings.ini
file. - Change
dmnt_cheats_enabled_by_default = u8!0x1
todmnt_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.
- Easy to use, scriptable and easily expandable on-console save editing.
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
- PointerSearcher-SE - (PC tool) Pointer searcher for EdiZon SE dump file.
- SE-tools - A package that includes both EdiZon-SE and Pointersearcher-SE to be used with the latest version of Atmosphere.
- EdiZon-SE wiki - Usage guide.
- Tomvita's tools - Dedicated forum on GBAtemp.
- Tutorial by wiitendo84.
Screenshots
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.
v3.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
v3.8.32 2022/03/09
- Search for u32, float and double in one go with ==*. ( press - on search value tab until you see it ).
v3.8.31 2022/03/09
- Fix a unknown search bug.
- A bug was introduced from 3.8.27 that can cause unknown search to fail in an infinite loop.
v3.8.30 2022/03/08
- Wraping up changes in unknown search.
- Now search with "!=" ">" and "<" produce data for continuation of unknown search.
- Fix background color for memory explorer when viewing memory in main for dark theme users.
- Here is a summary table.
v3.8.29 2022/03/07
- Added "DiffBA" search mode. Use Dpad down on search tab to cycle to this search mode.
- This search is used to find unknown value of type u32 or f32 that you can make to change the same amount. Find u32 and f32 candidates that inc or dec with the same amount of change. ( 4 in 1 )
- Start search with "SAME", change the amount, search with "NotA", change the amount, search with "DiffBA", repeat ( change the amount, search with "DiffBA" ) until you have a short list of candidates.
- Fixed a bug with unknown search.
v3.8.28 2022/03/03
- Added String search mode. Use "-" on search value tab to cycle to this search mode.
- If the keyboard is limiting the string you can enter you can hex edit "seconfig.dat" to put in the string that you want.
- I did a silent update. Fixed aborted edit causing the string to be erased and possibility of wrong string size if you hex edit seconfig.dat.
v3.8.27 2022/03/02
- State A, State B and NotAB search mode.
- "NotA" ( dpad down cycle ): previous data from unknown search is assigned to state A, current data is assigned to state B.
- "SameA" ( dpad up cycle ): search for value that matches state A data.
- "SameB" ( dpad up cycle ): search for value that matches state B data.
- "NotAB" ( dpad down cycle ): search for value that is different from state A and state B data.
- ( This is different from last revision's definition of NotAB )
- If "NotA" is perform again state A data is preserved and current values overwrites state B data.
- ( all these are available on the search value tab with the dpad short cuts, do not use the "StateA" "StateB" boxes in search mode tab, those don't work )
- ( "SameA", "SameB", "NotAB" will not appear until state A and state B data has been assigned with "NotA" )
v3.8.26 2022/02/26
- Sometimes there are some value that is associate to specific game state. Currently the only way to search is using SAME and DIFF.
- Make a dump on state A.
- When the game is not in state A make a DIFF search.
- Go back to state A. Do another DIFF search.
- But this method is not making use of a very important aspect of the situation. When we are back in state A what we really want is a SAME search against the data associated with state A.
- Introducing a new search type "NotAB" ( dpad down cycle DIFF and NotAB on the search tab ).
- With a NotAB search the previous data is not updated. So now you can do this:
- Make a dump on state A.
- When the game is not in state A make a NotAB search.
- Go back to state A and do a SAME search. ( This will be using data that was associated to state A )
- Now u16 search also search for u16 value that is not 16bit aligned.
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
- Github - https://github.com/tomvita/EdiZon-SE
- 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/