Tutorial  Updated

Edizon SE with Pointer Searcher SE Tutorial

I want to make it clear here. I do not condone posting of others cheats that you have not created yourself unless you got permission from the creators, with that said if you do have permission please go ahead and credit the creator. I have made these videos and instructions to give everyone the basic knowledge to create their own cheats. Almost everything you could want can for cheats can be done using one of these methods. If someone isnt making a cheat that you want, I encourage you to follow these tutorials and if you need help to please reach out. There are many of us who will be willing to tell you what steps you need to do or what you are missing.

Alright so here goes my tutorial for the Edizon SE and Pointer Searcher SE.
I will let you know that this will be updated as much as what I can with different videos showcasing what TomSwitch has done.
As of right now just basic usage of how to do a search for a known variable and a quick look at how to connect the pointer searcher and download the bookmark for pointer searching.



Different types of searches

U8 = Unsigned 8 bit search for known and unknown values up to 255 in decimal or FF in hex

U16 = Unsigned 16 bit search for known and unknown values from 256-65535 in decimal or FFFF in hex

U32 = Unsigned 32 bit search for known and unknown values from 65536-4294967295 in decimal or FFFFFFFF in hex

U64 = Unsigned 64 bit search for known and unknown values. Most cheat codes likely won't use this. However, if 32 and below don't find it, then this may be your next step.

S8/S16/S32/S64 = Exactly like the unsigned searches except that Signed can hold negative numbers, zero, and positive numbers whereas the unsigned can only hold zero and positive numbers.

Known

This is where you want to search for something that you know. Could be lives, health, ammo, etc. Usually something with a number that you can see.

Unknown
This is where you search for a life bar or something that is unseen. Moon jump codes are especially useful for here if I'm not mistaken.

Float

Float is a bit different. 4 is actually 40800000 and as you can see its like a 32 bit value. This and Double Float are used if you see something like 95.5

Double Float
Double float is like float but bigger. So it looks like a 64 bit value. So 4 would look like 4010000000000000.
This is also where 95.5 would be used as well as normal float.

MODES

== means equal to

> means greater than (your address should be greater than "whatever number")

< means less than (your address should be lesser than "whatever number")

Between searches A to B

Between searches is if you know that the value is always between two different values. So you know that the address you're looking for is between 3f800000 and 40800000. You would use this.

DIFF means different than last search (use this if you don't know if your next search is bigger or lesser than your previous search)

!= means not equal to (use this if you know that your address value is not equal to whatever value you're searching for)

Same means same as last (use this if your value hasn't changed since the last search)


Region

4 choices
Heap

This is where most of your addresses will be found. Most of them will require a pointer from main to be usable all the time. Generally they will change around every time you reboot the game.
Main
Most of the time if a code is found in here, they are static. However, there have been times where it requires a pointer inside of main to work.
Heap + Main
Most of the time doing this will be required for you if you don't know if the address you are looking for is in heap or main. This also is required when you do your search for pointers.
Ram
So this will search for everything loaded in Ram. You really shouldn't have to use this but as a last resort. This will take forever to search. Recommend not doing this one if you're not too sure of what you're doing. I'll be honest, if I can't find it in heap and main, I won't try this. Everything you're searching for should be in heap and main, so I would stick to those.

First start the game that you want to find any value for.
When it loads get into a level and do a initial search known or unknown.

Known.


Find the initial value you want to find.
Lets say its 6.
Press home and go to Edizon SE
Press R and then press Y to do a search
From here use L and R to choose the settings that you want to use to search
For this we're going to use U8 == Heap and Main then you can press x to change between decimal or Hex search
We're going to do decimal, you have 2 choices here either use zr or zl to change the value or press a to go inside and choose the value that way
press + and then when the blue box is over search press a
This takes a few moments to complete.
Press home and go back to your game.
Lose some health.
Go back to Edizon SE
Press R then Y
Press a on the number
Change it to whatever you are searching for now.
Press + and then press a when the blue box is over search now.
This narrows it down more. Continue until you get as few as possible results.
Then on each result press a to change the value to see if it reflects anything.
Once you find out which one is the correct address, press + on it.
That allows you to make a bookmark for it.
Name it whatever you feel like to be able to identify it on the next step.

Unknown


Start the game and decide on what you want to search for.
Go to Edizon SE
Press R and then Press Y
Using L and R choose your settings
Start with a 32 bit unsigned search
Choose Unknown
main and heap.
click search
Go back to the game and either decrease or increase what you're trying to find
Go back to Edizon SE
Press R and then press Y
Go to mode and either choose ++ for increase or -- for decrease
Also you can choose Same if you didn't increase or decrease whatever you're searching for
Keep alternating between at least 2 of these choices to help narrow down the results as fast as possible
When you get down to just a few choices, test them out.
This may also cause unintentional problems like freezing the game etc.
When you figure out which one does what you are intending to do, Bookmark the address with the + button, and try to do a pointer search on it.

Pointer Searcher SE


Alright now time to search for pointers.
Load Pointer Searcher SE.

Make sure that you are currently in your game and not in Edizon SE for this part.

Edit:

***TomSwitch sent me a message. After you attach to the switch and download the bookmark/s. If you click on it and drag it to the address portion before you dump the ptr. It will save the address so when you load up the dmp file again not only will you have the heap and main but you will have the addresses that you searched for.***


Make sure that you have your switch IP address in the IP address field
Click on attach, this should freeze your game if it connects properly
Click download bookmarks
Make sure that the Label is what you labeled it in the previous section
Click Dump PTR
This starts the entire process of dumping the memory for your search.
Make a notepad file with the address thats next to the label name that you made, this is the address to your health that you found previously
You'll notice that pointer searcher se automatically fills in the main and heap sections for you but you have to put that address in yourself
Click on read first dump
Change your maxdepth, offset num, and offset range to make sure you can find any pointers.
Click on reset and search
Now this will give you either no results(if so up the depth, num, and range), a small list of potential pointers, or a huge number of pointers.
Redo the previous steps to add more dumps, you will have to restart the game completely to get it to move the memory around to find these.
Then just use file on pointer searcher se to change the dmp files so you don't always have .dmp0 as the end because that will overwrite your previous one.
This helps to narrow down the pointers.

Testing your pointers


Just load up Jnoexs and copy your pointer chain you found into the expression box in the tools section.
Click on parse.
What should happen is that it should pop up a value right next to parse.
This should be an address, if not then move on to the next pointer until you find one that gives you an address.
Copy the address and either go into watchlist section or memory viewer.
If you go into watchlist, click on update so that it updates whatever the value should be.
If you click on locked, you will lock it to that value. So if it's money or life, try to lose some and if it doesn't go down then that's the address you need.

Taking your pointer chain and making it to a usable cheat code


I use Simple SX OS code builder.
Under the code builder section there are 4 subsections.

Data
Description: Name of code
Address: This is your pointer chain/address from main that's static/address from heap that's static
Also you need to change this to either Noexs format or SX OS format
Value: This where you put whatever your value is in decimal.
Pointer Offset: I don't use this because of the one of the next areas
Register to be used: Goes from 0 to F

Code Format
Direct/Static: This means that no matter how many times you restart the game, its always that far from either heap or main
Pointer: This means that your code has to go through multiple addresses to get to what you are looking for

Memory Type
Main: Usually anything found in here is static but not 100%
Heap: Usually anything found in here is random but there are times when it may be static.

Bytes to be written
1 byte: 8 bit values
2 byte: 16 bit values
4 byte: 32 bit values
8 byte: 64 bit values

Type in the description what your code is named.
Go to code format choose either direct/static or pointer
Copy over your pointer chain and choose noexs
Put in your value in decimal
Choose what register to use
Choose what type of memory
Choose byte value to be written
Click on Create Code and poof. Its there ready to go. Test it out and see if it works.

There have been times when you may need to make a button activator to get your code to work. One example is Patjenova and his super Mario 3d world codes for power ups. Essentially you press a button combination and it would essentially make the code work. You can do this for almost any code you design, moon jump is a perfect example of this. Some of my codes for Lego games require a button press to work. I'll try to explain how to do this.

It requires to start
8xxxxxxx

Then you add the following to that
  • 0000001: A
  • 0000002: B
  • 0000004: X
  • 0000008: Y
  • 0000010: Left Stick Pressed
  • 0000020: Right Stick Pressed
  • 0000040: L
  • 0000080: R
  • 0000100: ZL
  • 0000200: ZR
  • 0000400: Plus
  • 0000800: Minus
  • 0001000: Left
  • 0002000: Up
  • 0004000: Right
  • 0008000: Down
  • 0010000: Left Stick Left
  • 0020000: Left Stick Up
  • 0040000: Left Stick Right
  • 0080000: Left Stick Down
  • 0100000: Right Stick Left
  • 0200000: Right Stick Up
  • 0400000: Right Stick Right
  • 0800000: Right Stick Down
  • 1000000: SL
  • 2000000: SR
So for multiple you just add them together so for L and A would be the following

80000041
Then add your code with pointers or main address etc

80000041
AAAAAAA XXXXXXXX XXXXXXXX

To finalize the code you would need to add the 20000000 to the end.

So it would be

80000041
AAAAAAA XXXXXXXX XXXXXXXX
20000000

There you have your button activator setup.

Updating codes from a previous build ID


To do this first find a code from the previous build ID to update. Usually health or lives, I usually do something easy that doesn't take as long to find.
Once you have that, you need to do a pointer search to find the offset
This should have the same offsets except a different offset from main so like the following

Lives version 1.0.0
[[[main+9785AED]]+20]+36
Lives version 1.0.1
[[[main+9916AED]]+20]+36

As you see the offsets are the same except the main is a bit different
Take 9916AED-9785AED=191000
Between them that's how much the offset has changed
Take another code from the previous build
[[main+9771EDD]+10]+26 then add the 191000 to the main offset
9771EDD+191000=9902EDD
Put that [[main+9902EDD]+10]+26, test out that code and see if it works.
There are times when it may be the same as the previous code but it adds another offset to it. Using the above code as an example [[[main+9902EDD]+80]+10]+26.
This isn't a real code but just a example as to what could happen.
If it does, then all you should have to do is add the new offset to previous codes to get them to work on the newest build ID
 
Last edited by wiitendo84,

TomSwitch

Well-Known Member
Member
Joined
Jan 10, 2019
Messages
4,429
Trophies
1
Age
44
XP
14,430
Country
United States
could someone help me out in making a pointer chain for sd gundam i am trying to make a exp multiplier times 50 cause the times 16 is no longer enough thank you
Take a look at the times 16 code and learn how to change it to suit you play style. Normally it is not hard. After you learn the method it should just take a few minutes.
 

TomSwitch

Well-Known Member
Member
Joined
Jan 10, 2019
Messages
4,429
Trophies
1
Age
44
XP
14,430
Country
United States
ya thing is i really not sure on how to do that cause i tried that already and the game just crashed so no idea on what i am doing wrong
There is broadly speaking two kind of hacks. Memory hack and ASM hack. Normally multiplier hack is ASM hack and what you do is to disassemble the code to see the instruction, change it, assemble it and put that back into code.
This is the one I use, you have to reverse the byte order, disassemble the instruction, modify it, assemble it, reverse back the byte order, put the new code in.
http://shell-storm.org/online/Onlin...s_with_raw=True&dis_with_ins=True#disassembly
 
  • Like
Reactions: Koroshi

danver

Well-Known Member
Member
Joined
Sep 16, 2016
Messages
288
Trophies
0
Age
35
Location
In a Galaxy far far away
XP
888
Country
United States
Is there a guide that tells me how to use this cause i have no idea what i am doing lol. Nvm i see what you meant now. Yaaa i still need a hand on how to actually use this lol. If there is a youtube vid, or a written guide on how to use this i would be happy to look at it
 
Last edited by danver,

Fadi5555

Well-Known Member
Member
Joined
Jan 3, 2018
Messages
499
Trophies
0
Age
35
XP
2,385
Country
United States
Everything seems working but when I hit (a) button to add value it doesn’t show the keyboard numbers at all. Any idea please?
 
Last edited by Fadi5555,

wiitendo84

Well-Known Member
OP
Member
Joined
Jan 3, 2014
Messages
1,392
Trophies
2
Age
39
Location
New Albany, Indiana
XP
3,780
Country
United States
Everything seems working but when I hit (a) button to add value it doesn’t show the keyboard numbers at all. Any idea please?
I had that issue before. I went ahead and downloaded the newest version of Edizon se. It may just require you to redownload it again and replace it.
 
  • Like
Reactions: Fadi5555

TheAlmightyO

Member
Newcomer
Joined
Jul 28, 2020
Messages
6
Trophies
0
Age
26
XP
53
Country
United Kingdom
Hi, Im trying to make a cheat for Octopath Traveler where if i press the right stick it adds an amount to the money and not just sets the value at that. I was successful in doing this for the XP but with money i just cant figure it out. The code i currently have is:

[+1000 GP (Press Right Stick)]
80000020
580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000088
640F0000 00000000 000003E8
780F0000 000000C8
20000000
20000000

This was taken and changed from the 9999999 GP cheat on the cheatslips website. I think something is wrong with the 3rd line as while it is in there, the game crashes when i press the button, however if i am to remove that line, then it just sets my money to 1000.
Is anyone able to help me with this?

The relevant info for my version is:
Title Id: 010057D006492000
Build Id: B88A8D8E5516DDE9
 

wiitendo84

Well-Known Member
OP
Member
Joined
Jan 3, 2014
Messages
1,392
Trophies
2
Age
39
Location
New Albany, Indiana
XP
3,780
Country
United States
Hi, Im trying to make a cheat for Octopath Traveler where if i press the right stick it adds an amount to the money and not just sets the value at that. I was successful in doing this for the XP but with money i just cant figure it out. The code i currently have is:

[+1000 GP (Press Right Stick)]
80000020
580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000088
640F0000 00000000 000003E8
780F0000 000000C8
20000000
20000000

This was taken and changed from the 9999999 GP cheat on the cheatslips website. I think something is wrong with the 3rd line as while it is in there, the game crashes when i press the button, however if i am to remove that line, then it just sets my money to 1000.
Is anyone able to help me with this?

The relevant info for my version is:
Title Id: 010057D006492000
Build Id: B88A8D8E5516DDE9
So depending on how the original code was made, that may be the problem. If the original code was to have a set amount that never reduces and all you did was change the value that it gives you, then when you click the r stick it will only make your money 1000 not give you an extra 1000. Also you have 20000000 twice and it should only be there once at the end. Essentially your code will be make my money 1000 not give me an extra 1000.
 

TomSwitch

Well-Known Member
Member
Joined
Jan 10, 2019
Messages
4,429
Trophies
1
Age
44
XP
14,430
Country
United States
Hi, Im trying to make a cheat for Octopath Traveler where if i press the right stick it adds an amount to the money and not just sets the value at that. I was successful in doing this for the XP but with money i just cant figure it out. The code i currently have is:

[+1000 GP (Press Right Stick)]
80000020
580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000088
640F0000 00000000 000003E8
780F0000 000000C8
20000000
20000000

This was taken and changed from the 9999999 GP cheat on the cheatslips website. I think something is wrong with the 3rd line as while it is in there, the game crashes when i press the button, however if i am to remove that line, then it just sets my money to 1000.
Is anyone able to help me with this?

The relevant info for my version is:
Title Id: 010057D006492000
Build Id: B88A8D8E5516DDE9
You code is writing 3E8 not adding 3E8 to some value in memory and putting it back.
Speculation about why the other code works:
In the program there is
A = A + B
the code wrote to B
Your code is writing to A
 

TheAlmightyO

Member
Newcomer
Joined
Jul 28, 2020
Messages
6
Trophies
0
Age
26
XP
53
Country
United Kingdom
You code is writing 3E8 not adding 3E8 to some value in memory and putting it back.
Speculation about why the other code works:
In the program there is
A = A + B
the code wrote to B
Your code is writing to A

So depending on how the original code was made, that may be the problem. If the original code was to have a set amount that never reduces and all you did was change the value that it gives you, then when you click the r stick it will only make your money 1000 not give you an extra 1000. Also you have 20000000 twice and it should only be there once at the end. Essentially your code will be make my money 1000 not give me an extra 1000.


Thank you both for the reply!
For reference, the XP code that adds 250xp when i click the right stick, and works, is:

[+250 XP (Press Right Stick)]
80000020
580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000008
640F0000 00000000 000000FA
780F0000 000000C8
20000000

The original XP Code:
580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000008
300E0000 00000008
640F0000 00000000 00540186
780F0000 000000C8
310E0000 20000000

and the original money code:
580F0000 04824468
580F1000 00000370
780F0000 00000088
640F0000 00000000 0098967F

To create the xp one all i did was remove the loop commands and then added the button activator and it just worked, so i thought it would be similar when creating the money one but clearly not!

This is my first time creating cheats so im not surprised if i have made some silly mistake, but is there a way i might be able to fix the code to achieve what I want, or are either of you able to point me in the right direction? I have been trying for some time now and am all but ready to give up hahah
 
Last edited by TheAlmightyO,

TomSwitch

Well-Known Member
Member
Joined
Jan 10, 2019
Messages
4,429
Trophies
1
Age
44
XP
14,430
Country
United States
Thank you both for the reply!
For reference, the XP code that adds 250xp when i click the right stick, and works, is:

[+250 XP (Press Right Stick)]
80000020
580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000008
640F0000 00000000 000000FA
780F0000 000000C8
20000000

The original XP Code:
580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000008
300E0000 00000008
640F0000 00000000 00540186
780F0000 000000C8
310E0000 20000000

and the original money code:
580F0000 04824468
580F1000 00000370
780F0000 00000088
640F0000 00000000 0098967F

To create the xp one all i did was remove the loop commands and then added the button activator and it just worked, so i thought it would be similar when creating the money one but clearly not!

This is my first time creating cheats so im not surprised if i have made some silly mistake, but is there a way i might be able to fix the code to achieve what I want, or are either of you able to point me in the right direction? I have been trying for some time now and am all but ready to give up hahah



580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000008 F = F+8
640F0000 00000000 000000FA [F]=0xFA
E=F RTFM for code
580E1000 00000000 E=[E]
780E0000 000000FA E=E+0xFA
[F]=E RTFM for code
 

TheAlmightyO

Member
Newcomer
Joined
Jul 28, 2020
Messages
6
Trophies
0
Age
26
XP
53
Country
United Kingdom
580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000008 F = F+8
640F0000 00000000 000000FA [F]=0xFA
E=F RTFM for code
580E1000 00000000 E=[E]
780E0000 000000FA E=E+0xFA
[F]=E RTFM for code

Right so thats the xp code but for the money:

80000020
580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000088
I need a new line here to store F
640F0000 00000000 000003E8
and edit here to add the values to where F is now stored
780F0000 000000C8
20000000

Where can i find the required code to have the E=F lines and vice versa? Sorry for all the questions im just not exactly sure i know what im doing!
 

TomSwitch

Well-Known Member
Member
Joined
Jan 10, 2019
Messages
4,429
Trophies
1
Age
44
XP
14,430
Country
United States
Right so thats the xp code but for the money:

80000020
580F0000 04824468
580F1000 00000370
580F1000 000000F8
780F0000 00000088
I need a new line here to store F
640F0000 00000000 000003E8
and edit here to add the values to where F is now stored
780F0000 000000C8
20000000

Where can i find the required code to have the E=F lines and vice versa? Sorry for all the questions im just not exactly sure i know what im doing!
Type 9 then Type 10 code to store it to memory
Atmosphere/cheats.md at master · Atmosphere-NX/Atmosphere · GitHub
 
Last edited by TomSwitch,

TheAlmightyO

Member
Newcomer
Joined
Jul 28, 2020
Messages
6
Trophies
0
Age
26
XP
53
Country
United Kingdom
Thanks for your help. I have been trying for ages now and havent worked it out so i have given up and if i need to cheat i guess i will just memory edit. Thanks
 

TomSwitch

Well-Known Member
Member
Joined
Jan 10, 2019
Messages
4,429
Trophies
1
Age
44
XP
14,430
Country
United States
Thanks for your help. I have been trying for ages now and havent worked it out so i have given up and if i need to cheat i guess i will just memory edit. Thanks
Here is a disassembler that is web based. https://edizon.werwolv.net/cheat_emu/index.html
I have written a disassembler in Breeze beta. https://github.com/tomvita/Breeze-Beta/releases/tag/beta06
Just hack those digits until you get what you want, both are non standard though but it's easier than counting digits.

Adapt this for your need
980FA0E0 <- copy A to F
540F1000 00000000 <- load F=[F]
740F0000 00800000 <- Add value to target
A4FA1000 <- [A]=F and increment F by 4
 
Last edited by TomSwitch,

TheAlmightyO

Member
Newcomer
Joined
Jul 28, 2020
Messages
6
Trophies
0
Age
26
XP
53
Country
United Kingdom
Here is a disassembler that is web based. https://edizon.werwolv.net/cheat_emu/index.html
I have written a disassembler in Breeze beta. https://github.com/tomvita/Breeze-Beta/releases/tag/beta06
Just hack those digits until you get what you want, both are non standard though but it's easier than counting digits.

Adapt this for your need
980FA0E0 <- copy A to F
540F1000 00000000 <- load F=[F]
740F0000 00800000 <- Add value to target
A4FA1000 <- [A]=F and increment F by 4

Thanks for all the help you have given and i have tried everything you have said but i dont think I have enough knowledge in what im trying to do to achieve this successfully. I thought I got close a couple times but I have only managed to set the value at what I want, and not continually add to it. I appreciate all that you have done!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Sonic Angel Knight @ Sonic Angel Knight: :ninja: