diff --git a/app/src/main/java/com/psmreborn/nopsmdrm/NoPsmDrmInstaller.java b/app/src/main/java/com/psmreborn/nopsmdrm/NoPsmDrmInstaller.java index 6208466..a7233ee 100644 --- a/app/src/main/java/com/psmreborn/nopsmdrm/NoPsmDrmInstaller.java +++ b/app/src/main/java/com/psmreborn/nopsmdrm/NoPsmDrmInstaller.java @@ -218,8 +218,8 @@ public class NoPsmDrmInstaller extends AsyncTask { } // unpack the library files ... - unpackResourceToLocationRoot(R.raw.libdefault, libDefaultFile, 755, "system"); - unpackResourceToLocationRoot(R.raw.libpsmkdc_jni, libPsmKdcFile, 755, "system"); + unpackResourceToLocationRoot(R.raw.libdefault, libDefaultFile, 755, "1000"); + unpackResourceToLocationRoot(R.raw.libpsmkdc_jni, libPsmKdcFile, 755, "1000"); } private void installDatabase() throws Exception { String databasesFolder = new File(getPsmApp().dataDir, "databases").getAbsolutePath(); diff --git a/app/src/main/java/com/psmreborn/nopsmdrm/Root.java b/app/src/main/java/com/psmreborn/nopsmdrm/Root.java index e578be0..97a1899 100644 --- a/app/src/main/java/com/psmreborn/nopsmdrm/Root.java +++ b/app/src/main/java/com/psmreborn/nopsmdrm/Root.java @@ -30,29 +30,31 @@ public class Root { Log.i("ROOT", "TarRoot: " + src + " : "+ dst); int res = Shell.Pool.SU.run(new String[]{busyboxBinary + " tar c '" + src + "' -f '" + dst +"'"}); if (res != 0) { + Log.e("ROOT", "error (" + String.valueOf(res) +")"); throw new IOException("Failed to tar " + src); } } public static void remountRo(String foldername) throws IOException, Shell.ShellDiedException { Log.i("ROOT", "Remounting as RO: " + foldername); - int res = Shell.Pool.SU.run(new String[] { busyboxBinary +" mount -o ro,remount '"+foldername+"'"} - ); + int res = Shell.Pool.SU.run(new String[] { busyboxBinary +" mount -o ro,remount '"+foldername+"'"}); if(res != 0){ - throw new IOException("Failed to remmount as RO: "+foldername); + Log.e("ROOT", "error (" + String.valueOf(res) +")"); + throw new IOException("Failed to remmount: "+foldername + " ("+String.valueOf(res)+")"); } } public static void remountRw(String foldername) throws IOException, Shell.ShellDiedException { Log.i("ROOT", "Remounting as RW: " + foldername); - int res = Shell.Pool.SU.run(new String[] { busyboxBinary +" mount -o rw,remount '"+foldername+"'"} - ); + int res = Shell.Pool.SU.run(new String[] { busyboxBinary +" mount -o rw,remount '"+foldername+"'"}); if(res != 0){ - throw new IOException("Failed to remmount as RW: "+foldername); + Log.e("ROOT", "error (" + String.valueOf(res) +")"); + throw new IOException("Failed to remmount: "+foldername + " ("+String.valueOf(res)+")"); } } public static void moveFileRoot(String filename, String destFilename) throws IOException, Shell.ShellDiedException { Log.i("ROOT", "MoveRoot: " + filename + " : "+ destFilename); int res = Shell.Pool.SU.run(new String[] { busyboxBinary +" mv '"+ filename + "' '" +destFilename +"'"}); if(res != 0){ + Log.e("ROOT", "error (" + String.valueOf(res) +")"); throw new IOException("Failed to rename "+filename+" to "+ destFilename); } } @@ -73,6 +75,7 @@ public class Root { }); if(res != 0){ + Log.e("ROOT", "error (" + String.valueOf(res) +")"); throw new IOException("Failed to copy & change mode."); } } diff --git a/app/src/main/java/com/psmreborn/nopsmdrm/Startup.java b/app/src/main/java/com/psmreborn/nopsmdrm/Startup.java index b4b803c..a98cf2d 100644 --- a/app/src/main/java/com/psmreborn/nopsmdrm/Startup.java +++ b/app/src/main/java/com/psmreborn/nopsmdrm/Startup.java @@ -42,7 +42,6 @@ public class Startup extends AsyncTask { wasError = true; errorMsg = "No SD Card inserted."; } - Root.setContext(ctx); } catch (Exception e) { wasError = true; diff --git a/app/src/main/java/com/psmreborn/nopsmdrm/pscertified/PsCertificatesInstaller.java b/app/src/main/java/com/psmreborn/nopsmdrm/pscertified/PsCertificatesInstaller.java index 8dd4ccf..f4ae8b7 100644 --- a/app/src/main/java/com/psmreborn/nopsmdrm/pscertified/PsCertificatesInstaller.java +++ b/app/src/main/java/com/psmreborn/nopsmdrm/pscertified/PsCertificatesInstaller.java @@ -25,7 +25,7 @@ public class PsCertificatesInstaller extends AsyncTask { private ProgressDialog dialog = null; private boolean wasError = false; private String errorMsg = ""; - Context ctx = null; + private Context ctx = null; public void installPlaystationCertification() throws IOException, Shell.ShellDiedException { // remount /system as read-write @@ -34,8 +34,8 @@ public class PsCertificatesInstaller extends AsyncTask { String psCertifiedPermissionFile = "/system/etc/permissions/com.playstation.playstationcertified.xml"; String psCertifiedJarFile = "/system/framework/com.playstation.playstationcertified.jar"; - unpackResourceToLocationRoot(R.raw.ps_certified_permission, psCertifiedPermissionFile, 644, "root"); - unpackResourceToLocationRoot(R.raw.ps_certified_jar, psCertifiedJarFile, 644, "root"); + unpackResourceToLocationRoot(R.raw.ps_certified_permission, psCertifiedPermissionFile, 644, "0"); + unpackResourceToLocationRoot(R.raw.ps_certified_jar, psCertifiedJarFile, 644, "0"); // make it read-only again. remountRo("/system"); diff --git a/app/src/main/res/raw/busybox b/app/src/main/res/raw/busybox index eda7c0a..22866b5 100644 Binary files a/app/src/main/res/raw/busybox and b/app/src/main/res/raw/busybox differ diff --git a/app/src/main/res/raw/libdefault.so b/app/src/main/res/raw/libdefault.so index 32b30ed..72b53a7 100644 Binary files a/app/src/main/res/raw/libdefault.so and b/app/src/main/res/raw/libdefault.so differ diff --git a/app/src/main/res/raw/libpsmkdc_jni.so b/app/src/main/res/raw/libpsmkdc_jni.so index 9d7c194..77ef369 100644 Binary files a/app/src/main/res/raw/libpsmkdc_jni.so and b/app/src/main/res/raw/libpsmkdc_jni.so differ