Hacking Wii U Plugin System TCP Gecko

BullyWiiPlaza

Nintendo Hacking <3
OP
Member
Joined
Aug 2, 2014
Messages
1,932
Trophies
0
XP
2,477
Country
Germany
A lot of people were looking forward to the TCP Gecko plugin for the Wii U Plugin System.

So far I didn't start working on it (neither did anyone else) but I'm going to write down a few of my plans below:
  • Implement a multi-threaded server for handling multiple TCP connections at once (for instance like described here). This will allow you to connect multiple cheat tools at once and it would make the server more stable and won't force you to restart your Wii U or the TCP Gecko if it corrupts or gets stuck as before.
  • Implement the code handler in C/C++ instead of assembly to make it more maintainable for improvements and changes (I already made a functional Windows C code handler here).
  • Since allocating memory on the heap in the homebrew app code shifts most cheat code addresses, this problem has to be addressed: We need to read the segment information to find the base address of each segment and then create cheats using the start address plus an offset to be shift resistant (Read more about the memory layout of C programs). Here is a write-up by Maschell about this "cheat codes problem". Making the change would mean that all of most codes have to be re-created or ported over to relative addressing. Code creators need to learn how to make cheats using relative addressing then but it's pretty simple once a respective utility is implemented (in e.g. JGecko U) so it's just a matter of a few clicks from the absolute address.
  • By default when making the TCP Gecko a plugin, this will enable you to use multiple homebrew apps at once such as the other already created plugins which is really nice to have available at the same time. This is one of the main things people wanted.
  • Reading memory has been slow (about 15 minutes to dump the entire MEM2 range) so with the plugin we might be able to use zlib for compression and 3 threads to accomplish a speedup (3 threads because the Wii U has 3 cores without hyperthreading I believe). Sending data cannot be parallelized but compression.
If anyone wants to contribute something or start this project, you're welcome to do so. I will not have time before August 1st but then I can spend some time working on it. Again, without any contributions this might take a while to finish and go public since it's pointless to release a semi-functional version which does not fully support all existing JGecko U features and such so you would trip into a minefield.

What about JGecko U and other existing TCP Gecko tools?
JGecko U will continue to work almost exactly the same since the server commands should be kept (minus a couple redundant ones which may get deleted). Other tools may need to be modified if they are using commands which got removed. This is to clean up the plugin from unnecessary junk such as writing memory using byte, short, int or other special sized data types. Just writing a byte array is all what is necessary to support. The client code can then decide to implement those data type wrappers or not. Also, the addresses would all be shifted anyway so existing tools once more wouldn't even work without being fixed for that particular purpose.

A video showcasing the progress


That's all for now. Any questions, ideas or planned contributions?
 
Last edited by BullyWiiPlaza,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa
  • BakerMan
    I rather enjoy a life of taking it easy. I haven't reached that life yet though.
  • K3Nv2 @ K3Nv2:
    He put it down when the 3ds came out
  • SylverReZ @ SylverReZ:
    @K3Nv2, RIP Felix does great videos on the PS3 yellow-light-of-death.
  • Jayro @ Jayro:
    Eventhough the New 3DS XL is more powerful, I still feel like the DS Lite was a more polished system. It's a real shame that it never got an XL variant keeping the GBA slot. You'd have to go on AliExpress and buy an ML shell to give a DS phat the unofficial "DS Lite" treatment, and that's the best we'll ever get I'm afraid.
    +1
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
  • BakerMan @ BakerMan:
    imagine not having hands, cringe
    +1
  • AncientBoi @ AncientBoi:
    ESPECIALLY for things I do to myself :sad:.. :tpi::rofl2: Or others :shy::blush::evil:
    +1
  • The Real Jdbye @ The Real Jdbye:
    @SylverReZ if you could find a v5 DS ML you would have the best of both worlds since the v5 units had the same backlight brightness levels as the DS Lite unlockable with flashme
  • The Real Jdbye @ The Real Jdbye:
    but that's a long shot
  • The Real Jdbye @ The Real Jdbye:
    i think only the red mario kart edition phat was v5
  • BigOnYa @ BigOnYa:
    A woman with no arms and no legs was sitting on a beach. A man comes along and the woman says, "I've never been hugged before." So the man feels bad and hugs her. She says "Well i've also never been kissed before." So he gives her a kiss on the cheek. She says "Well I've also never been fucked before." So the man picks her up, and throws her in the ocean and says "Now you're fucked."
    +1
  • BakerMan @ BakerMan:
    lmao
  • BakerMan @ BakerMan:
    anyways, we need to re-normalize physical media

    if i didn't want my games to be permanent, then i'd rent them
    +1
  • BigOnYa @ BigOnYa:
    Agreed, that why I try to buy all my games on disc, Xbox anyways. Switch games (which I pirate tbh) don't matter much, I stay offline 24/7 anyways.
    BigOnYa @ BigOnYa: Agreed, that why I try to buy all my games on disc, Xbox anyways. Switch games (which I pirate...