Hacking Cafe OS Breakpoints

BullyWiiPlaza

Nintendo Hacking <3
OP
Member
Joined
Aug 2, 2014
Messages
1,932
Trophies
0
XP
2,467
Country
Germany
I'm wondering about the current state of setting breakpoints on Wii U games. Since the IOSU exploit is going to be released soon, does this in any way mean something for breakpoints? I believe they are already possible just with the kernel exploit but it just hasn't been made/published yet. :(

Then there are also 3 different github repositories for TCP Gecko.NET sorted in last updated comes last in the list:
https://github.com/Chadderz121/tcp-gecko-dotnet
https://github.com/dantarion/tcp-gecko-dotnet
https://github.com/wj444/tcp-gecko-dotnet

They all seem pretty inactive but we really need a good RAM debugging tool and TCP Gecko.NET currently is the most complete one we have. Is there a chance for breakpoints to return soon?

Thank you :)
 
Last edited by BullyWiiPlaza,

Sumea

Disco Ninja Frog
Member
Joined
Aug 16, 2008
Messages
1,589
Trophies
1
Age
32
Location
Turku
XP
946
Country
Finland
No need to give me any things or anything:
Could someone explain what breakpoints are in short or whatever, just interested in general knowledge not that I could do anything with something I do not even know what it is.
 

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,007
Country
Germany
No need to give me any things or anything:
Could someone explain what breakpoints are in short or whatever, just interested in general knowledge not that I could do anything with something I do not even know what it is.
You can set a breakpoint on read, write or execute to pause the game when such a case for a specific address happens. The breakpoint handler will then pause the game when it detects what reads/writes from/to an specific address and gives you a code dump on the GUI (gecko dnet side). By setting breakpoints on execute mode you can check out the values of all registers
 
Last edited by CosmoCortney,

Sumea

Disco Ninja Frog
Member
Joined
Aug 16, 2008
Messages
1,589
Trophies
1
Age
32
Location
Turku
XP
946
Country
Finland
You can set a breakpoint on read, write or execute to pause the game when such a case for a specific address happens. The breakpoint handler will then pause the game when it detects what reads/writes from/to an specific address and gives you a code dump on the GUI (gecko dnet side). By setting breakpoints on execute mode you can check out the values of all registers

So basically this stuff would be useful for developing cafe OS "plugins" or other processes that would interfere/work in tandem or whatever with the main OS more or less.

Thanks, might not be dev myself but do like to know this stuff.
 
  • Like
Reactions: TotalInsanity4

Marionumber1

Well-Known Member
Member
Joined
Nov 7, 2010
Messages
1,234
Trophies
3
XP
4,045
Country
United States
Some people do have breakpoints but keep it private.
@Mathew_Wi @crediar @Marionumber1 any change we will see this option public soon?

Chadderz apparently got breakpoints working in a hacky way, and hasn't released them. dantarion was also working on it at some point, but I'm not sure how much progress he made. It's not an immediate priority for our team.
 
  • Like
Reactions: CosmoCortney

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,007
Country
Germany
So basically this stuff would be useful for developing cafe OS "plugins" or other processes that would interfere/work in tandem or whatever with the main OS more or less.

Thanks, might not be dev myself but do like to know this stuff.
It's useful for making asm modifications

Chadderz apparently got breakpoints working in a hacky way, and hasn't released them. dantarion was also working on it at some point, but I'm not sure how much progress he made. It's not an immediate priority for our team.
Ok, thanks, may be just a matter of time.

I miss the whole USB gecko setup on the Wii. Was so good finding the address you need via breakpoints and writing some asm codes to fire a function a custom button click.

:(
Well, we can write asm codes but the possibilities are very limited. We need to find an instruction that's always being executed. Here's an example: https://gbatemp.net/threads/post-your-wiiu-cheat-codes-here.395443/page-43#post-5714930
 
  • Like
Reactions: BullyWiiPlaza

BullyWiiPlaza

Nintendo Hacking <3
OP
Member
Joined
Aug 2, 2014
Messages
1,932
Trophies
0
XP
2,467
Country
Germany
No need to give me any things or anything:
Could someone explain what breakpoints are in short or whatever, just interested in general knowledge not that I could do anything with something I do not even know what it is.
This could have done the job too in helping you understand breakpoints :P
Well, we can write asm codes but the possibilities are very limited. We need to find an instruction that's always being executed. Here's an example: https://gbatemp.net/threads/post-your-wiiu-cheat-codes-here.395443/page-43#post-5714930
As we all should know, this is by far not as useful as finding the instruction that writes or reads a certain data section address :P
Chadderz apparently got breakpoints working in a hacky way, and hasn't released them. dantarion was also working on it at some point, but I'm not sure how much progress he made. It's not an immediate priority for our team.
It appears as if @Dantarion never finished it but somebody should definitely put this on their todo list since it's quite a big deal for game hacking. Most of my Wii game hacks were made in assembly. It's too good and persistent by default so it plays into the hands of the current state of having no (proper) server-sided cheat injection abilities :wink:
 

HackingNewbie

Well-Known Member
Member
Joined
Dec 29, 2016
Messages
536
Trophies
0
Location
Somewhere in 2008
XP
699
Country
United Kingdom
Here's an idea: in the tcpgecko installer, you could create a thread that constantly detects each instruction the processor runs, disassembles it using DisassemblePPCOpcode(), hooks it using the "hook registers" feature that you have already created, analyses the dumped registers, and determines whether it wrote to/read a given address or not. Just a thought :P
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    ButterScott101 @ ButterScott101: +1