PsmAndroidLoginCacheGenerator/KeyGeneratorMaven/src/main/java/org/example/Main.java
2024-04-19 18:32:49 +12:00

49 lines
3.3 KiB
Java

package org.example;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.security.*;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
public class Main {
public static void WriteTxtFile(String txtFile, String txt){
try {
System.out.println("Writing: "+txtFile);
FileWriter txtStream = new FileWriter(txtFile);
txtStream.write(txt);
txtStream.close();
} catch (IOException e) {
System.out.println("Failed to write file" + txtFile);
}
}
public static void main(String[] args) {
Security.addProvider(new BouncyCastleProvider());
if(args.length < 4) {
System.out.println("Usage: <android_id> <psm.apk uid> <email address> <password> <account_id>");
return;
}
StringEncryptor stringEncryptor = new StringEncryptor(args[0], Integer.parseInt(args[1]));
String emailAddress = args[2];
String password = args[3];
long accountId = Long.parseLong(args[4], 16);
new File("shared_prefs").mkdirs();
WriteTxtFile("shared_prefs/SigninInfo.xml", "<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n<map>\n<string name=\"SignedInUsername\">"+stringEncryptor.encryptString(emailAddress)+"\n</string>\n<boolean name=\"PassSave\" value=\"true\" />\n<string name=\"Password\">"+stringEncryptor.encryptString(password)+"\n</string>\n<boolean name=\"AutoSignIn\" value=\"true\" />\n</map>\n");
WriteTxtFile("shared_prefs/com.playstation.psstore_preferences.xml", "<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n<map>\n<boolean name=\"key_upgradeDownloadTableForNeedWifi\" value=\"true\" />\n<string name=\"last_signin_account_id\">"+stringEncryptor.encryptString(String.valueOf(accountId)) +"\n</string>\n<long name=\"last_signin_account_region\" value=\"2\" />\n<int name=\"key_psstore\" value=\"1\" />\n<int name=\"key_downloader\" value=\"1\" />\n<int name=\"psm_license_agree_version_code\" value=\"1170\" />\n<boolean name=\"key_notDisplayAgainEndOfSupportPreNavi\" value=\"true\" />\n<int name=\"key_xmlcache\" value=\"1\" />\n<string name=\"last_signin_account_country\">US</string>\n<boolean name=\"key_notDisplayAgainContentStartNavi\" value=\"true\" />\n<int name=\"key_startcontent\" value=\"1\" />\n<int name=\"key_nsxevent\" value=\"1\" />\n<boolean name=\"key_upgradeLibraryTableForLocationUseConfirmationDate\" value=\"true\" />\n<int name=\"key_install\" value=\"1\" />\n<string name=\"update_md5\">387ce7e424258aef426aaa5be8a1638a</string>\n<boolean name=\"psm_license_agree\" value=\"true\" />\n<int name=\"key_guestinfo\" value=\"1\" />\n<string name=\"last_signin_account_language\">en</string>\n<int name=\"key_cache\" value=\"2\" />\n<int name=\"key_signinfo\" value=\"2\" />\n</map>\n");
WriteTxtFile("shared_prefs/RunningContentInfo.xml", "<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n<map>\n<null name=\"title_id\" />\n<null name=\"next_title_id\" />\n</map>\n");
WriteTxtFile("shared_prefs/LocalLibrary.xml", "<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n<map>\n<boolean name=\"notDisplayAgain\" value=\"true\" />\n<int name=\"sortType\" value=\"0\" />\n<boolean name=\"isList\" value=\"false\" />\n</map>\n");
}
}