You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The internal settings are encrypted, so the values shown in the tool for these are garbage and inconsistent with the equivalent settings on a user profile. Further, if these are written back they will lose the internal setting flag, causing them to be treated as though they were not encrypted, effectively corrupting them.
A 2048 bit key is used, and the Setting ID is used to derive an offset into that key ((ID * 2) % 256) that is then XORed against the value. In the case of strings this is a byte by byte XOR, and in the case of DWORDs the key is read as a 32bit little-endian value from the correct offset and XORed against the value. If the end of the key is reached it wraps back to the start.
The internal settings are encrypted, so the values shown in the tool for these are garbage and inconsistent with the equivalent settings on a user profile. Further, if these are written back they will lose the internal setting flag, causing them to be treated as though they were not encrypted, effectively corrupting them.
A 2048 bit key is used, and the Setting ID is used to derive an offset into that key ((ID * 2) % 256) that is then XORed against the value. In the case of strings this is a byte by byte XOR, and in the case of DWORDs the key is read as a 32bit little-endian value from the correct offset and XORed against the value. If the end of the key is reached it wraps back to the start.
This script may be of interest to show how to decrypt these values:
https://raw.githubusercontent.com/DarkStarSword/3d-fixes/master/__profiles__/sanitise_nv_profiles.py
The text was updated successfully, but these errors were encountered: