289 lines
23 KiB
Plaintext
289 lines
23 KiB
Plaintext
|
|
Episode: 3036
|
||
|
|
Title: HPR3036: WiiU is dead long live WiiU!
|
||
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3036/hpr3036.mp3
|
||
|
|
Transcribed: 2025-10-24 15:31:33
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
This is Hacker Public Radio Episode 3036 for Monday 23 March 2020.
|
||
|
|
Today's show is entitled, We You Is Dead Long Live We You.
|
||
|
|
Quote,
|
||
|
|
It is hosted by Operator
|
||
|
|
and is about 24 minutes long
|
||
|
|
and carries an explicit flag. The summer is
|
||
|
|
How to Approach Dishmod Communities.
|
||
|
|
This episode of HPR is brought to you by An Honesthost.com
|
||
|
|
Get 15% discount on all shared hosting
|
||
|
|
with the offer code HPR15. That's HPR15.
|
||
|
|
Better web hosting that's Honest and Fair at An Honesthost.com.
|
||
|
|
Hello and welcome to another Hacker Public Radio
|
||
|
|
with your host operator. This was going to be kind of a revisit
|
||
|
|
of the Wii U hacking stuff. Mainly
|
||
|
|
Jay Gecko or TCP Gecko formerly. My 5-year-old
|
||
|
|
this came back because of my 5-year-old starting to play games
|
||
|
|
and we have a Lego game that he is getting better at but
|
||
|
|
you know I don't want him to have to struggle and farm for
|
||
|
|
30,000 bricks or whatever that it takes to
|
||
|
|
get. Now I have a saved game that I downloaded
|
||
|
|
generally with some of these systems you can
|
||
|
|
mod your your system and then download saves
|
||
|
|
and there'll be repositories of different kinds of saves
|
||
|
|
for any kind of local based games you can usually find a save file
|
||
|
|
but I didn't necessarily want to do that in this case so I did keep that save file
|
||
|
|
and I'll put links and you know remind myself to put links for the
|
||
|
|
save file. I have a clicky keyboard you want to
|
||
|
|
excuse me for that. So the scene has obviously kind of
|
||
|
|
crashed with all the Wii U stuff and even about the Wii
|
||
|
|
and the Wii U are about at the same level of
|
||
|
|
involvement but I will say there is a community
|
||
|
|
for Nintendo Homebrew excuse me on Discord and they have a Wii U
|
||
|
|
Assistance channel 3DS and Switch Assistance channel.
|
||
|
|
Didn't really help me at all. I ended up finding videos which I'll put in
|
||
|
|
links to videos.
|
||
|
|
So mainly what happens with the struggles that people have today is
|
||
|
|
when you're trying to do something or figure something out is
|
||
|
|
this is basic Google Foo. You want to search within a year
|
||
|
|
and if you get no hits then good luck you can specify custom years with
|
||
|
|
advanced, excuse me advanced searches and Google
|
||
|
|
but generally I'll do filter by last year and I'll type in whatever I'm typing.
|
||
|
|
With these modding guides and all these modding videos and
|
||
|
|
999 and cheats and all that stuff you get a lot of click pay.
|
||
|
|
So my suggestion to anybody trying to mod or soft mod or anything mod
|
||
|
|
is go directly to the horse's mouth so go to webrew go to whatever
|
||
|
|
the software you know the open source or whatever source software is
|
||
|
|
available and then kind of go from there and try to figure out what they're
|
||
|
|
doing today who's using what tools today.
|
||
|
|
So when I did this years ago I soft modding my Wii using the
|
||
|
|
twilight thing because we had purchased the twilight
|
||
|
|
CD and then play around for a little while and realize that
|
||
|
|
you could do cheats and the way they do cheats is kind of interesting and I might
|
||
|
|
have mentioned this in the other podcast I did is they have a
|
||
|
|
TCP based cheat app basically. So it will pull the memory down
|
||
|
|
remotely or you can poke the memory remotely
|
||
|
|
and download like cheat files and memory files and stuff like that.
|
||
|
|
So one would think it would actually be easier to do like
|
||
|
|
Ocarna which the Wii U had. I think they just kind of
|
||
|
|
circumvented all that and said you know what since everybody's connected
|
||
|
|
we have a connected environment we can have a client that's connected and they
|
||
|
|
can update cheats and have cheats pulled down from the internet and
|
||
|
|
everything is kind of gonna kind of got to be a little bit easier where you have
|
||
|
|
a database of cheats and and all that stuff. So I think that was the
|
||
|
|
intention behind some of this as we grow more connected
|
||
|
|
but I was a little surprised to see that there was a TCP based like
|
||
|
|
memory, memory injection tool like memory tool which is kind of
|
||
|
|
kind of fascinating to me. I've never done any of that type of stuff
|
||
|
|
at least with consoles in the Windows environment sure but
|
||
|
|
it was very interesting to see how some of these worked.
|
||
|
|
Some had Python scripts that I had to run for a particular game
|
||
|
|
to get like all the items in the game or to get a certain amount of
|
||
|
|
coins or whatever or unlock a specific item and it was a lot of work and these
|
||
|
|
guys do a lot of work because it's not just a memory
|
||
|
|
address sometimes sometimes you got to trace down multiple memory addresses
|
||
|
|
to figure out how that item is actually equipped or
|
||
|
|
setup and the memory address space for any of these guys especially not on
|
||
|
|
PCs but for you know the Wii U especially for me
|
||
|
|
you can't just dump out the whole address space because you get like one
|
||
|
|
k per second or something transfer rate at least over the Wi-Fi for the Wii U.
|
||
|
|
But I'm sure there's some local dumping utilities. I didn't look into it because
|
||
|
|
I managed to finagle what I was trying to do so my five-year-olds run around
|
||
|
|
and he has to build this bridge and of course it calls 30,000 blocks which is
|
||
|
|
with him with him running around in circles and me not helping him
|
||
|
|
it would take him like at least 40 hours or more just to earn that many blocks.
|
||
|
|
So in this game and I guess newer games they have blocks and then they have
|
||
|
|
studs in the blocks hope you like build certain things and the studs help you
|
||
|
|
kind of buy certain things I feel like. So he had like you know
|
||
|
|
7,000 blocks and he had to get like 30,000 which would have
|
||
|
|
taken been very hard to do the next part of the game. So I started looking back
|
||
|
|
into the TCP Gecko stuff which is again the kind of remote memory injection
|
||
|
|
utility that they use. And first I you know got the jar files a job-of-base deal
|
||
|
|
and I got it running and what I remembered back when I first was doing all this stuff
|
||
|
|
the program that I used to kind of do some of the backups I think was called Mocha.
|
||
|
|
And Mocha was basically injected after or before kind of the with system menu comes up.
|
||
|
|
And then traditionally what you do is you run the TCP Gecko client which kind of starts a little
|
||
|
|
server in the background kind of in the kernel we're in the memory and then it allows you to
|
||
|
|
like connect remotely and inject memory directly into the game while you're playing it.
|
||
|
|
But to do that you have to of course run launch it first and I don't know if you
|
||
|
|
are old like me the game gene was kind of the thing that kind of gives me that same kind of feeling
|
||
|
|
where you put in the code before the game starts and then the game gene injects itself into
|
||
|
|
the main game. So in this instance I feel like it was giving me errors and crashing and doing
|
||
|
|
whatever and wouldn't load TCP Gecko. So what I found out is that basically I was kind of
|
||
|
|
injecting stuff into the memory for Mocha and then I was injecting stuff in the memory for TCP Gecko
|
||
|
|
and they were kind of flapping all over each other. So I pulled Mocha out which I think is only
|
||
|
|
used for if you're doing backups and maybe you know modding or installing wads or whatever.
|
||
|
|
And for guides on all this you know they're pretty standard you put in a USB USB stick and then
|
||
|
|
you run a banner bomb and you get remote code execution and you can install the home brew stuff.
|
||
|
|
And to get there it's a lot quicker the steps are a lot easier once the we use kind of depreciated
|
||
|
|
and all the exploits aren't going to be fixed. But to get there there's a lot of guides online
|
||
|
|
just Google it but I would say stay away from YouTube videos use those only for training purposes
|
||
|
|
on what to click and what to get but don't download a binary link from YouTube and start executing it
|
||
|
|
figure out what that program is called and find the get repo for it and even then you know you
|
||
|
|
want to look on the forums and find the official you know someone that's got some mod experience or
|
||
|
|
that's got some some cloud tips to post those binaries for you because we're starting to lose
|
||
|
|
staff community and these links are starting to get old so you'll have like an old google drive
|
||
|
|
link that doesn't work anymore or you know something like that. So be be wary of you know all these
|
||
|
|
YouTube videos with clickbait in them and just use the YouTube videos to help you understand how
|
||
|
|
to use the tools but don't start downloading people's YouTube video links with their binaries
|
||
|
|
and running them because you never know what kind of garbage is in there. So I know they had
|
||
|
|
changed it to this j j gecko which is I guess Java based gecko and I don't remember it mean being
|
||
|
|
that name before I think it was the dot net was when I was playing with it but anyways I used
|
||
|
|
the further the Zelda and there was basic cheat files for all those so it's a memory address
|
||
|
|
and then a push value and then it's like a title so I managed to find some some cheats for that
|
||
|
|
space for the Lego game it's called Lego City and of course I plug them in they don't work
|
||
|
|
and then I realized and I knew from the beginning that it was for the power version which is a
|
||
|
|
different region. So I'm using the US region and this was cheats for the power version. So I then
|
||
|
|
up again to start trying to do the searching myself which is extremely slow if you do the whole
|
||
|
|
range of memory. So I tried to do that a couple times and I guess Java got two full and
|
||
|
|
I tried manipulating the amount of memory and Java before for the jar file which you can do
|
||
|
|
set it like a maximum amount my wife's laptop only has like four gigs in it so I had to do like
|
||
|
|
three gigs and then it seemed to kind of kind of freeze up so I took a different approach to where
|
||
|
|
I looked at the memory addresses inside of the existing existing cheats and figured hey they're either
|
||
|
|
going to be around there or in that general vicinity within you know a few megs even so what I did
|
||
|
|
was as I without any understanding of math or how to do ranges of hex I added and subtracted some
|
||
|
|
numbers and or hex from the lowest value that I saw in the cheat file and then the highest value
|
||
|
|
that I saw. So for example if the if the cheats were you know if the range was one to a thousand
|
||
|
|
and the cheats were like five to twenty I said okay well let me do four to twenty one or even
|
||
|
|
like zero to twenty five and I picked those ranges and I got lucky and I was able to pull back the
|
||
|
|
pull back the information for the for the bricks and the studs. Now traditionally if you've ever
|
||
|
|
used any of these local cheat based programs sheet insons a big one been around forever you basically
|
||
|
|
search the memory for the value of whatever it is you're trying to mess with and then you increment
|
||
|
|
or decrement that value and then search again and you increment or decrement and then search again
|
||
|
|
and the theory is that you'll get one or two addresses that have to do with that range and if you
|
||
|
|
if you're lucky you can just change that range and and modify the the game localings and get
|
||
|
|
you know nine nine nine and this this runs true for they have Android based ones the one for
|
||
|
|
Android is called oh man defender or defend or it's it's got like a gray it's got a like a purple
|
||
|
|
got like a purple fan of course it's made in China and I wouldn't run it on any any workflow
|
||
|
|
or anything like that but anyways it works the same the same way I think in key K hunter I think
|
||
|
|
it's called hunter something hunter and it's all in Japanese or whatever Chinese but for Android
|
||
|
|
you obviously have to have a route route to the device so to modify the memory on the fly for
|
||
|
|
like local games and sometimes internet based games which is entirely different topic altogether
|
||
|
|
so I managed to find these values poke them and you can create a cheat file that's easy for people
|
||
|
|
to ingest and of course took screenshots and everything and then put that up on the the forms for
|
||
|
|
I think it's a GBA net or gba temp.net um which is kind of the the long standing we
|
||
|
|
modding community um so I put those up there I did spend a lot of time just doing other things so
|
||
|
|
I would tell it to search the memory and then run off and it would be like 33% done and it would
|
||
|
|
just crap out and fail um and a lot of things and I did a couple of tests just to make sure
|
||
|
|
that um what I what I was doing was actually like working um for like a better term
|
||
|
|
so I put some smaller memory addresses in there and then tried to observe and see that they were
|
||
|
|
moving and make sure and making sure I was getting updated and I had connectivity which I didn't
|
||
|
|
necessarily need to do but I was having issues with connectivity and I think it was just
|
||
|
|
them or the RAM running out of of space and it would you know halt at like 30% or whatever or some
|
||
|
|
kind of buffer for something where you know it only pull in so much so much memory before it kind
|
||
|
|
of grabs out but anyways um kind of a trial and error thing and I've had some background in doing
|
||
|
|
that but nothing like crazy like write my own cheat files or whatever um I'll also post a link
|
||
|
|
to my cheat engine files dot ct files links I found two big dumps of cheat engine files which I
|
||
|
|
don't know anything about um and a lot of times you've got like SSL pinning and stuff like that
|
||
|
|
in these games and they all have their security stack built into them so you got to do like more
|
||
|
|
memory stuff and you can't really do a whole lot of inline SSL stuff to decrypt and then like
|
||
|
|
edit your own values I know I'm kind of going all the place and I need to get back on topic but
|
||
|
|
the idea there is um you can you can there's several ways to kind of modify a game right
|
||
|
|
you can you can go to the server which is gonna get you in jail you can go to the server or
|
||
|
|
create your own server um get the code from the server that's been leaked or if you're lucky they
|
||
|
|
have like an open source server you can run and then you can modify the source or at least inject
|
||
|
|
stuff based on other people's work to do things like have zero gravity or whatever and then you
|
||
|
|
modify your your Xbox to connect to that that server instead of another one and there was a big
|
||
|
|
community around like granted.o and cheating and all that for a while um which they kind of
|
||
|
|
locked down or whatever but you can you can you can hack the server and create your own server
|
||
|
|
based on you know either leaked source or um open source or reverse engineering of server binary
|
||
|
|
with some point in time and you'll see that back in the old days you'll see old like old
|
||
|
|
battle net servers that um say either reverse engineered the whole protocol and made their own
|
||
|
|
ballot server or um maybe they got a whole little binary and are using that and then as the game
|
||
|
|
updates there they got geniuses to do all that stuff um and then there's kind of uh uh on the
|
||
|
|
wire which is not so common not as common anymore because a lot of people encrypt that traffic going
|
||
|
|
over the wire um and when you try to decrypt it it won't let you decrypt it and the game will just
|
||
|
|
bail a lot of your phones things like that we'll do the same kind of thing where as if they have
|
||
|
|
this thing called SSL pinning on them and applications kind of do the same thing um and you can't
|
||
|
|
really inject the traffic but if you're lucky um you can install like a root certificate on your
|
||
|
|
device and if it doesn't have SSL pinning you can do things um like modify stuff as it goes across
|
||
|
|
the wire and even in some cases they'll be using some kind of framework where all the values are
|
||
|
|
hashed so you see the plain text but the plain text is a much hash value so it'll be like a JSON
|
||
|
|
with like a blob hash and then you'll see another JSON with another blob hash and to to modify that
|
||
|
|
you can't there's nothing you can really do except replay um other hashes and if if it doesn't
|
||
|
|
match on the other end in the server either traps out or you get a four or four or whatever
|
||
|
|
the idea there is is um there's kind of replay attacks with with those type of things where you can
|
||
|
|
even if you don't know what the traffic is and you can get a general idea of what's going on
|
||
|
|
if you're smart enough which I'm not you can do things like replace um packets with with other
|
||
|
|
packets or replay packets that you know you want so for example you pick up a chest or pick up an
|
||
|
|
item you can potentially replay that packet and get the same item over and over again right which
|
||
|
|
doesn't really happen that much anymore um more often you'll see instances where you can swap out
|
||
|
|
a hash um for another thing so for example if you have as characters you know you have five
|
||
|
|
characters in your game they're sitting across um you're playing this game on your phone you're
|
||
|
|
sending across um are these hash values for each character right that are buying to something on
|
||
|
|
the server back in so for example your strongest character is really expensive and you put the money
|
||
|
|
and or time into them because you know we all pay for money premium games not um you can uh there's
|
||
|
|
been instances where you can take that hash value and assign it to the other characters to your team
|
||
|
|
for example so it'll be like you know my profile or my player you know my player group equals whatever
|
||
|
|
and it's like a JSON with a bunch of hashes well kind of with replay attacks you can put the same
|
||
|
|
hash in there five times and have your uber crazy character basically colon five times um as far
|
||
|
|
as you know either the the way they look or the way they operate but the idea there is that you can
|
||
|
|
kind of replay even if it's encrypted you can understand how the application works and add uh
|
||
|
|
and and kind of replay values or replay packets or replay instances um like for example if you get
|
||
|
|
a wheel and you spend a wheel or whatever you can potentially replay that packet back and get
|
||
|
|
whatever you wanted whatever you were going to get for that wheel if they didn't do any proper
|
||
|
|
checking on the back end so um i know this is supposed to be more about we modding stuff um but i'll
|
||
|
|
say you know use your main tutorials use youtube to help you out for um for understanding how to use
|
||
|
|
the tools um i'm i you know i'll be the first person to tell you i'd rather watch a video then
|
||
|
|
read a form post on how to use a tool because you know the problem with form post is that they don't
|
||
|
|
necessarily necessarily cater to the common common use case right they have to get all the
|
||
|
|
caveats out in in in the way to make sure that if you got some clowns running point 0.02 for
|
||
|
|
a bee of custom firmware for you know the little step pad thing that comes with the EU and they
|
||
|
|
have to do something different then they have to start off with that um and a lot of those caveats
|
||
|
|
are built into these tutorials and your common use case run of the middle person um just needs to
|
||
|
|
do the basic thing first the the basic tutorial first right and then once they get to tool working
|
||
|
|
and then you can start reverse engineering and understanding okay well this piece of the tool is
|
||
|
|
not really working i need to figure this out oh i missed a step over here because i didn't read
|
||
|
|
the documentation so you know i try to use any kind of video tutorials any kind of old you know
|
||
|
|
videos for stuff this is all this stuff is back you know kind of had a peak 2017 2016 15 for the
|
||
|
|
we use stuff um make sure i'm actually still recording um so so i'll say that use your like whatever
|
||
|
|
.nets for um you're we you modding in tutorials um don't give it you don't give anybody any money
|
||
|
|
obviously unless you want you know want them to help you learn reverse engineering and stuff um
|
||
|
|
be careful about you know downloading any binaries from weird links that aren't like official
|
||
|
|
gba uh temp links uh or you know off of a get up repo whatever and then even then if it's a
|
||
|
|
fork repo you kind of got to be careful about what you pull down from there to um there's stuff
|
||
|
|
in there about cheat engine so you can i guess potentially take in consume or use cheat engine dumps
|
||
|
|
from an in um in the the tcp gecko or the j gecko thing but just kind of interesting and i
|
||
|
|
didn't have a chance to play around with that um because cheat engine is used by a lot of folks to
|
||
|
|
do this type of stuff um i i went on the discord which i'll put a link into the thing but
|
||
|
|
i mainly just answered all my own questions um i did research and do some google food about
|
||
|
|
how to you know where do i start what memory addresses do i start at um i tried the big broad ones
|
||
|
|
and you know like i said i got to 33% or so i then grabbed up so then i said okay well if the
|
||
|
|
pal is anywhere close to the regular version i can add a few bits on either end and hopefully
|
||
|
|
if i get lucky i'll find it and i did get lucky and that's why i made that little cheat file for
|
||
|
|
the the gecko cheat engine thing so um follow the guides um doing an backup or what they call
|
||
|
|
is basically a complete backup of your system so the idea is once you get that code execution you
|
||
|
|
can kind of put in a bootloader or a bootme or a pre-boot system so so where if something happens
|
||
|
|
you can like hit the reset button on your Wii U as it's booting up and it'll boot you into like a
|
||
|
|
place where you can restore an old man backup if you manage to mangle your different ios and they
|
||
|
|
have the term ios are and we and i think we you where you have different versions of ios and if
|
||
|
|
you're trying to play a game sometimes you have to load that version up for that game um and depending
|
||
|
|
on your playstyle and how you're playing your backups you know you you don't know if it's kind of
|
||
|
|
work or maybe something freezes or you have to add support for something um there's always
|
||
|
|
limitations once you start messing around with the Wii U that if you start you know kind of
|
||
|
|
inundating it with lots of bells and whistles you start to find out that there's limitations with
|
||
|
|
you know how many songs you can import to like rock band right um you can only have like 3,000
|
||
|
|
or 6,000 at a time and i pulled down like all 10,000 or something of them and expected to be able to
|
||
|
|
like search through that list it's not possible because it only supports like only so much
|
||
|
|
memory for the Wii at runtime did you can put in you know the database of all those above those files
|
||
|
|
um just let's say um i looked at the 3ds stuff um that seems pretty complicated right now it's
|
||
|
|
like a 20 minute video on how to do 3ds um modding um but the Wii U stuff is still pretty pretty
|
||
|
|
standard stuff um so it can breathe some life back into your your Wii U or your Wii to uh mod it
|
||
|
|
play around some games um there's actually you know entire like modded add-ons you can have for
|
||
|
|
big games like Mario Kart has a bunch of add-ons where you can drive around as a giant Yoshi or
|
||
|
|
something um and do silly things in the game that weren't particularly designed to do or drive
|
||
|
|
around is something else or um custom a lot of custom stuff that you can do that wasn't really
|
||
|
|
there around back of the day um that's pretty much it um you know obviously this will break your
|
||
|
|
license agreement or whatever of course none of that stuff is supported anyways i don't think
|
||
|
|
but um you know feel free to reach out to me if you if you have a Wii or Wii U and you need
|
||
|
|
self you know soft modding or modding your Wii and you have a you know you have an old Wii lane
|
||
|
|
and you want to send it to me with some money to buy a drive and i can send it back to you
|
||
|
|
with all everything you need to go to do backups um your own backups and all that stuff so um
|
||
|
|
anyways um happy hacking and uh you know let me know if you need anything
|
||
|
|
you've been listening to hecka public radio at hecka public radio dot org
|
||
|
|
we are a community podcast network that releases shows every weekday Monday through Friday
|
||
|
|
today's show like all our shows was contributed by an hbr listener like yourself
|
||
|
|
if you ever thought of recording a podcast then click on our contribute link to find out
|
||
|
|
how easy it really is hecka public radio was founded by the digital dog pound and the
|
||
|
|
infonomican computer club and it's part of the binary revolution at binwreff.com if you have
|
||
|
|
comments on today's show please email the host directly leave a comment on the website or record
|
||
|
|
a follow up episode yourself unless otherwise status today's show is released on the creative
|
||
|
|
commons attribution share a light 3.0 license
|