Hacking Automating a Wii U utility...

mixelpixx

hardware monkey
OP
Member
Joined
Aug 10, 2014
Messages
133
Trophies
0
Location
y0uR m0mz b0x
XP
356
Country
United States
Howdy,

Since the Wii U is progressing nicely I thought maybe getting a couple of command line tools into a more friendly interface might be something fun to do.

So we have DiscU (@ 2.1b) I thought the first thing would be to convert Hex strings to binary and write them to a file, eliminating doing this manually. I am working in VB / VS 2013, writing code that should be compatible back to 2010. SO far this is a form with a button ( I have more completed

**There will be no posting of actual keys to anything in this thread**

Code:
Public Function Hex2ByteArr(ByVal sHex As String) As Byte()
        Dim n As Long
        Dim nCount As Long
        Dim bArr() As Byte
        'First of all, make sure the length of the hex string is even, if it is not then
        'put a "0" at the beginning
        nCount = Len(sHex)
        If (nCount And 1) = 1 Then
            sHex = "0" & sHex
            nCount = nCount + 1
        End If
        'ReDim the Byte array
        ReDim bArr(nCount \ 2 - 1) 'we subtract 1 since the array is zero based
        For n = 1 To nCount Step 2
            'Convert the hex numbers into decimal values and store them in the byte array
            bArr((n - 1) \ 2) = CByte("&H" & Mid$(sHex, n, 2))
        Next
        'Return the array
        Hex2ByteArr = bArr
    End Function
 
 
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 
        Dim bArr() As Byte
 
        Dim hFile As Integer
 
        bArr = Hex2ByteArr("027C9557648A1A996D25BFCC40F63856")
        'You should of course pass the whole hex string to the function above.
        '--
        'Save it to a file
        hFile = FreeFile()
 
        Using writer As BinaryWriter = New BinaryWriter(File.Open("diskkey.bin", FileMode.Create))
            ' Write each integer.
            For Each value As Int32 In bArr
                writer.Write(value)
            Next
        End Using
 
 
    End Sub


Only issue is how it is creating the binary file. Its been a while so I am sure the mistake is simple, at first I couldn't get it to handle a hexstring that large, now it will write file but it is padding like 4 0's between.

Anyone know where I went wrong?

(also I will include the source (- naughty bits) when this tiny issue gets solved.)
 

yahoo

G͝B͢A͜t͞em҉p̡ R̨e͢g̷ul̨aŗ
Member
Joined
Aug 4, 2014
Messages
345
Trophies
0
XP
522
Country
United States
At first glance it looks like there's potential for off-by-one errors. Do you have any unit tests? Have you tried stepping through your code with a debugger to watch what is happening each loop of the Hex2ByteArray function.
 
  • Like
Reactions: mixelpixx
D

Deleted User

Guest
I could help you with Visual Basic, but I don't know what diskkey.bin should look like :/

this is the result of your code:
Code:
02 00 00 00 7C 00 00 00 95 00 00 00 57 00 00 00 64 00 00 00 8A 00 00 00 1A 00 00 00 99 00 00 00 6D 00 00 00 25 00 00 00 BF 00 00 00 CC 00 00 00 40 00 00 00 F6 00 00 00 38 00 00 00 56 00 00 00
it is supposed to be : ?
Code:
02 00 7C 00 95 00 57 00 64 00 8A 00 1A 00 99 00 6D 00 25 00 BF 00 CC 00 40 00 F6 00 38 00 56 00
or ?
Code:
02 7C 95 57 64 8A 1A 99 6D 25 BF CC 40 F6 38 56
 
  • Like
Reactions: mixelpixx
D

Deleted User

Guest
Code:
        Using writer As BinaryWriter = New BinaryWriter(File.Open("diskkey.bin", FileMode.Create))
            writer.Write(bArr)
        End Using

;)
 
  • Like
Reactions: mixelpixx

Sammi Husky

Well-Known Member
Member
Joined
Jul 6, 2014
Messages
312
Trophies
0
Age
29
XP
498
Country
United States
EDIT:

EDIT:

Code:
        Using writer As BinaryWriter = New BinaryWriter(File.Open("diskkey.bin", FileMode.Create))
            writer.Write(bArr)
        End Using

;)

Or you can do this. Ninja'd lol


Code:
            For Each value As Int32 In bArr
                writer.Write(value)

