mirror of
https://github.com/Xpl0itU/WiiUDownloader.git
synced 2025-06-06 01:31:18 -04:00
Fix ticket generation
This commit is contained in:
parent
ab32b122ea
commit
418e3e9cf9
3 changed files with 15 additions and 22 deletions
|
@ -141,7 +141,9 @@ func DownloadTitle(titleID string, outputDirectory string, doDecryption bool, pr
|
||||||
progressWindow.cancelled = true
|
progressWindow.cancelled = true
|
||||||
})
|
})
|
||||||
|
|
||||||
progressWindow.gameLabel.SetText(getTitleEntryFromTid(titleID).Name)
|
titleEntry := getTitleEntryFromTid(titleID)
|
||||||
|
|
||||||
|
progressWindow.gameLabel.SetText(titleEntry.Name)
|
||||||
outputDir := strings.TrimRight(outputDirectory, "/\\")
|
outputDir := strings.TrimRight(outputDirectory, "/\\")
|
||||||
baseURL := fmt.Sprintf("http://ccs.cdn.c.shop.nintendowifi.net/ccs/download/%s", titleID)
|
baseURL := fmt.Sprintf("http://ccs.cdn.c.shop.nintendowifi.net/ccs/download/%s", titleID)
|
||||||
titleIDBytes, err := hex.DecodeString(titleID)
|
titleIDBytes, err := hex.DecodeString(titleID)
|
||||||
|
@ -177,7 +179,7 @@ func DownloadTitle(titleID string, outputDirectory string, doDecryption bool, pr
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := generateTicket(tikPath, titleID, titleKey, titleVersion); err != nil {
|
if err := generateTicket(tikPath, titleEntry.TitleID, titleKey, titleVersion); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ import (
|
||||||
"crypto/cipher"
|
"crypto/cipher"
|
||||||
"crypto/md5"
|
"crypto/md5"
|
||||||
"crypto/sha1"
|
"crypto/sha1"
|
||||||
"encoding/hex"
|
|
||||||
|
|
||||||
"golang.org/x/crypto/pbkdf2"
|
"golang.org/x/crypto/pbkdf2"
|
||||||
)
|
)
|
||||||
|
@ -33,7 +32,7 @@ func encryptAES(data []byte, key []byte, iv []byte) ([]byte, error) {
|
||||||
return encrypted, nil
|
return encrypted, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func generateKey(tid string) (string, error) {
|
func generateKey(tid string) ([]byte, error) {
|
||||||
tmp := []byte(tid)
|
tmp := []byte(tid)
|
||||||
for tmp[0] == '0' && tmp[1] == '0' {
|
for tmp[0] == '0' && tmp[1] == '0' {
|
||||||
tmp = tmp[2:]
|
tmp = tmp[2:]
|
||||||
|
@ -61,10 +60,10 @@ func generateKey(tid string) (string, error) {
|
||||||
|
|
||||||
encrypted, err := encryptAES(key, commonKey, iv)
|
encrypted, err := encryptAES(key, commonKey, iv)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return []byte{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return hex.EncodeToString(encrypted), nil
|
return encrypted, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func pbkdf2WithSHA1(password, salt []byte, iterations, keyLength int) []byte {
|
func pbkdf2WithSHA1(password, salt []byte, iterations, keyLength int) []byte {
|
||||||
|
|
24
ticket.go
24
ticket.go
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue