Associate
I am trying to create a profile updater for the game Rocksmith2014. I want to make all tracks start at 100% difficulty, something that you now have to do manually one at a time.
I have got a routine that decrypts the users' profile form another project:
public static void DecryptProfile(Stream str, Stream outStream)
{
var source = EndianBitConverter.Little;
var dec = EndianBitConverter.Big;
str.Position = 0;
using (var decrypted = new MemoryStream())
using (var br = new EndianBinaryReader(source, str))
using (var brDec = new EndianBinaryReader(dec, decrypted))
{
//EVAS + header
br.ReadBytes(16);
uint zLen = br.ReadUInt32();
DecryptFile(br.BaseStream, decrypted, PCSaveKey);
//unZip
ushort xU = brDec.ReadUInt16();
brDec.BaseStream.Position -= sizeof(ushort);
if (xU == 30938)//LE 55928 //BE 30938
{
Unzip(brDec.BaseStream, outStream);
}//endless loop if not
}
}
https://github.com/rscustom/rocksmi...ithToolkitLib/DLCPackage/RijndaelEncryptor.cs
I need to write a routine that encrypts the profile once I have made changes to it, any ideas how to do that?
I have got a routine that decrypts the users' profile form another project:
public static void DecryptProfile(Stream str, Stream outStream)
{
var source = EndianBitConverter.Little;
var dec = EndianBitConverter.Big;
str.Position = 0;
using (var decrypted = new MemoryStream())
using (var br = new EndianBinaryReader(source, str))
using (var brDec = new EndianBinaryReader(dec, decrypted))
{
//EVAS + header
br.ReadBytes(16);
uint zLen = br.ReadUInt32();
DecryptFile(br.BaseStream, decrypted, PCSaveKey);
//unZip
ushort xU = brDec.ReadUInt16();
brDec.BaseStream.Position -= sizeof(ushort);
if (xU == 30938)//LE 55928 //BE 30938
{
Unzip(brDec.BaseStream, outStream);
}//endless loop if not
}
}
https://github.com/rscustom/rocksmi...ithToolkitLib/DLCPackage/RijndaelEncryptor.cs
I need to write a routine that encrypts the profile once I have made changes to it, any ideas how to do that?