Change Int32 here in Button1_Click() to byte. That should fix the problemo. The reason it was doing that was just because it's treating (and subsequently writing) the data you're accessing in the array as a 32 bit integer, rather than a single byte like you wanted it to. :)
 
D

Deleted User

Guest
Change Int32 here in Button1_Click() to byte. That should fix the problemo. The reason it was doing that was just because it's treating (and subsequently writing) the data you're accessing in the array as a 32 bit integer, rather than a single byte like you wanted it to. :)

It's shorter to change
Code:
        Using writer As BinaryWriter = New BinaryWriter(File.Open("diskkey.bin", FileMode.Create))
            ' Write each integer.
            For Each value As Int32 In bArr
                writer.Write(value)
            Next
        End Using
to
Code:
        Using writer As BinaryWriter = New BinaryWriter(File.Open("diskkey.bin", FileMode.Create))
            writer.Write(bArr)
        End Using

but Yes,
Code:
For Each value As Byte In bArr
will work as well.
 
  • Like
Reactions: mixelpixx

mixelpixx

hardware monkey
OP
Member
Joined
Aug 10, 2014
Messages
133
Trophies
0
Location
y0uR m0mz b0x
XP
356
Country
United States
Ok. You guys bit. Thank you. I will post the whole thing this afternoon, and what I am aiming to do, want to add DiscU, maybe some BFRES utilities. Since I was unable to get the source for Disc U I am just wrapping around it, generating a diskkey.bin (and the other key) for whatever title is selected.
 

mixelpixx

hardware monkey
OP
Member
Joined
Aug 10, 2014
Messages
133
Trophies
0
Location
y0uR m0mz b0x
XP
356
Country
United States
you can try it out, and give feedback if you so desire. I would like to add a few more items to it, like being able to edit the games list, folder renaming, etc.

Code:
http://www.ps3hax.net/showthread.php?t=92880
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    He already asked earlier
  • A @ ATEMVEGETA:
    I am trying to find someone with knowledge on that willing to help me
  • BigOnYa @ BigOnYa:
    I and Hayato warned him not to, but he won't listen
  • A @ ATEMVEGETA:
    @BigOnYa,
    I don't listen? What didn't I listen at? I just want to know all the possible risks on that part
  • A @ ATEMVEGETA:
    Hayato even said it's dangerous to backup the save files to CFW
  • A @ ATEMVEGETA:
    how is this dangerous? A ton of people did this it's the most common thing to do with CFW
  • BigOnYa @ BigOnYa:
    Then do it
  • A @ ATEMVEGETA:
    dude, whatever
  • BigOnYa @ BigOnYa:
    Not trying to hate, I tried to help you in the switch noob thread by asking for you, but you don't want to accept the answers you got, so do whatever then.
  • K3Nv2 @ K3Nv2:
    Is that bigonya squeezing bulmas tiddies
    +1
  • A @ ATEMVEGETA:
    @BigOnYa, Man, first of all thanks for your willing to help, much appreciated. But, it's not that I "don't want to listen", rather than I need soemone to EXPLAIN to me how and why all these are risky.
  • K3Nv2 @ K3Nv2:
    Putting your dick in certain areas is always a risk
    +1
  • A @ ATEMVEGETA:
    For example, HOW is is risky to get banned if you extract the save files to the CFW?
  • A @ ATEMVEGETA:
    isn't this proccess be done while you're offline?
  • BigOnYa @ BigOnYa:
    We are not Nintendo, so we don't know exactly how/why/when they ban, but better to stay on the safe side and not do shady stuff, if you don't want to be banned. Hayato is one of the most knowledgeable ones here on the subject and I believe what he says.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    300 bucks hmmm lol
  • A @ ATEMVEGETA:
    @BigOnYa, Yes ofc we don't know how Nintendo bans work, but if there are situations where a lot of people have tried safely then we can at least assume that this path is pretty much safe. To say don't try anything homebrew relative just to be safe forever is the easiest thing to say to someone. What I am trying to figure out here is with which cases and what actions got most of the people their bans for.
  • A @ ATEMVEGETA:
    Most things I can find resulting to a ban is save-editing reasons, like Pokehex, etc, and going online afterwards.
  • K3Nv2 @ K3Nv2:
    I'm almost certain fucking Google fibers modems blocking out PPPoE signals
  • K3Nv2 @ K3Nv2:
    Like the 6th time I had to reboot this router trying to get PPPoE active
    Psionic Roshambo @ Psionic Roshambo: Lol