Hacking [HELP] EGGS-SGGE header of Wii VC eShop games

Zero72463

Well-Known Member
Member
Joined
Jun 27, 2016
Messages
1,383
Trophies
0
XP
1,496
Country
United States
Playing wii games with gamepad in OSv1 (which work even if vWii is bricked) > unbricking the stupid people's vWii's who couldn't follow instructions

I have a completely full vWii brick. I wasn't being stupid though. My Wii application on Wii U won't even launch lol. If we can remove the protection vWii has then I can unbrick my vWii.
 

KiraW

Member
Newcomer
Joined
Nov 1, 2016
Messages
13
Trophies
0
Age
44
XP
64
Country
Can we not derail this thread, please?

People will work on whatever they want to work on. They're doing it for free, for their own enjoyment. You don't get to tell them what to do. Besides, not everybody knows how to do what you're asking them to do.
 

CatmanFan

Anxious and regretful
Member
Joined
Aug 14, 2016
Messages
1,962
Trophies
0
Website
www.youtube.com
XP
2,595
Country
Morocco

JaGoTU10's link provided above said:
OHCI1 emulates the WiiMote when gamepad controls are enabled. It reads data coming from the GamePad (over a special I2C bus), and converts them to simulated bluetooth messages. This code can be easily modified to emulate things different than the Classic Controller (Proof of Concept).

Well then, how do we modify OHCI1 to emulate something other than a Classic Controller?

Also, can we edit the nn_cmpt.rpl to launch the Wii Menu or a homebrew .dol file instead of just a Wii game itself?
 
Last edited by CatmanFan,

JaGoTu10

Active Member
Newcomer
Joined
Jun 27, 2014
Messages
25
Trophies
0
Website
betawiki.net
XP
258
Country
EDIT: Seems I screwed up (twice). it's in 32 kB multiplies. Lol. (Note to self: 13 != 0x13). The image is wrong.

Code:
0x0 'EGGS' (4 bytes)
0x4 null byte (1 byte)
0x5 HeaderChunkCount (chunk = 512 bytes) (1 byte)
0x6 Unknown (2 bytes) (seems to always be 10 11?)
0x8 Unknown (8 bytes) (hash?)

0x10 PartitionsCount
array[PartitionsCount]:
  PartitionOffset (4 bytes)
  PartitionLength (4 bytes)
  !THESE VALUES ARE in 32 kB multiplies!

Random fact: The archive format with EGGS header is called nwd.

Basically what nwd seems to be doing is throw away free space.



(Wii ISOs probably don't look like this, but hey, I'm just showing the algorithm)

The EGGS header for this particular compression would look like this:
Code:
'EGGS'
0x00011011 (just one header chunk, 1011 seems to be a constant)
0x???????????????? hash of some kind?
0x00000003 (three 'partitions')
0x00000000 0x0000002 (first partition was mapped from offset 0 and is 2 chunks long)
0x0000000A 0x0000045 (second parition was mapped from offset 10 and is 69 chunks long)
0x00000060 0x0000001 (third partition was mapped from offset 96 and is 1 chunk long)

So, you can probably just ignore this compression altogether, if you create just one partition starting at 0 and have the whole iso length as the length. That way, you will waste space, but you don't have to detect chunks you can throw away.

I haven't found where the "hash?" is used, if anywhere.
 
Last edited by JaGoTu10,

C0mm4nd_

Aspirant Wii U homebrew dev :P
Member
Joined
Oct 9, 2016
Messages
697
Trophies
0
Website
127.0.0.1
XP
540
Country
Italy
Code:
0x0 'EGGS' (4 bytes)
0x4 null byte (1 byte)
0x5 HeaderChunkCount (chunk = 512 bytes) (1 byte)
0x6 Unknown (2 bytes) (seems to always be 10 11?)
0x8 Unknown (8 bytes) (hash?)

0x10 PartitionsCount
array[PartitionsCount]:
  PartitionOffset (4 bytes)
  PartitionLength (4 bytes)
  !THESE VALUES ARE in 512 kB multiplies!

Random fact: The archive format with EGGS header is called nwd.

Basically what nwd seems to be doing is throw away free space.



(Wii ISOs probably don't look like this, but hey, I'm just showing the algorithm)

The EGGS header for this particular compression would look like this:
Code:
'EGGS'
0x00011011 (just one header chunk, 1011 seems to be a constant)
0x???????????????? hash of some kind?
0x00000003 (three 'partitions')
0x00000000 0x0000002 (first partition was mapped from offset 0 and is 2 chunks long)
0x0000000A 0x0000045 (second parition was mapped from offset 10 and is 69 chunks long)
0x00000060 0x0000001 (third partition was mapped from offset 96 and is 1 chunk long)

So, you can probably just ignore this compression altogether, if you create just one partition starting at 0 and have the whole iso length as the length. That way, you will waste space, but you don't have to detect chunks you can throw away.

I haven't found where the "hash?" is used, if anywhere.
maybe it validates the iso?
 

MG4M3R

Well-Known Member
Member
Joined
Mar 27, 2007
Messages
351
Trophies
1
XP
532
Country
Brazil
Well I'm kinda one step away from achieving this. I successfully extracted an iso file from the nfs files of an Wii eShop game with help of the guys here. The goal is now to reverse this process and I'm practically one step away from this.

You made me curious about something.

Zangeki on Reginleiv was released on the Japanese eShop. The game has a fan translation patch.

Do you think it would be possible to extract the iso from the eShop version and replace it with a patched version?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    ZeroT21 @ ZeroT21: horny jail is full la