mirror of
https://wiilab.wiimart.org/wiimart/WiiMart-Patcher
synced 2025-09-03 20:11:19 +02:00
Add EC Configuration Path patch
This commit is contained in:
parent
c8559722ea
commit
8fe87fb4d5
@ -7,4 +7,5 @@ It does not attempt to handle things such as client certificates or user passwor
|
||||
- [`patch_overwrite_ios.md`](patch_overwrite_ios.md): An explanation over why and how IOS is patched for operation of the Wii Shop Channel.
|
||||
- [`patch_custom_ca_ios.md`](patch_custom_ca_ios.md): The logistics of inserting our custom CA into IOS as well for EC usage.
|
||||
- [`patch_base_domain.md`](patch_base_domain.md): Information about what URLs are present within the main DOL and information about patching them.
|
||||
- [`patch_ec_title_check.md`](patch_ec_title_check.md): Information about title checks run by EC, and why they were negated.
|
||||
- [`patch_ec_title_check.md`](patch_ec_title_check.md): Information about title checks run by EC, and why they were negated.
|
||||
- [`patch_ec_cfg_path.md`](patch_ec_cfg_path.md): An explanation over why the path of `ec.cfg` is changed.
|
31
docs/patch_ec_cfg_path.md
Normal file
31
docs/patch_ec_cfg_path.md
Normal file
@ -0,0 +1,31 @@
|
||||
# Patch: Change EC Configuration Path
|
||||
|
||||
## Motivation
|
||||
We want to store our own custom credentials for the Wii Shop Channel.
|
||||
Between provisioning tickets, identifying users, and permitting download, this is essential to our operation.
|
||||
|
||||
However, this file likely contains legitimate identifiers to Nintendo's services. We do not want to have users unable to download purchases of any kind should they wish.
|
||||
|
||||
While Nintendo's servers may reprovision credentials as part of syncing, we do not want to risk the possibility of such not occurring for whatever reason.
|
||||
|
||||
## Explanation
|
||||
The Wii Shop Channel provides a file at `/title/00010002/48414241/data/ec.cfg`. It is utilized by every application that invokes EC - DLC applications, rentals, the Wii Shop, so forth.
|
||||
|
||||
This file contains persistent data, such as the provisioned account ID and device token, utilized for authentication. It additionally persists values such as the last sync time.
|
||||
|
||||
Other identifiers can be set via `ec.getPersistentValue(name)` or `ec.setPersistentValue(name, value)` within [ECommerceInterface](https://docs.oscwii.org/wii-shop-channel/js/ec/ecommerceinterface).
|
||||
|
||||
It is quite important that our changes do not modify or overwrite the user's existing credentials.
|
||||
|
||||
We evaluated several solutions:
|
||||
- Not using account identifiers, and accepting any existing identifiers that hit our server.
|
||||
- While most likely possible, it would be nice to not need to do so. Additionally for new clients, credentials we generate will not be accepted by Nintendo later.
|
||||
- Similar to the above, utilizing our own set of identifiers via the exposed JS APIs with custom value names.
|
||||
- This would prove complicated for similar reasons to the above.
|
||||
- Modifying the configuration file's name.
|
||||
- This is the most concise solution, and was chosen.
|
||||
|
||||
## Execution
|
||||
We replace the only instance of `ec.cfg` with `osc.cfg`, where OSC refers to the Open Shop Channel.
|
||||
|
||||
A similar change will be necessary for any DLC titles wishing to take advantage of the Open Shop Channel's backend.
|
@ -94,4 +94,5 @@ func applyDefaultPatches() {
|
||||
applyPatchSet("Load Custom CA within IOS", LoadCustomCA())
|
||||
applyPatchSet("Change Base Domain", PatchBaseDomain())
|
||||
applyPatchSet("Negate EC Title Check", NegateECTitle)
|
||||
applyPatchSet("Change EC Configuration Path", PatchECCfgPath)
|
||||
}
|
||||
|
11
patch_ec_cfg_path.go
Normal file
11
patch_ec_cfg_path.go
Normal file
@ -0,0 +1,11 @@
|
||||
package main
|
||||
|
||||
var PatchECCfgPath = PatchSet{
|
||||
Patch{
|
||||
Name: "Change EC Configuration Path",
|
||||
AtOffset: 3319968,
|
||||
|
||||
Before: []byte("ec.cfg\x00\x00"),
|
||||
After: []byte("osc.cfg\x00"),
|
||||
},
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user