Hacking Put Pointers Into Codes?

HackingNewbie

Well-Known Member
OP
Member
Joined
Dec 29, 2016
Messages
536
Trophies
0
Location
Somewhere in 2008
XP
699
Country
United Kingdom
don't be afraid of failures.
the most you try and the most you'll understand all this non-sense numbers :P
It starts off confusing for somebody like me that just got the bravery to stop being a script kiddie and make my own codes xD
Thank god I already knew most of the basic concepts (and learnt the others from context), otherwise I'd be stuck on finding addresses, literally the first step lol
 
Last edited by HackingNewbie,
  • Like
Reactions: NinjaBruh

CosmoCortney

i snack raw pasta and chew lollipops
Member
Joined
Apr 18, 2013
Messages
1,768
Trophies
2
Location
on the cool side of the pillow
Website
follow-the-white-rabbit.wtf
XP
3,017
Country
Germany
48000000 LLLLLLLL // load pointer at LLLLLLLL
DE000000 80008180 // range check
58010000 0000QQQQ // load pointer situated at the previous pointer + an offset of QQQQ (idk if it can be even 3 or 4 bytes long)
DE000000 80008180 // range check
14QQQQQQ ???????? // write the value of ???????? to the previous pointer + an offset of QQQQQQ
E0000000 80008000 // termination

you can do infinite pointer interleaves with this :)
 

HackingNewbie

Well-Known Member
OP
Member
Joined
Dec 29, 2016
Messages
536
Trophies
0
Location
Somewhere in 2008
XP
699
Country
United Kingdom
48000000 LLLLLLLL // load pointer at LLLLLLLL
DE000000 80008180 // range check
58010000 0000QQQQ // load pointer situated at the previous pointer + an offset of QQQQ (idk if it can be even 3 or 4 bytes long)
DE000000 80008180 // range check
14QQQQQQ ???????? // write the value of ???????? to the previous pointer + an offset of QQQQQQ
E0000000 80008000 // termination

you can do infinite pointer interleaves with this :)
Thanks cosmo, just received my shuriken usb on monday! Although, should the range check not be 80000000 minus the offset to 81800000 minus the offset? Otherwise 81800000 would be dangerous as it would go over?
 
Last edited by HackingNewbie,

CosmoCortney

i snack raw pasta and chew lollipops
Member
Joined
Apr 18, 2013
Messages
1,768
Trophies
2
Location
on the cool side of the pillow
Website
follow-the-white-rabbit.wtf
XP
3,017
Country
Germany
Thanks cosmo, just received my shuriken usb on monday! Although, should the range check not be 80000000 minus the offset to 81800000 minus the offset? Otherwise 81800000 would be dangerous as it would go over?
the range check only lets the code to be executed if the pointer is between 80000000 and 81800000. the range is just expressed by the first 2 bytes of the range start and end
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
The wii can't be harmed.
at worse, you get a code dump or crash, you can just reboot and try again.

if it crashes, it's because you tried to access (write) to a write-protected memory area. Or that you modified a data used by another process.
 
Last edited by Cyan,

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
46
Location
Engine room, learning
XP
15,662
Country
France
You are only affecting the memory, all that is located in RAM, so it's temporary.
the consoles affects some ranges to specific internal functions (like loading the IOS data in memory for the ARM), some MEM1 and MEM2 area are affected to the running application/game that you can access and edit.

some area that you can edit, which is part of the game's RAM, can also crash if you edit at a wrong place. Like I explained before, if you want infinite lives, it's possible that the memory location of the lives is used to store something else at a specific time (when not in a level, in a menu, etc.), editing that data can also cause crash if the game doesn't find proper values.
You'll have to test and see if it works.


Some addresses are always used for specific data (like GameID, IOS version, etc.), you should avoid editing them.
http://wiibrew.org/wiki/Memory_Map

some games will use MEM1 area (fastest RAM access), at 0x80000000
some games will/can use MEM2 area (slower than MEM1 bank, but has a lot more size), at 0x90000000

it's possible you'll have to search in Mem2 for some cheatcodes too.
 
Last edited by Cyan,

CosmoCortney

i snack raw pasta and chew lollipops
Member
Joined
Apr 18, 2013
Messages
1,768
Trophies
2
Location
on the cool side of the pillow
Website
follow-the-white-rabbit.wtf
XP
3,017
Country
Germany
there never are actual pointers out of the valid ranges. the range check just ensures any other value is not interpreted as pointer by the codehandler. same with the cafe codehandler.
and i doubt a pointer will ever become 81800000 since the very last kBytes are static and used for the file system tree and hooks for each file. you could change the range check to a smaller range to make the code more crash proof. but you need to know the possible ranges very well.
i did this to some codes of mine (e.g. DE000000 80BF80C1 to make the code only being executed when the pointer is between 80BF0000 and 80C10000)
 
Last edited by CosmoCortney,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: Has he had seizures before?